@charset "utf-8";
/* CSS Document */

body{
	background: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    /*font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;*/
    font-size: 20px;
    line-height: 1.4;
}

/*-- ↓PC版表示CSS↓  --*/
.pc_area{
  display:block;
}
.sp_area{
  display:none;
}


.pc_br{
    display: inline-block;
  }

.sp_br{
    display: none;
  }
/*-- ↑PC版表示CSS↑  --*/

/*------------------------------------------------------------
	PC　コンテンツ 全体ボックス（すべて共通）
------------------------------------------------------------*/


#contents_box:after {
    content: "";
    display: table;
    clear: both;
}


#contents_box img {
	display: block;
	margin: 0px auto;
	padding: 0px;
}



/*------------------------------------------------------------
	PC　コンテンツ背景
------------------------------------------------------------*/

.bg_white {
    background: rgba(255, 255, 255, 1);
    padding: 0px;
    margin: 0px;
}

.bg_mayor {
    background: url("../img/bg_image/hokkubara_bg_03-min.jpg") no-repeat top center;
    padding: 0px;
    margin: 0px;
}

.bg_eedca0 {
    background: rgba(238, 220, 160, 0.2); 
    padding: 0px;
    margin: 0px;
}

.bg_iamge_toppage_01 {
    background: url(../img/bg/bg.jpg) center top repeat;
    padding: 50px 0 0 0;
       /* padding: 0px; 元状態*/
    margin: 0px;
    background-position: right 100% bottom 0%;
    background-color:rgba(255,255,255,0.5);
    background-blend-mode:lighten;
    background-size: 20% auto;
}

.bg_iamge_toppage_02 {
    background: url(../img/bg/bg_02.png) center top repeat;
    padding: 50px 0 0 0;
       /* padding: 0px; 元状態*/
    margin: 0px;
    background-position: right 100% bottom 0%;
    background-color:rgba(255,255,255,0.1);
    background-blend-mode:lighten;
    background-size: 5% auto;
}

/*------------------------------------------------------------
	PC　a　テキスト要素
------------------------------------------------------------*/

a {
    color: #444;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus,
a:active {
    color: #444;
    text-decoration:underline;
    outline: none;
}

a.anchor{
    display: block;
    padding-top: 50px;
    margin-top: -50px;
}

a.anchor_02{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}



/*------------------------------------------------------------
	PC　コンテンツ pc_inn
------------------------------------------------------------*/

.pc_inn:after {
    content: "";
    display: table;
    clear: both;
}


@media only screen and (min-width: 1120px) {
    .pc_inn {
        width: 1120px;
        margin: 0 auto;
    }
}

/*------------------------------------------------------------
　　hero スライダー 
------------------------------------------------------------*/
.hero{
	max-height: auto;
	overflow: hidden;
}
.hero img{
	height: auto;
	width: 100%;
}




/*------------------------------------------------------------
	PC　ヘッダー 
------------------------------------------------------------*/
.pc_header{
	display: flex;
	padding: 0px;
	position: absolute;
	justify-content: space-between;
	width: 100%;
	z-index: 999;
}
.pc_header.fixed{
	position: fixed;
    top: 25px;
	/*top: 0px; コメント非表示時*/
}

.header_topline{
    display: flex;
    justify-content: space-between;
    position: fixed;
    top: -30px;
    transition: .5s;
    width: 100%;
    margin: 0px 0px;
    padding: 2px 0px;
    border-bottom: 1px solid #e3ddd1;
    background: rgba(255, 255, 255, 1);
}

.header_topline.show{
    top: 0px;
    /*top: -25px; コメント非表示時*/
}


.header_topline_box {
    width: 1120px;
    height: 20px;
    line-height: 20px;
    font-size: 80%;
    margin: 0 auto;
    color: #444;
    letter-spacing: 0.05em;
    text-align: right;
}

.header_topline_box h1{
    font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    color: #444;
	font-size: 100%;
    font-weight: bold;
}


/*------------------------------------------------------------
	PC　ヘッダー  サブページ
------------------------------------------------------------*/


.pc_header_subpage{
	display: flex;
	padding: 0px;
	justify-content: space-between;
	width: 100%;
	z-index: 999;
	position: fixed;
    top: 25px;
	/*top: 0px; コメント非表示時*/
}



.pc_header_subpage_mailform{
	display: flex;
	padding: 0px;
	justify-content: space-between;
	width: 100%;
	z-index: 999;
	/*position: fixed;*/
    top: 25px;
	/*top: 0px; コメント非表示時*/
}


.header_topline_subpage.show{
    top: 0px;
    /*top: -25px; コメント非表示時*/
}


.header_topline_subpage_mailform.show{
    top: 0px;
    /*top: -25px; コメント非表示時*/
}




.header_topline_subpage{
    display: flex;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    transition: .5s;
    width: 100%;
    margin: 0px 0px;
    padding: 2px 0px;
    border-bottom: 1px solid #e3ddd1;
    background: rgba(255, 255, 255, 1);
}


.header_topline_subpage_mailform{
    display: flex;
    justify-content: space-between;
    /*position: fixed;*/
    top: 0px;
    transition: .5s;
    width: 100%;
    margin: 0px 0px;
    padding: 2px 0px;
    border-bottom: 1px solid #e3ddd1;
    background: rgba(255, 255, 255, 1);
}


/*-------------------------------------------------------------
	PC　ペイント症状
--------------------------------------------------------------*/

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 20px 0px 30px 10px;
  padding: 15px 10px;
  min-width: 1100px;
  max-width: 100%;
  background: #e0edff;
  border-radius: 15px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
}

.balloon1 p {
  margin: 0;
  padding: 0;
  text-align: center;
  color: #222;
  font-size: 26px;
  font-weight: bold;
}




.paint_allbox{
    float: left;
    width: 1120px;
    margin: 0px auto 100px auto;
    padding: 60px 0 0 0;
    background: url("../img/bg/bg_02.png") center top repeat;
    background-position: right 100% bottom 0%;
    background-color:rgba(255,255,255,0.5);
    background-blend-mode:lighten;
    background-size: 20% auto;
}


.paint_info {
    width: 300px;
    max-width: 300px;
    position:relative;
    float: left;
    margin: 0 0px 80px 30px;
    padding: 0 0 20px 0;
    border: 15px solid #f4f0e6;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.4);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
}


p.paint_sub_title {
    margin: 15px 0 5px 0;
    color: #422b26;
    font-size: 22px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

p.paint_sub_title_txt {
    margin: 0px 20px 0px 10px;
    color: #333;
    font-size: 15px;
    text-align: justify;
}


.paint_info img{
    width: 300px;
    max-width: 300px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

.paint_info img:hover{
  transform:scale(1.07,1.07);
  transition:1s all;
}


@-webkit-keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}







/*------------------------------------------------------------
	PC　パンクズリスト
------------------------------------------------------------*/

#pankuzu {
    margin: 250px auto 0px auto;
    padding: 0px;
    background: rgba(255, 255, 255, 1);
    line-height: 1.6;
}


.pankuzu_box {
    width: auto;
    margin: 0 auto;
}


.pankuzu_list *, .pankuzu_list *:after, .pankuzu_list *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.pankuzu_list {
	margin: 10px auto;
	padding: 12px 0px 12px 0px ;
	background-color: #fff;
	color: #fff;
}

.pankuzu_list a {
	text-decoration: underline;
	color: #444;
    font-size: 100%;
    margin: 0px 5px 0px 0px;
}

.pankuzu_list a:hover,
.pankuzu_list a:focus,
.pankuzu_list a:active {
    text-decoration:none;
}

.pankuzu_list .pankuzu_ul {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.pankuzu_list li {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	color: #444;
}
.pankuzu_list li::before {
	content: '›';
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1.6em;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.pankuzu_list li:last-child {
	margin-right: 0;
	padding-right: 0;
	color: #444;
    text-decoration: none;
    font-size: 100%;

}
.pankuzu_list li:last-child::before {
	content: normal;

}
.pankuzu_home a {
    padding-left: 2px
}

/*------------------------------------------------------------
	PC　サブページ：メインタイトル（テキストor画像）　
------------------------------------------------------------*/

/*▼シンプルバージョン▼ */
/*
#subpage_main_title {
  padding: 0.85em 0.5em;
  color: #444;
  background: transparent;
  border-left: solid 5px #5f6baf;
  margin: 20px 0 0 20px;
  font-size: 20px;
}
*/

#subpage_main_title {
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: #444;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #3c78c8;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  margin: 15px 0 0 0px;
  font-size: 20px;
    font-weight: bold;
}

#subpage_main_title_event {
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: #444;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #0d5dd2;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  margin: 15px 0 0 0px;
  font-size: 20px;
}




.subpage_main_title {
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: #444;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #003311;/*左線*/
  border-bottom: solid 3px #d7d7d7;/*下線*/
  margin: 80px 0 0 0px;
  font-size: 20px;
font-weight: bold;
}

/*-------------------------------------------------------------
	PC　タイトル見出し/トップページ「コンテンツ一般」
--------------------------------------------------------------*/


.toppage_title_box {
  margin: 0px auto 30px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  max-width     : 1100px;                /* BOXの最大幅          */
  height        : 60px;                /* BOXの高さ            */
  padding       : 12px;                 /* 文字の位置合わせ     */
  font-size     : 32px;                 /* 文字サイズ           */
  text-align    : center;               /* 文字位置             */
  color         : #3c78c8;              /* 文字色               */

  border-top    : 0px double #422b26;   /* 枠線の指定（上）     */
  border-bottom : 0px double #422b26;   /* 枠線の指定（下）     */
  border-radius : 1px;                  /* 角丸の指定           */
}

/*タイトルに英字と日本語表示をする場合：現状：空白で非表示*/
.toppage_title_box:before{
  font-size     : 34px;
  content: attr( data-title );
}


.main_title {
    display: inline-block;
    margin: 0 auto 30px auto;
    border-bottom: 3px solid #333333;
    font-size: 32px;
    line-height: 1.5em;
    color: #333333;
    text-align: center;
}



/*=====================================================
	　PC個別ページ　レスポンシブ
=====================================================*/


/*-------------------------------------------------------------
	PC　タイトル見出し/トップページ
--------------------------------------------------------------*/


.toppage_top_title{
    margin: 0px auto 0px auto;
    /*margin: 50px auto 0px auto; ニュース表示時*/
    padding: 0px 0 0 40px;
    /*padding: 150px 0 0 40px; 元*/
    font-size: 25px;
    font-weight: bold;
    color: #444;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 2px;
    text-align:left;
}

.toppage_top_title_02{
        width: 620px;
    margin: 15px 0 10px;
    padding: 0 0 30px 40px;
    font-size: 16px;
    line-height: 150%;
    color: #222;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 2px;
    text-align:left;
    /*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;*/
}

.toppage_top_title_03{
    width: 620px;
    margin: 15px 0 10px;
    padding: 0 0 50px 40px;
    font-size: 16px;
    line-height: 150%;
    color: #222;
    transition: top 0.5s;
    letter-spacing: 2px;
    text-indent: 2px;
    text-align:left;
    /*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;*/
}

span.red{
	margin: 0 0 5px 0px;
	font-size: 115%;
	font-weight: bold;
	color: #C90000;
}



.toppage_top_title_linkbox a.button {
    float: left;
    width: 200px;
    height: 50px;
    line-height: 50px;
    margin: 0 0 250px 60px;
    /*margin: 0 0 160px 60px;　元スペースあり*/
    padding: 10px;
    display: block;
    text-decoration: none;
    color: #444;
    background-color: #fff;
    font-size: 20px;
    letter-spacing: 0.2em;
    font-weight: bold;
    text-align: center;
    border: 2px solid #aaa;
}

.toppage_top_title_linkbox a:hover.button {
    text-decoration: underline;
    color: #fff;
    background: rgba(60,120,200,0.8);
    opacity: 1;
    -webkit-animation: flash 0.6s;
    animation: flash 0.6s;
}

.paint_image {
	position: relative;
	width: 1120px; /* 任意 */
	height: 0px; /* 任意 */
}
.block {
	position: absolute;
	top: 50px; /* #contents内の上から何pxか */
	left: 700px; /* #contents内の左から何pxか */
}








/*タイトル*/
.event_title {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 250px;
  border: 1px solid #222;
  font-size: 32px;
  font-size: 2rem;
  margin: 20px 0 40px 0;

}

.event_title:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 300px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: rgba(13,93,210,0.85);
}

.event_title span {
  font-size: 38.4px;
  font-size: 2.4rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 15px;
  padding-left: 22px;
  color: #fff;
}


/*　div要素全体リンク*/
.event_category_all_box_1col {
    width: 700px;
    height: 100%;
    float: left;
    position: relative;
    margin: 0 0px 40px 15px;
    padding: 0 10px 10px 0px;
    border: 0px solid #0d5dd2;
    border-radius : 1px;
}

.event_category_all_box_2col {
    width: 300px;
    height: auto;
    float: left;
    position: relative;
    margin: 0 50px 40px 5px;
    padding: 0 10px 10px 0px;
    border: 0px solid #0d5dd2;
    border-radius : 1px;
}


.event_category_all_box_1col a,
.event_category_all_box_2col a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}


.event_title_box {
  margin: 0px 0 15px 0;
  width: 95%;
  position: relative;
  display: inline-block;
  padding: 15px 0px 15px 30px;
  background-color: #d9c489;
  border: 0px solid #333;
  color: #444;
  text-align: left;
  font-size: 120%;
  font-weight: bold;
  text-decoration: none;
  transition: all .3s;
}

.event_title_box::after {
  position: absolute;
  top: 50%;
  left: 15px;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color: #910202;
  transition: all .3s;
}
.event_title_box:hover {
  background-color: #d9c489;
  color: #333;
}
.event_title_box:hover::after {
  border-left-color: #910202;
}


.event_title_box_02 { 
    margin: 5px 0 20px 0;
    padding: 15px;
    text-align: left;
    font-size: 120%;
    letter-spacing: 0.8px;
    color: #444;
    font-weight: bold;
    background-color: #d9c489;
}


.event_image_box {
    margin: 5px 0 0 0;
    padding: 0px;
	float: left;
}

.event_image_box_pic {
	width:90%;
    height: auto;
    margin: 0px 0px 0px 5px;
}

.event_image_box_pic img {
	width: 100%;
    border-radius: 4px;
    margin: 20px 0px 0 0;
}


.event_category_all_box_2col:hover img {
  opacity: 1;
  -webkit-animation: flash 0.4s;
  animation: flash 0.4s;
}


@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}


.pc_content_box750 p.event_txt {
    margin: 10px 0px 0px 10px;
    padding: 0px;
    float:left;
    width: 85%;
    font-size: 100%;
    letter-spacing: 0.5px;
}

/*=====================================================
	　施工事例・実績タイトルレスポンシブ
=====================================================*/

.works_box {
        float:left;
        margin: 50px auto 100px auto;
    padding: 0px;
    width: 100%;
}

.works_data {
    width: 100%;
    float:left;
    margin: 10px auto;
    padding: 0px;
}



.works_title {
  position: relative;
  padding: 1.5rem;
  font-size: 120%;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
    width: 86%;
    margin: 0 auto;
}

.works_title:before,
.works_title:after {
  position: absolute;
  content: '';
}

.works_title:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}

.works_title:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.works_title i {
  font-size: 30px;
  font-size: 3rem;
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 60px;
  text-align: center;
}

.works_title span {
  position: relative;
  z-index: 1;
}



.works_data_text{
    float:left;
    width: 900px;
    height: auto;
    margin: 0px auto;
    padding: 0px 0px 0px 90px;
}

.works_data_title {
        width: 850px;
        margin: 50px auto 30px auto;
    float: left;
  padding: 1rem 2rem;
  border-top: 3px dotted #000;
  border-bottom: 3px dotted #000;
}


.works_comment{
       width:  800px;
        float: left;
      border-bottom: 3px solid #444;
        margin: 0px auto 0 50px;
      padding: 0.5rem 0rem;
      font-size: 120%;
}

.works_comment_text{
           width:  800px;
        float: left;
          font-size: 100%;
            margin: 0px auto 0 50px;
          padding: 0.5rem 0rem;
}



.works_before_after{
	max-height: 500px;
	overflow: hidden;
}

.works_before_after img{
  padding: 130px 0 0 0;
  width: 500px;
  height: auto;
  max-width: 500px;
  max-height: 500px;

}







/*=====================================================
	　PC　テーブルレスポンシブ
=====================================================*/

.adobe_download {
  margin: 0px;
  width: 95%;
  position: relative;
  display: inline-block;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #666;
  color: #444;
  text-align: left;
  font-size: 90%;
  font-weight: normal;
}
.adobe_download a{
    color: #444;
    text-decoration: underline;
}

.adobe_download img{
    width: 50%;
    max-width: 150px;
    float:left;
}

p.pdflink {
    margin: 10px 10px 50px 10px;
}

p.pdflink a.public {
    display: inline-block;
    padding: 5px 0 5px 40px;
    background: url("../img/logo_pdf.png") no-repeat left top;
}

a.public{
    color: #039;
    text-decoration: underline;
    cursor: pointer;
}

a.public:hover {
    text-decoration: none;
}




/*=====================================================
	　PCトップページ　テーブルレスポンシブ
=====================================================*/

.group_box{
	margin: 50px auto 0px;
	background: #fff;
}


table.table01 {
	width:1100px;
	border-right:#666 solid 1px;
	border-collapse: collapse;
    margin: 0 auto 100px auto;
}
table.table01 thead th {
	background: #FFB464;
	color:#222;
    font-size: 100%;
	padding:30px 5px;
    border-top:#666 solid 1px; 
    border-left:#666 solid 1px;
	border-right:#666 solid 1px;
	border-bottom:#666 solid 1px;
    text-align: center;
}
table.table01 .thbox01{
    width: 40%;
}
table.table01 .thbox02{
    width: 15%;
}
table.table01 .thbox03{
    width: 15%;
}
table.table01 .thbox04{
    width: 30%;
}

table.table01 .thbox05{
    width: 40%;
}
table.table01 .thbox06{
    width: 60%;
}


table.table01 thead th:last-child {
	border-right:#666 solid 1px;
}

table.table01 tbody th {
    border-left: #666 solid 1px;
    border-bottom: #666 solid 1px;
    padding: 20px 5px 20px 15px;
    vertical-align: bottom;
    font-size: 120%;
    font-weight: bold;
    text-align: left;

}
table.table01 tbody th a {
    text-decoration: none;
}
table.table01 tbody th a:hover {
    text-decoration: underline;
}




table.table01 tbody tr:last-child th {
	border-bottom:#666 solid 1px;
}
table.table01 tbody td {
	background:#FFF;
	padding:5px 15px;
	border-left:#666 solid 1px;
	border-bottom:#666 solid 1px;
	vertical-align:middle;
    border-right:#666 solid 1px;
}

table.table01 tbody td p {
    font-size: 120%;
    font-weight: bold;
    margin: 5px 0 5px 0;
}

table.table01 tbody td a {
    color: #422b26;
    font-weight: bold;
    text-decoration: underline;
}
table.table01 tbody td a:hover {
    text-decoration: none;
}


table.table01 tbody td p.group_comment_hosoku {
        font-size: 85%;
}
table.table01 tbody td p.group_comment_hosoku a {
text-decoration: underline;
}

table.table01 tbody td p.group_comment_hosoku a:hover {
text-decoration: none;
}

p.group_second {
    font-weight: normal;
    font-size: 80%;
    margin: 5px 0 0 28px;
}

/*------------------------------------------------------------
	　フレーム表示 レスポンシブ　pc版
------------------------------------------------------------*/
.iframe-wrap {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow:auto; 
  -webkit-overflow-scrolling:touch;
}

.iframe-wrap iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:750px;
    border:none;
    display:block;
}


/*=====================================================
	　PC個別ページ　レスポンシブ
=====================================================*/
#sub_main_box{
    float: left;
    width: 800px;
    height: auto;
    margin: 20px 0 0 10px;
    border-right :solid 1px #c2c2c2;

}

#sub_main_box_3col{
    float: left;
    width: 1100px;
    height: auto;
    margin: 20px 0 0 10px;
    border-right :solid 0px #c2c2c2;

}

.pc_content_box750 {
    width: 750px;
    margin: 10px 0px 0px 10px;
    padding: 0px 0px 0px 0px;
}

.pc_content_box750 p {
    margin: 5px 15px 30px 25px;
    padding: 0px;
}

.pc_content_box750 p.margin_none {
    margin: 5px 0px 0px 10px;
    padding: 0px;
}

.pc_content_box750 h2 {
  padding: .25em 0 .25em .15em;
  border-bottom: 5px solid rgba(63, 121, 202, 0.9);
　margin: 10px 30px 10px 0;
  font-size: 120%;
}

.pc_content_box750 h3 {
    line-height: 85%;
    margin: 20px 0 15px 10px;
    padding: .25em 0 .25em .55em;
    font-size: 100%;
    border-left: 5px solid rgba(63, 121, 202, 0.9);
}

.pc_content_box1100 {
    width: 1100px;
    margin: 10px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}

.pc_content_box1100 p {
    margin: 5px 0px 30px 25px;
    padding: 0px;
}

.pc_content_box1100 p.margin_none {
    margin: 5px 0px 0px 10px;
    padding: 0px;
}

.pc_content_box1100 h2 {
  padding: .25em 0 .25em .15em;
  border-bottom: 5px solid rgba(63, 121, 202, 0.9);
　margin: 10px 30px 10px 0;
  font-size: 120%;
}

.pc_content_box1100 h3 {
    line-height: 85%;
    margin: 20px 0 15px 10px;
    padding: .25em 0 .25em .55em;
    font-size: 100%;
    border-left: 5px solid rgba(63, 121, 202, 0.9);
}

.service_image_box{
    width: 750px;
    margin: 0 auto 0 20px;
    content: "";
    display: table;
    clear: both;
}


.service_image_sub {
    float:left;
    width: 300px;
    height: auto;
    margin: 10px 40px 0px 0px;
    padding: 0px;
	border: 1px solid #666;
}

.service_image_sub img {
    width:100%;
}

.service_image_sub .image_txt {
    text-align: center;
    margin: 0px;
    padding: 0px;
    font-size: 85%;
}

/* photo　拡大アイコン */
.service_image_sub {
  position: relative;
  }/*親div*/

.service_image_sub .fa {
  position: absolute;
  top: 88%;
  left: 90%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  color: rgba(0, 0, 0, 0.7);
  font-size: 30px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius:  4px;
  }



.service_image_sub_title {
    float:left;
    width: 250px;
    height: auto;
    margin: 5px 0 5px 10px;
    padding: 0px;
}


/* 紹介動画（youtube埋め込み） */
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}




/* 一覧へ戻るボタン */
.subpage_back_button {
  position: relative;
  display: inline-block;
  padding: 1.3em 4em;
  background: rgba(63, 121, 202, 0.9);
  border: 2px solid rgba(63, 121, 202, 0.9);
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: all .3s;
  width: 500px;
  margin: 70px 20px 0;
  font-size: 120%;
}
.subpage_back_button::after {
  position: absolute;
  top: 50%;
  right: 1.7em;
  content: '';
  margin-top: -10px;
  border: 12px solid transparent;
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-color: #fff;
  transition: all .3s;
}
.subpage_back_button:hover {
  background-color: #fff;
  color: rgba(63, 121, 202, 0.9);
}
.subpage_back_button:hover::after {
  border-left-color: rgba(63, 121, 202, 0.9);
}


/*------------------------------------------------------------
	イベント　PC個別ページ　 右サイドボックス
------------------------------------------------------------*/
#sub_side_box{
    float: left;
    width: 275px;
    height: auto;
    margin: 50px 0 0 25px;
    

}

.my-parts {
	border: 1px solid #666;
	text-align: left;
	border-radius: 0px;
	overflow: hidden;
    background: #fff;
}
.my-parts-title {
	color: #fff;
	background: #666;
	padding: .8em .8em;
	font-weight: bold;
}
.my-parts ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.my-parts ul li {
	padding: 0;
	margin: 0;
    position: relative;
}

.my-parts ul li a {
	color: #444;
	font-weight: bold;
	text-decoration: none;
	display: block;
	padding: .7em 1.2em;
	border-bottom: 1px dotted #666;
}
.my-parts ul li:last-child a {
	border: none;
}

.my-parts ul li a:hover {
    background: rgba(13, 93, 210, 0.2);
    opacity: 1;
    -webkit-animation: flash 0.5s;
    animation: flash 0.5s;
}

   

.arrow {
    background-image: url("../img/icon/side_arrow.png");
    background-size: 14px 20px;
    background-repeat: no-repeat;
    background-position: 0 0;
    position: absolute;
    width: 14px;
    height: 20px;
    top: 12px;
    right: 15px;
}




/*------------------------------------------------------------
	Ｑ＆Ａアコーディオン　レスポンシブ（pc)
------------------------------------------------------------*/
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 30px auto 2px;
	color: #fff;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
	line-height: 5;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
    background: rgba(60,120,200,0.7);
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333;
	background: rgba(242,242,242,1);
}
.cp_actab .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 20em;
}
/* Icon */
.cp_actab label::after {
	line-height: 4;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}



/*------------------------------------------------------------
	アクセス概要　
------------------------------------------------------------*/
.access_box {
    margin: 20px 0 0 0;
}


.main_photo{
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}


h2.sub_box_maintitle_02  {
  padding: .25em 0 0 .25em;
  border-bottom: 0px solid rgba(63, 121, 202, 0.9);
　margin: 10px 30px 0px 0px;
  color: #444;
  font-size: 130%;
}

h2.sub_box_maintitle_02 .fa{
    color: #444;
}


/*　基本情報*/


.tbl-branch {
    width: 100%;
    margin: 0px auto 0 auto;
}

.tbl-branch th {
  background: #f0f0f0;
  border: solid 1px #ccc;
  color: #444;
  padding: 12px 10px 15px 10px;
  vertical-align: middle;
}

.tbl-branch td {
  background: #fff;
　border: solid 10px #ccc;
  padding: 10px 10px 10px 10px;

}
.tbl-branch a {
    text-decoration: underline;
    
}
.tbl-branch a:hover {
    text-decoration: none;
    
}


.tbl-branch .line {
    border: solid 1px #ccc;
}

.tbl-branch .line_tell {
    border: solid 1px #ccc;
}

.tbl-branch .line_tell a {
    color: #0E1BBB;
}

.tbl-branch .line_url {
    border: solid 1px #ccc;
    font-size: 90%;
}

.branch_tell_comment {
    margin-top: 5px;
    padding-top: 3px;
    border-top: 2px dashed #d2c8b2;   /* 枠線の指定（上）     */
    border-radius : 1px;                  /* 角丸の指定           */
    font-size: 80%;
}



/*　ギャラリー*/
/* マウスオーバー　マスク処理 */

.works_ba_image_box{
    float:left;
    width: 1120px;
    height: auto;
    margin: 0px auto;
    padding: 0px 0px 0 100px;
}

.servicelink{
    width:400px;
    position:relative;
    float: left;
    margin: 50px 0px 20px 0px;
    letter-spacing: 0.1em;
}

.servicelink div.nomal{
    position:absolute;
    width:150px;
    font-size: 150%;
    text-align:left;
    color:#fff;
}

.servicelink div.mask {
	width:			120px;
	height:			11%;
	position:		absolute;	/* 絶対位置指定 */
	top:			89%;/* ライフロード改造値 */
	opacity:		1;	/* マスクを表示しない0 表示する1 */
	background-color:	rgba(200,200,200,0.5);	/* マスクは半透明 */
    padding: 0px 0 0 10px;
}

.servicelink div.on_hover{
    position:absolute;
    font-size: 150%;
    text-align:left;
    color:#fff;
	width:			120px;
	height:			11%;
	top:			89%;/* ライフロード改造値 */
	opacity:		1;	/* マスクを表示しない0 表示する1 */
	background-color:	rgba(200,200,200,0.5);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
    padding: 0px 0 0 10px;
}


.servicelink div.mask_02 {
	width:			120px;
	height:			11%;
	position:		absolute;	/* 絶対位置指定 */
	top:			89%;/* ライフロード改造値 */
	opacity:		1;	/* マスクを表示しない0 表示する1 */
	background-color:	rgba(180,160,20,0.6);	/* マスクは半透明 */
    padding: 0px 0 0 10px;
}


.servicelink div.on_hover_02{
    position:absolute;
    font-size: 150%;
    text-align:left;
    color:#fff;
	width:			120px;
	height:			11%;
	top:			89%;/* ライフロード改造値 */
	opacity:		1;	/* マスクを表示しない0 表示する1 */
	background-color:	rgba(180,160,20,0.6);	/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition:		all 0.2s ease;
    padding: 0px 0 0 10px;
}


.servicelink a{
    display:block;
}

.servicelink .fa{
    font-size: 100%;
    margin: 0px 0 0 10px;
}

/* 通常時はホバー時の文字を非表示にする */
a .on_hover{
display: none;
}
a .on_hover_02{
display: none;
}

/* ホバー時は通常時の文字を非表示にする */
a:hover .nomal{
    display: none;
}

/* ホバー時に、ホバー時の文字を表示する */
a:hover .on_hover{
    display: inline;
}
a:hover .on_hover_02{
    display: inline;
}


.servicelink img{
    width:400px;
}

.servicelink:hover img {
  opacity: 1;
  -webkit-animation: flash 0s;
  animation: flash 0s;
}

/*CSSのみ矢印表示（パソコン版）*/
.works_arrow_right {
  display: inline-block;
  position: relative;
  margin: 180px 30px 0px 30px;
  float: left;
  font-size: 250%;
}




@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}


/* アクセスマップ     */

#access_map {
        width: 95%;
    margin: 20px auto 0 auto;
}
#access_map p {
    font-family: "Times New Roman", Times, "serif";
    font-size: 2.2vw;
    color: #444;
    width: 100%;
    max-width: 1120px;
    text-align: center;
    margin: 50px auto 20px;
}


#access_map iframe {
        width: 100%;
    margin: 0 auto;

}

.mapbox{
    margin: -25px -220px 0px 220px;
    width: 150px;
}


a.anchor{
    display: block;
    padding-top: 50px;
    margin-top: -50px;
}



/*------------------------------------------------------------
　パソコン　お知らせ一覧　
------------------------------------------------------------*/

.news_title_itiran {
    width: 98%;
    font-size: 150%;
    margin: 10px auto 0px auto;
    padding: 5px 0px 5px 10px;
  color: #3c78c8;
  text-shadow: 0 0 5px white;
  background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
  background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
}


.news-box_itiran {
    width: 100%;
}

.news-box_itiran ul {
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 5px;
}

.news-box_itiran li {
    list-style: none;
    display: list-item;
    margin: 5px 0px 0px 12px;
    
}


.news-list_itiran {
    border-bottom: 0px solid #e5e5e5;
    padding: 5px 0 25px 0px;
}

.news-date_itiran {
    color: #3e3e3e;
    font-size: 100%;
    font-weight: bold;
    margin-left: 0px;
}

.news-txt_naiyou_itiran {
    margin: 0px 0px 50px 0px;
    width: 90%;
    line-height: 1.4;
    padding: 0px 0 10px 0;
    border-bottom: 2px dashed #e5e5e5;
}

.news-box_itiran a:hover {
    text-decoration: underline;
}

.news-txt_naiyou_itiran a {
    text-decoration: underline;
    color: #333;
}

.news-txt_naiyou_itiran a:hover {
    text-decoration: none;
}

a.news_naiyou_button {
    width:300px;
    height: 35px;
    line-height: 35px;
    margin: 2px 0 20px;
    padding: 10px;
    display: block;
    text-decoration: none;
    color: #444;
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    border: 2px dashed #aaa;
}


a.news_naiyou_button:hover {
    text-decoration: none;
    color: #fff;
    background: rgba(13,93,210,0.8);
    opacity: 1;
    -webkit-animation: flash 0.6s;
    animation: flash 0.6s;
}


.new_mark{
    padding-left: 10px;
    font-size: 80%;
  animation: blinkAnime 0.8s infinite alternate;
}
@keyframes blinkAnime{
   0% { color: #0d5dd2 }
 100% { color: rgba(13, 93, 210, 0.50) }
}




/*=====================================================
	PC　お問い合わせ　電話/FAX　レスポンシブ
=====================================================*/
p.contact_txt{
  font-size: 150%;
  margin: 0px 0px 10px 25px;
}
p.contact_txt a{
  font-size: 100%;
    color: #000000;
}

p.contact_txt_02{
  font-size: 100%;
 margin: 0px 40px 7px 40px;
}


/*------------------------------------------------------------
　PC	サイトマップ
------------------------------------------------------------*/

.sitemap_all_box {
    float: left;
    width: 1080px;
    margin: 10px auto 20px 20px;
}

.sitemap_con_box{
    float: left;
    width: 300px;
    height: auto;
    margin: 50px 50px 0px 0px;
}

.my-parts {
	border: 1px solid #666;
	text-align: left;
	border-radius: 0px;
	overflow: hidden;
    background: #fff;
}
.my-parts-title {
	color: #fff;
	background: #666;
	padding: .8em .8em;
	font-weight: bold;
}
.my-parts ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.my-parts ul li {
	padding: 0;
	margin: 0;
    position: relative;
}

.my-parts ul li a {
	color: #444;
	font-weight: bold;
	text-decoration: none;
	display: block;
	padding: .7em 1.2em;
	border-bottom: 1px dotted #666;
}
.my-parts ul li:last-child a {
	border: none;
}

.my-parts ul li a:hover {
    background: rgba(13, 93, 210, 0.2);
    opacity: 1;
    -webkit-animation: flash 0.5s;
    animation: flash 0.5s;
}

.arrow {
    background-image: url("../img/icon/side_arrow.png");
    background-size: 14px 20px;
    background-repeat: no-repeat;
    background-position: 0 0;
    position: absolute;
    width: 14px;
    height: 20px;
    top: 12px;
    right: 15px;
}

/*------------------------------------------------------------
　　対応エリア
------------------------------------------------------------*/

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

.area_box img{
    float: left;
    width: 65%;
}


.area_box p.bold{
    float: left;
    width: 30%;
    margin: 0 0 0 30px;
    color: #444;
    font-weight: bold;
}

.area_box p{
    float: left;
    width: 30%;
    margin: 0 0 20px 30px;
    color: #444;
}




/*------------------------------------------------------------
	PC　お問い合わせボックス
------------------------------------------------------------*/
#subpage_main_title_otoiawase {
  float: left;
  width: 95%;
  margin: 30px 20px;
  padding: 0.6em 0.5em;/*文字の上下 左右の余白*/
  color: rgba(51, 51, 51, 0.9);/*文字色*/
  font-size: 30px;
  font-weight: 900;
  border-bottom: solid 4px rgba(51, 51, 51, 0.9);
}

p.otoiawase_txt{
    width: 100%;
       float: left;
       font-size:100%;
       margin: 20px 50px;
}
p.otoiawase_txt_sub{
        float: left;
        margin: 25px;
      line-height: 1.5;
}
.subpage_otoiawase_mail_box{
    width: 460px;
    height: 280px;
    float: left;
    margin: 30px 0px 100px 80px;
    padding: 0px;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
}

.subpage_otoiawase_tel_box{
    width: 460px;
    height: 280px;
    float: left;
    margin: 30px 0px 150px 80px;
    padding: 0px;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
    text-align: center;
}

.subpage_otoiawase_sub_title{
  background: rgba(60, 120, 200, 0.8);
  margin: 0px;
  padding: 10px;
  color: #fff;/*文字色*/
  font-size: 110%;
 line-height: 2.4;
  font-weight: 600;
  text-align: center;
}

.otoiawase_mail_link img:hover{
    opacity: 1;
    -webkit-animation: flash 0.6s;
    animation: flash 0.6s;
     transform:scale(1.1,1.1);
     transition:0.6s all;
}


/*------------------------------------------------------------
	PC　フッター
------------------------------------------------------------*/

#footer {
        margin: 0px 0 0 0;
        padding: 5px 0 0 0;
        background: rgba(240, 238, 233, 1);
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
        line-height: 1.2;
    }


.footer_sp_info {
    width: 98%;
    text-align: right;
}

.footer_sp_info img{
        border: 1px solid #d2c8b2;
        border-radius : 2px; 
        margin: -170px 0px 20px 0;
}

.footer_info {
    width: 98%;
    height: 160px;
    padding: 10px 0 10px 0;
    margin: 0px 0px 0px 0px;
    border-top    : 0px dashed #d2c8b2;   /* 枠線の指定（上）     */
    border-bottom    : 1px solid#444;   /* 枠線の指定（上）     */
    border-radius : 0px;                  /* 角丸の指定           */
    box-sizing: border-box;
    }

.footer_logo {
    width: 260px;
    float: left;
    margin: 40px 50px 0px 10px;
    padding: 0px 0px 0px 0px;
}

.footer_text {
    float: left;
    font-size: 15px;
    margin: 40px 0px 0px 0px;
}

.footer_icon {
    float: left;
    margin: 0px 10px 0px 0px;
}

.footer_icon_paypay {
    float: left;
    margin: 0px 10px 0px 0px;
    width: 50%;
}
.footer_icon_02 {
    float: left;
    margin: 5px 15px 0px 0px;
}

.footer_ssl_image {
    float: left;
    margin: -5px 0px 0px 20px;
    font-size: 10px;
}

.footer_ssl_image a:hover {
        -ms-transform: translateY(0px);
            transform: translateY(0px);
    }


.footer-navi {
  margin-top: 40px;
  margin-bottom: auto;
  padding-left: 200px;
  padding-bottom: 60px;
  border-bottom: 0px solid #d2d2d2;
}

.footer-navi__list {
  padding-left: 0;
  list-style-type: none;
  font-size: 0;
}

.footer-navi__item {
  display: inline-block;
  color: #444; 
  vertical-align: top;
  font-size: medium;
  font-size: 14px;
  padding: 0 0 0 5px;
  border-left   : 0px dotted #5f6fab;   /* 枠線の指定（左）     */
  border-radius : 1px;                  /* 角丸の指定           */
}
.footer-navi__item:nth-child(n) {
  margin-right: 2px; 
  margin-left: 0px;
  width: calc((100% - 60px) / 4.2) ;
}

/*--

.footer-navi__item:nth-child(4n+1) {
  margin-left: 0;
}
.footer-navi__item:nth-child(4n+4) {
  margin-right: 0;
}

---*/

.footer-navi__item >span {
  display: block;
  margin-bottom: 15px; 
  font-weight: bold;
}

.footer-child-navi__list {
  margin: auto; 
  padding-left: 5px;
  list-style-type: none;
}

.footer-child-navi__item {
  margin-bottom: 12px;
  font-size: 14px;
}

.footer-child-navi__item a {
  color: #444444;
  text-decoration: none;
}
.footer-child-navi__item a:hover {
  text-decoration: underline;
}


.footer_toplink {
    text-align: right;
    padding: 0 20px;
    margin: 0 auto;
    max-width: 1120px;
}


.footer_toplink a {
    background: rgba(60, 120, 200, 1);
    border-bottom: 0;
    color: #fff;
    display: inline-block;
    font-size: 90%;
    text-decoration: none;
    text-align: center;
    padding: 28px 14px 8px 14px;
    position: relative;
}

.footer_toplink a::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 50%;
    margin-left: -9px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-135deg);
}



.footer_underline {
    margin-bottom: 0px;
    padding: 30px 0 30px 0;
    text-align: center;
    border-top: 0px solid #e3ddd1;
    background: rgba(60, 120, 200, 1);
    font-size: 15px;
    color: #ffffff;
    letter-spacing: 0.1em;
}

/*------------------------------------------------------------
	アンダーライン
------------------------------------------------------------*/

hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

hr.sp_subpage_3c78c8 {
    width: 99%;
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #3c78c8;
    margin: 0px auto 
}


/*------------------------------------------------------------
	スペースタグ
------------------------------------------------------------*/

.space_5px {
    width: auto;
    margin: 5px auto 0px auto;
    text-align: center;
}

.space_7px {
    width: auto;
    margin: 7px auto 0px auto;
    text-align: center;
}

.space_10px {
    width: auto;
    margin: 10px auto 0px auto;
    text-align: center;
}

.space_15px {
    width: auto;
    margin: 15px auto 0px auto;
    text-align: center;
}

.space_20px {
    width: auto;
    margin: 20px auto 0px auto;
    text-align: center;
}

.space_25px {
    width: auto;
    margin: 25px auto 0px auto;
    text-align: center;
}

.space_30px {
    width: auto;
    margin: 30px auto 0px auto;
    text-align: center;
}

.space_35px {
    width: auto;
    margin: 35px auto 0px auto;
    text-align: center;
}

.space_40px {
    width: auto;
    margin: 40px auto 0px auto;
    text-align: center;
}

.space_50px {
    width: auto;
    margin: 50px auto 0px auto;
    text-align: center;
}
.space_60px {
    width: auto;
    margin: 60px auto 0px auto;
    text-align: center;
}
.space_70px {
    flat: left;
    width: auto;
    margin: 70px auto 0px auto;
    text-align: center;
}
.space_80px {
    width: auto;
    margin: 80px auto 0px auto;
    text-align: center;
}
.space_90px {
    width: auto;
    margin: 90px auto 0px auto;
    text-align: center;
}
.space_100px {
    width: auto;
    margin: 100px auto 0px auto;
    text-align: center;
}
.space_150px {
    width: auto;
    margin: 150px auto 0px auto;
    text-align: center;
}
.space_200px {
    width: auto;
    margin: 200px auto 0px auto;
    text-align: center;
}

.space_500px {
    width: auto;
    margin: 500px auto 0px auto;
    text-align: center;
}






/* -- responsive ------------------------------------------- */

/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {

/* -- スマホ用ヘッダー、パンクズリスト、フッターここから -------------------------------------------------------------------------------- */

/*=====================================================
	共通CSS設定  参考(ＮＯ1b)
=====================================================*/
html {
  font-size: 6.3%;
  overflow-y: scroll;
}

body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 14rem;
  vertical-align: baseline;
  color: #444;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
 /*フォントinit保存
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    */
}


body {
  -webkit-text-size-adjust: none;
}
    

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



ol,
ul {
  list-style: none;
}



a {
  color: #422b26;
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
    outline: none;
}


a.anchor{
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}

.clearfix:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}
    
/*=====================================================
	共通CSS設定  (ＮＯ1b)
=====================================================*/

.opacity a img {
    -webkit-transition: opacity 0.5s ease-out;
    transition: opacity 0.5s ease-out;
    background-color: undefined;
}

.opacity a:hover img {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
    
/*------------------------------------------------------------
	スマホ　コンテンツ背景
------------------------------------------------------------*/
.bg_eedca0 {
    background: rgba(238, 220, 160, 0.2); 
    padding: 0px;
    margin: 0px;
}

.bg_b8e6b8 {
    background: rgba(184, 230, 184, 0.1);
    padding: 0px;
    margin: 0px;
}

.bg_0d5dd2 {
    background: rgba(13, 93, 210, 0.06);
    padding: 0px;
    margin: 0px;
}

.bg_3c78c8 {
    background: rgba(0, 30, 10, 0.06);
    padding: 0px;
    margin: 0px;
}
    
/*挨拶　sp非表示*/

.bg_mayor {
    background-image:none;
}



  



/*=====================================================
	header設定
=====================================================*/

.normal .header_box_bar {
    position: fixed;
    z-index: 99;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    margin: 0px;
  padding: 10px 0px 5px 0px;
  border-bottom: 0px solid rgba(0, 30, 10, 1);
    /*background: url(../img/bg/bg.jpg) center top repeat;*/
    background-position: right 100% bottom 0%;
    background-color:rgba(255,255,255,1);
    background-blend-mode:lighten;
    background-size: 20% auto;
}

.normal .header_box_bar:after {
  content: "";
  display: block;
  clear: both;
}

.normal .header_box_bar .header_box_logo {
  float: left;
  width: 100%;
  max-width: 180px;
 margin: 2px 0px 0px 10px;
}
    

.normal .header_box_bar .header_box_logo img {
width: 100%;
}
    
    

.normal .header_box_bar ul.header_box_menu {
  float: right;
  display: table;
  margin: 7px 68px 0 0;
}



.normal .header_box_bar ul.header_box_menu li {
  float: left;
  margin: 0px 7px 0 0;
  border-left: 0px solid #444;
  padding: 0px 0px 0px 10px;
  display: table-cell;
}
.header_box_menu img {
    width: 100%;
    max-width: 45px;
}

.normal .header_box_bar ul.header_box_menu li:last-child {
  padding: 0 0 0 5px;
}
    
    
/*------------------------------------------------------------
　　スマホ表示用　hero スライダー 
------------------------------------------------------------*/
.hero{
    position: relative;
    margin: 75px 0 0 0;
}
.hero img {
    width: 100%;
    height: 300px;
    display: block;
    margin:auto;
}

    

/*------------------------------------------------------------
	スマホ　パンクズリスト
------------------------------------------------------------*/

#pankuzu {
    margin: 0px auto 0px auto;
}

.pankuzu_list {
	margin: 10px auto ;
	padding: 12px 0px 12px 5px ;
}

.pankuzu_list a {
    font-size: 110%;
    margin: 0px;
}


.pankuzu_list .pankuzu_ul {
	padding-left: 10px;

}
    

.pankuzu_list li:last-child {
    font-size: 110%;

}

    


/*=====================================================
	content_box設定
=====================================================*/

.content_box {
  position: relative;
}

.main_box {
  position: relative;
}
    
.main_box_02 {
  position: relative;
}



.main_box img {
  width: 100%;
}

.main_box_02 img {
  width: 90%;
  margin: 0 5%;
}




.toppage_top_title {
    font-size: 4.6vw;
    font-weight: bold;
    text-align: center;
    margin: 0px;
    padding: 10px;
    
}



.toppage_top_title_02{
    width: 86%;
    font-size: 3.5vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 0px 10px 10px 10px;
    line-height: 1.4;
}
    
.toppage_top_title_03{
    width: 86%;
    font-size: 3.5vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 0px 10px 10px 10px;
    line-height: 1.4;
}

.toppage_title{
    width: 60%;
    margin: 0px auto;
    padding: 10px;
}



    
    
.row-buttons {
	display: flex;
	justify-content: center;
	
	> *:nth-child(n+2) {
		margin-left: 20px;
	}
}

.toppage_sp_button {
        width: 35%;
    max-width: 300px;
    font-size: 110%;
    
    
    height: 60px;
    line-height: 60px;
    
    margin: 10px 3vw;
    padding: 0 8px;
    display: block;
    text-decoration: none;
    color: #444;
    background-color: #fff;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    border: 2px solid #aaa;
    }    
    


    
/*-------------------------------------------------------------
	sp　ペイント症状
--------------------------------------------------------------*/

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 0px auto 10px auto;
  padding: 10px 10px;
  min-width: 90%;
  max-width: 100%;
  background: #e0edff;
  border-radius: 15px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
}

.balloon1 p {
  margin: 0;
  padding: 0;
  text-align: center;
  color: #444;
  font-size: 15px;
  font-weight: bold;
}


.paint_allbox{
    width: 100%;
    margin: 0px auto 10px auto;
    padding: 10px 0 0 0;
    background: url("../img/bg/bg_02.png") center top repeat;
    background-position: right 100% bottom 0%;
    background-color:rgba(255,255,255,0.5);
    background-blend-mode:lighten;
    background-size: 20% auto;
}


.paint_info {
    width: 100%;
    max-width: 300px;
    margin: 0px auto 50px;
    padding: 0 0 20px 0;
    border: 10px solid #f4f0e6;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
    float: none;
}


p.paint_sub_title {
    margin: 15px 0 5px 0;
    color: #422b26;
    font-size: 22px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

p.paint_sub_title_txt {
    margin: 0px 20px 0px 10px;
    color: #333;
    font-size: 15px;
    text-align: justify;
}


.paint_info img{
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

.paint_info img:hover{

}
    
    
/*=====================================================
	詳しく見る矢印系ボタン 
=====================================================*/
/* 001 PCとSPともに中央配置*/

/* 001 */
.button001 a.more01 {
    background: rgba(60,120,200,0.9);
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 12px 20px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.button001 a.more01:hover {
    background: rgba(60,120,200,0.9);
    color: #ffffff;
    text-decoration: none;
    opacity: 0.8;
  -webkit-animation: flash 0.3s;
  animation: flash 0.3s;
}
    
    
/*------------------------------------------------------------
　　スマホ表示用　works_before_after スライダー 
------------------------------------------------------------*/

    
.slide_image{
    width: 100%;
    float: none;
    margin: 30px auto 0;
    padding: 0;
}
    
.works_box {
    width: 99%;
}

.works_data {
    width: 99%;
}
    
    
    
.works_data_text{ 
       width:  85%;
  float: none;
    margin: 20px auto;
}  
.works_data_title {
    width: 86%;
  padding: 1rem 2rem;
  border-top: 3px dotted #000;
  border-bottom: 3px dotted #000;
}

.works_comment{
       width:  82%;
        float: none;
      border-bottom: 3px solid #444;
        margin: 0px auto;
      padding: 0.5rem 0rem;
      font-size: 120%;
}
    
.works_comment_text{
           width:  82%;
        float: none;
          font-size: 100%;
            margin: 0px auto;
          padding: 0.5rem 0rem;
}
    
    
.works_before_after{ 
	max-height:none;
	overflow: hidden;
}

.works_before_after img{
    padding: 70px 0 0px 0;
    width: 90%;
    height: auto;
    max-height: 600px;
    margin: 0 auto;
    object-fit: cover;
}

    
/*------------------------------------------------------------
	スマホ　共通　サブボックス　90～100
------------------------------------------------------------*/
.sub_box {
  margin: 0px auto;
    width: 100%
}

.sub_box_90 {
  margin: 0px auto;
    width: 90%
}

.sub_box_92 {
  margin: 0px auto;
    width: 92%
}

.sub_box_94 {
  margin: 0px auto;
    width: 94%
}

.sub_box_96 {
  margin: 0px auto;
    width: 96%
}

/*------------------------------------------------------------
	スマホ　サブページ
------------------------------------------------------------*/
/*------------------------------------------------------------
	サブページタイトルイメージ
------------------------------------------------------------*/


.sp_subpage_title_image_all {
  background: url("../img/bg/sp_title_01.png") center;
  background-size: cover;
  width: 100%;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    /* 例:幅800px高さ310pxの画像の場合 */
    padding-top: 38.75%;
  position: relative;
  margin: 75px auto 0;
  top: 0;
  left: 0;
}

.sp_subpage_title_image_event {
  background: url("../img/bg/sp_title_01.png") center;
  background-size: cover;
  width: 100%;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    /* 例:幅800px高さ310pxの画像の場合 */
    padding-top: 38.75%;
  position: relative;
  margin: 75px auto 0;
  top: 0;
  left: 0;
}

.sp_mainimage_text {
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 25%;
  left: 5%;
  width: 70%;
  line-height: 1.5em;
  text-align: left;
    font-size: 7vw;
    letter-spacing: 0.2em;
    font-weight: bold;
	padding: 20px;/* ライフロード改造値 */
	color: #333;/* 絶対位置指定 */
    text-shadow: 0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2,0 0 6px #f2f2f2;
}


/*------------------------------------------------------------
	共通タイトル
------------------------------------------------------------*/
.toppage_title_box {
  margin: 20px auto 15px auto;            /* サンプル用 中央寄せ  */
  box-sizing    : border-box;           /* 罫線も含む長さ       */
  width         : 100%;                 /* BOXの幅              */
  padding       : 12px 12px 20px;                 /* 文字の位置合わせ     */
  text-align    : center;               /* 文字位置             */
    height        : auto;
}


.subpage_content_txt {
    font-size: 4.6vw;
    font-weight: bold;
    text-align: center;
    margin: 0px;
    padding: 10px;
    
}

.subpage_content_txt_02 { 
    width: 88%;
    padding: 0 0 10px 0;
    margin: 20px auto 10px auto;
    text-align: left;
    font-size: 5vw;
    font-weight: bold;
    background: url("../img/dot_line_01.png") repeat-x 0 bottom;
    background-size: auto auto;
}


.subpage_content_txt_03{
    width: 88%;
    font-size: 3.5vw;
    color: #444;
    text-align: justify;
    margin: 0px auto;
    padding: 0px 10px 10px 10px;
    line-height: 1.4;
}


.subpage_content_txt_04 {
    width: 88%;
    font-size: 4vw;
    font-weight: bold;
    text-align: justify;
    margin: 0px auto;
    padding: 10px;
    
}
    
#subpage_main_title {
    padding: 5px 0px 5px 15px;
    background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
    background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
    border-left: solid 0px #0d5dd2;
    border-bottom: solid 0px #d7d7d7;
    width: 92%;
    font-size: 150%;
    font-weight: bold;
    margin: 10px auto 0px auto;
    text-shadow: 0 0 5px white;
}

#subpage_main_title_event {
    padding: 5px 0px 5px 15px;
    background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
    background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
    border-left: solid 0px #0d5dd2;
    border-bottom: solid 0px #d7d7d7;
    width: 92%;
    font-size: 130%;
    margin: 10px auto 0px auto;
    text-shadow: 0 0 5px white;
}
    
.subpage_main_title {
    padding: 5px 0px 5px 15px;
    background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
    background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
    border-left: solid 0px #0d5dd2;
    border-bottom: solid 0px #d7d7d7;
    width: 92%;
    font-size: 130%;
    margin: 10px auto 0px auto;
    text-shadow: 0 0 5px white;
}

    
.main_title{
    display: inline-block;
    color: #3c78c8;
    font-size: 6vw;
    font-weight: bold;
    text-align: center;
    padding:  2px;
    margin: 0 auto 0px auto;
    border-bottom: 3px solid #3c78c8;
    line-height: 1.5em;
    
}

.main_title .fa {
    color: #3c78c8;
}


.main_box_text {
  font-size: 3vw;
  margin-top: 1px;
  text-align: center;
}






.sub_box_maintitle {
  padding: 5px 10px 5px 5px;
  font-size: 16rem;
  font-weight: bold;
  border-top: 2px dotted #2f1913;
  border-bottom: 2px dotted #2f1913;
  margin-bottom: 2px;
}

.sub_box_maintitle_02 {
    width: 90%;
  padding: 5px 10px 5px 10px;
  font-size: 6vw;
  font-weight: bold;
  border-top: 0px dotted #0d5dd2;
  border-bottom: 2px dotted #0d5dd2;
  margin: 0 auto 2px auto;
    color: #0d5dd2;
}

.sub_box_maintitle_02 .fa{
    color: #0d5dd2;
}




.sp_subpage_txt_box_title { 
    width: 92%;
    padding: 0 0 10px 0;
    margin: 20px auto 10px auto;
    text-align: left;
    font-size: 5vw;
    font-weight: bold;
    background: url("../img/icon/dot_line_01.png") repeat-x 0 bottom;
    background-size: auto auto;
}

.sp_subpage_txt_box_title_02 {
    width: 90%;
    color: #444;
    background: #f4f4f4;
    line-height: 100%;
    margin: 10px auto 0px auto;
    padding: 0.6em 0.5em;
    font-size: 5vw;
    border-left: 5px solid #0d5dd2;
    border-bottom: solid 3px #d7d7d7;
    }

.sp_subpage_txt_box_title_03 {
  padding: .25em 0 .25em .15em;
  border-bottom: 5px solid #0d5dd2;
　margin: 20px 0 10px 10px;
  font-size: 100%;
}


.fa{
    margin: 0px 4px 0px 0px;
    font-size: 100%;
}


.sub_title01{
	background:#f4f4f4;
	color:#2f1913;
	padding:4px 0 3px 10px;
	margin:0 0 3% 0;
	font-size:1.0em;
    margin-top: 5px;
}

.sub_title02{
	background:#f4f4f4;
	color:#2f1913;
	padding:4px 0 3px 10px;
	margin:0 0 3% 0;
	font-size:1.0em;
    margin-top: 5px;
}
.sub_title02 a {
    text-decoration: underline;
    font-size: 120%;
}


/*------------------------------------------------------------
	サブページコンテンツボックス
------------------------------------------------------------*/


.sub_box_content:after {
  content: "";
  display: block;
  clear: both;
}

.sub_box_content li {
  float: left;
  margin-bottom: 15px;
  line-height: 1.4;
}

.sub_box_content li .sub_box_img {
  width: 95%;
    margin-left: 5px;
}

.sub_box_content li .sub_box_img02 {
  width: 98%;
    margin-left: 5px;
}

.sub_box_content li .sub_box_img_border {
  width: 95%;
    margin-left: 5px;
    border: 1px solid #ccc;
}

.image_txt {
    text-align: center;
    margin: 0px;
    padding: 0px;
    font-size: 100%;
}


.sub_box_content li .sub_box_text {
  font-size: 12rem;
  margin-top: 2px;
  text-align: center;
}

.sub_box_content li:nth-child(odd) {
  padding: 2% 2% 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 51%;
}

.sub_box_content li:nth-child(even) {
  padding: 2% 0 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 49%;
}


.sub_box_content02 li {
  border-bottom: 1px solid #d1c7b1;
  line-height: 1.4;
}

.sub_box_content02 li a {
  width: 100%;
  padding: 10px 30px 10px 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
}

.sub_box_content02 li a:after {
  content: "";
  display: block;
  clear: both;
}

.sub_box_content02 li a :after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-top: 5px solid #422b26;
  border-right: 5px solid #422b26;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -7px;
}

.sub_box_content02 li a img.sub_box_content02_img {
  float: left;
  width: 30%;
  margin-right: 10px;
}

.sub_box_content02 li a dl.sub_box_content02_text {
  text-align: left;
}

.sub_box_content02 li a dl.sub_box_content02_text dt {
  font-size: 18rem;
  font-weight: bold;
}

.sub_box_content02 li a dl.sub_box_content02_text dd {
  margin-top: 10px;
  font-size: 12rem;
}

.sub_box_content li.sub_box_content03 {
  width: 100%;
  padding: 1% 0 0 0;
  position: relative;
}
    
 /*=====================================================
	イベント　スマホ版
=====================================================*/
   
/*イベント一覧　div要素全体リンク*/
.event_category_all_box_1col {
    width: 90%;
    height: 100%;
    margin: 0 auto 50px 10px;
    padding: 0 10px 10px 0px;
    border: 0px solid #0d5dd2;
}

.event_category_all_box_2col {
    width: 90%;
    height: 100%;
    margin: 0 auto 50px 10px;
    padding: 0 10px 10px 0px;
    border: 0px solid #0d5dd2;
}

.event_title_box {
  margin: 0px 0 15px 0;
  width: 95%;
  padding: 15px 0px 15px 30px;
}


.event_image_box {
    margin: 5px 0 0 0;
    padding: 0px;
	float: left;
}

.event_image_box_pic {
	width: 95%;
    max-width: 500px;
    height: auto;
    margin: 0px 0px 0px 5px;
}

.event_image_box_pic img {
	width: 100%;
    border-radius: 4px;
    margin: 20px 0px 0 0;
}

.pc_content_box750 p.event_txt {
    margin: 10px 0px 0px 10px;
    padding: 0px;
    float:left;
    width: 90%;
    font-size: 100%;
    letter-spacing: 0.5px;
}
    
    

/*------------------------------------------------------------
	Ｑ＆Ａアコーディオン　レスポンシブ（pc)
------------------------------------------------------------*/
.cp_actab {

	width: 95%;
	margin: 20px auto 30px;
	color: #444;
}

.cp_actab label {
    color: #fff;
	font-weight: bold;
	line-height: 4;
	padding: 0 0 0 10px;
    font-size: 14px;

}





/*=====================================================
	各種　spトップページ　テーブル
=====================================================*/

.group_box{
	width: 92%;
	margin: 0px auto 0px;
}

    
table.table01 {
	width:95%;
    margin: 0 auto 5px auto;
    border-right:#666 solid 0px;
}
    
table.table01 thead {
	display:none;
}
table.table01 tbody th {
    background: rgba(255, 180, 100, 1);
    font-size: 120%;
    color: #222;
	display:block;
    text-align: center;
    margin: 30px 0px 0px 0px;
    border:#666 solid 1px; 
}
    
table.table01 tbody th a {
    font-size: 100%;
    color: #fff;
    font-weight:bold;
}
    

    
table.table01 tbody td {
	display:block;
}
table.table01 tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
    margin-top: 10px;
}
table.table01 tbody td p {
    margin-top: 10px;
	padding-left:8em;
    padding-bottom: 15px;
}
  
table.table01 tbody td p.group_comment_hosoku {
    font-size: 100%;
    padding-left:0em;
}
    
table.table01 tbody th .fa{
        color: #fff;
    }

    
p.group_second {
    color: #fff;
    margin: 5px 0 0 0;
}
    
    

/*タブ切り替え全体のスタイル*/
    
    
div.tab_allbox {
	width: 95%;
	margin: 0 auto 50px;
	padding: 1px 0px 0px 0px;
	background: #fff;
}

.tabs {
  padding: 0px 0px 20px 0px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 100%;
  margin: 15px auto 0px;
}

/*タブのスタイル*/
.tab_item {
  width: calc(99%/2);
  height: auto;
  border-bottom: 4px solid rgba(13, 93, 210, 1);
  background-color: rgba(0, 0, 0, 0.1);
  font-size: 4vw;
  letter-spacing: 0.2em;
  text-align: center;
  color: #0d5dd2;;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
    margin: 0 1px 0 0;
    padding: 15px 0;
}


.last_box {
    float: right;
    margin: 0 0 0 1px;
}

.tab_item:hover {
  opacity: 0.99;
}


/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 10px 8px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: rgba(13, 93, 210, 0.8);
  color: #fff;
}


/*選択されているタブのコンテンツのみを表示*/
#box1:checked ~ #box1_content,
#box2:checked ~ #box2_content {
  display: block;
}


.iframe-wrap {
  position: relative;
  width: 100%;
  height:100%;
  padding-top: 100%;
  overflow:auto; 
  -webkit-overflow-scrolling:touch;
}

.iframe-wrap iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
    display:block;
}



    
/*=====================================================
	各種　sp個別ページ　レスポンシブ
=====================================================*/
#sub_main_box{
	width: 100%;
    margin: 20px 0px 0px 0px;
    border: none;

}
#sub_main_box_3col{
	width: 100%;
    margin: 20px 0px 0px 0px;
    border: none;

}
    
.pc_content_box750 {
    width: 95%;
}
.pc_content_box1100 {
    width: 95%;
    margin: 10px 0px 0px 10px;
}

.pc_content_box750 h2, 
.pc_content_box1100 h2,
.pc_content_box750 h3,
.pc_content_box1100 h3 {
    font-size: 110%;
    font-weight: bold;
}
    
.service_image_box{
    width: 92%;

}

.service_image_sub {
    width: 95%;
    margin: 20px 0px;
        max-width: 480px;

}
    
.service_image_sub img {
    width:100%;

}
    
/* 一覧へ戻るボタン */
.subpage_back_button {
  position: relative;
  display: inline-block;
  padding: 2em 0.5em 2em 0em;
  width: 88%;
  margin: 50px 0px 0px 15px;
}

    
/*------------------------------------------------------------
	スマホ概要-　アクセス　
------------------------------------------------------------*/

    
.main_photo{
    width: 95%;
}
    
.floormap{
    width: 98%;
}


.tbl-branch {
    width: 95%;
}
    
    
    
    
/* 施工事例ビフォアフター*/  
    
.works_title {
    width: 80%;
    margin: 0px auto 20px auto;

}    
    
.works_ba_image_box{
    width: 95%;
    margin: 0px auto 0px 6%;
    padding: 0px;
    float: none;
}


.servicelink{
    width:90%;
    margin: 20px 0px;
}
.servicelink div.nomal{
    width:35%;
    font-size: 5vw;
}
    

.servicelink div.mask {
	width:			35%;
	height:			13%;
	top:			86%;
    padding: 1% 0 0 2%;
}
    
.servicelink div.on_hover{
    font-size: 5vw;
	width:			35%;
	height:			13%;
	top:			86%;
    padding: 1% 0 0 2%;
} 
    
.servicelink div.mask_02 {
	width:			35%;
	height:			13%;
	top:			85.5%;
    padding: 1% 0 0 2%;
}
    
.servicelink div.on_hover_02{
    font-size: 5vw;
	width:			35%;
	height:			13%;
	top:			85.5%;
    padding: 1% 0 0 2%;
}  
    
.servicelink img{
    width:100%;
}
    

 

.servicelink .fa{
    display: none;
    font-size: 100%;
    color: #fff;
}
    
    
/*CSSのみ矢印表示(スマホ版ダウン)*/
.works_arrow_down {
  display: inline-block;
  position: relative;
  margin: 0px 40%;
  float: left;
  font-size: 250%;
}
    
    
    
.works_data_text{
    width: 98%;
    margin: 0px auto;
    padding: 0px;
}

.works_data_title {
        width: 70%;
        margin: 30px auto 30px auto;
    float: none;
}
    
.shop_box{
        width: 85%;
        margin: 0px auto;
    
    
    }



    
/* アクセスマップ     */

#access_map p {
    font-size: 5vw;
    margin: 50px auto 20px;
}


#access_map iframe {
    width: 95%;
    margin: 0 auto 0 10px;

}
    
/*------------------------------------------------------------
　スマホ　お知らせ一覧　
------------------------------------------------------------*/
.news_title_itiran {
    width: 95%;
    font-size: 150%;
    margin: 10px auto 0px auto;
    padding: 5px 0px 5px 10px;
  color: #0d5dd2;
  text-shadow: 0 0 5px white;
  background: -webkit-repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#f6f6f6 3px, #ffffff 7px);
  background: repeating-linear-gradient(-45deg, #f6f6f6, #f6f6f6 3px,#ffffff 3px, #ffffff 7px);
}

.news-txt_naiyou_itiran {
    margin: 0px 0px 20px 0px;
    width: 95%;
    line-height: 1.4;
    padding: 0px 0 10px 0;
    border-bottom: 2px dashed #e5e5e5;
}

a.news_naiyou_button {
    width: 80%;
    height: 35px;
    line-height: 35px;
    margin: 2px 0 20px;
    padding: 10px;
    display: block;
    text-decoration: none;
    color: #444;
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: bold;
    text-align: center;
    border: 2px dashed #aaa;
}


    

    
    
/*=====================================================
	スマホ　お問い合わせ　電話/FAX　レスポンシブ
=====================================================*/

p.contact_txt a{
  font-size: 100%;
  color: #444;
  text-decoration: underline;
}


/*------------------------------------------------------------
　スマホ	サイトマップ
------------------------------------------------------------*/

.sitemap_all_box {
    float: left;
    width: 92%;
    margin: 10px auto 20px 20px;
}

.sitemap_con_box{
    float: left;
    width: 90%;
    height: auto;
    margin: 20px 0px 20px 0px;
}



/*------------------------------------------------------------
	スマホ　横並びリンクボックス
------------------------------------------------------------*/
.p-useful {
    border: 1px solid #b6b6b6;
    text-align: center;
    width: 95%;
    margin: auto;
}


.p-useful_item:nth-child(3n+2) {
    border-right: 1px solid #b6b6b6;
    border-left: 1px solid #b6b6b6;
}


.p-useful_item {
    float: left;
    width: 33.33333%;
    border-top: 0px solid #b6b6b6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.p-useful_item img {
    float: left;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/*------------------------------------------------------------
	スマホ　お問い合わせボックス
------------------------------------------------------------*/
    


.subpage_otoiawase_tel_box{
    width: 95%;
    height: auto;
    margin: 0px auto;
    padding: 0px 0 10px 0;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
    text-align: center;
        float: none;
}

.subpage_otoiawase_sub_title {
  background: #3c78c8;
  margin: 0px;
  padding: 10px;
  color: #fff;/*文字色*/
  font-size: 4.5vw;
 line-height: auto;
  font-weight: 600;
  text-align: center;
}

.subpage_otoiawase_sub_title .fa {
  color: #fff;  
}

p.otoiawase_txt_sub{
    margin: 20px 5px 0px 5px; 
}




.subpage_otoiawase_tel_box_sp{
    width: 95%;
    height: auto;
    margin: 0px auto;
    padding: 0px 0 10px 0;
    border-radius : 1px;
    background: rgba(194, 194, 194, 0.2);
    text-align: center;
}

.subpage_otoiawase_sub_title_sp {
  background: #3c78c8;
  margin: 0px;
  padding: 10px;
  color: #fff;/*文字色*/
  font-size: 4.5vw;
 line-height: auto;
  font-weight: 600;
  text-align: center;
}

.subpage_otoiawase_sub_title_sp .fa {
  color: #fff;  
}

p.otoiawase_txt_sub_sp{
    margin: 20px 5px 0px 5px; 
}

    

   
/*=====================================================
	テキストリンク設定
=====================================================*/
/*=====================================================
	インフォメーションリンク設定
=====================================================*/

.content_box .textlink_box {
  width: 100%;
  margin: 10px auto 0;
  border-top: 0px solid #3c78c8;
  border-bottom: 1px solid #3c78c8;
}

.content_box .textlink_box .textlink_box_title {
  padding: 5px 10px 5px 10px;
  font-size: 5vw;
  font-weight: bold;
  border-bottom: 2px solid #3c78c8;
}

.content_box .textlink_box .textlink_box_menu:after {
  content: "";
  display: block;
  clear: both;
}

.content_box .textlink_box .textlink_box_menu li {
  float: left;
  width: 50%;
  border-bottom: 1px solid #3c78c8;
  padding: 5px 0 5px 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 2.2;
}

.content_box .textlink_box .textlink_box_menu li a {
  display: block;
  padding: 8px 0 8px 25px;
}

.content_box .textlink_box .textlink_box_menu li:nth-child(odd) a {
  border-right: 1px dotted #3c78c8;
}


.content_box .textlink_box .textlink_box_title {
  -webkit-background-size: 22px 22px;
  background-size: 22px 22px;
}


.content_box .textlink_box.information .textlink_box_title {
  -webkit-background-size: 22px 22px;
  background-size: 22px 22px;
}

.content_box .textlink_box.information .textlink_box_menu {
  background-color: #fff;
}

.content_box .textlink_box.information .textlink_box_menu a {
  color: #444444;
  position: relative;
}

.content_box .textlink_box.information .textlink_box_menu a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: solid 3px #3c78c8;
  border-right: solid 3px #3c78c8;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}



/*=====================================================
	コピーライト設定
=====================================================*/

.content_box .copyLight {
  margin: 35px 0 30px 0;
  text-align: center;
}

.content_box .copyLight p {
  font-size: 12px
}

.content_box .copyLight p:not(:last-child) {
  margin-bottom: 5px;
}
    

/*------------------------------------------------------------
	その他コード  pc/スマホ　ボタン切り替え
------------------------------------------------------------*/

/* 表示切替ボタンPC版に切り替える */
@media screen and (min-width:1280px) { 
#pc_site_topbtn{
    position: fixed;
    top: 0%;
    left: 20%;
    width:50%;
    z-index: 999;
}
#pc_site_topbtn a{
    display:block;
    background:#e8e8e8;
    background:-webkit-gradient(linear,left top, left bottom,from(#dfdfdf),color-stop(0.03, #fff),color-stop(0.45, #fff),color-stop(0.52, #e7e7e7),to(#fefefe));
    background:-moz-linear-gradient(top,#dfdfdf 0%,#fff 3%,#fff 45%,#e7e7e7 52%,#fefefe 100%);
    color:#444;
    font-size:34px;
    font-weight:bold;
    text-align:center;
    border:1px solid #959595;
    border-radius:4px;
    margin:5px auto;
    padding: 5px;
}

#pc_site_topbtn a:hover{
    opacity: 0.9;
}
    

}

@media screen and ( max-width: 1279px ) {
#pc_site_topbtn{
    display: none;
}
    
}

 

/*=====================================================
	ページトップ設定
=====================================================*/


.content_box .pagetop {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}


.content_box .pagetop a {
  display: block;
  height: 45px;
  background-color: #000;
  border-top: 3px solid #E3DDD1;
  text-indent: -9999px;
  position: relative;
}

.content_box .pagetop a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 12px;
  height: 12px;
  margin-right: -5px;
  margin-top: -2.5px;
  border-top: solid 4px white;
  border-right: solid 4px white;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*------------------------------------------------------------
	アンダーライン
------------------------------------------------------------*/

hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em atuo;
    padding:0;
    width: 85%;
}
    
hr.sp_subpage_666 {
    width: 96%;
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #666;
    margin: 20px auto 
}

hr.sp_subpage_0d5dd2 {
    width: 96%;
    display:block;
    height:1px;
    border:0;   
    border-top:2px solid #0d5dd2;
    margin: 20px auto 
}



/*------------------------------------------------------------
	スペースタグ
------------------------------------------------------------*/

.space_5px {
    width: auto;
    margin: 5px auto 0px auto;
    text-align: center;
}

.space_7px {
    width: auto;
    margin: 7px auto 0px auto;
    text-align: center;
}

.space_10px {
    width: auto;
    margin: 10px auto 0px auto;
    text-align: center;
}

.space_15px {
    width: auto;
    margin: 15px auto 0px auto;
    text-align: center;
}

.space_20px {
    width: auto;
    margin: 20px auto 0px auto;
    text-align: center;
}

.space_25px {
    width: auto;
    margin: 25px auto 0px auto;
    text-align: center;
}

.space_30px {
    width: auto;
    margin: 30px auto 0px auto;
    text-align: center;
}

.space_35px {
    width: auto;
    margin: 35px auto 0px auto;
    text-align: center;
}

.space_40px {
    width: auto;
    margin: 40px auto 0px auto;
    text-align: center;
}

.space_50px {
    width: auto;
    margin: 50px auto 0px auto;
    text-align: center;
}

.space_60px {
    width: auto;
    margin: 60px auto 0px auto;
    text-align: center;
}
.space_70px {
    width: auto;
    margin: 70px auto 0px auto;
    text-align: center;
}
.space_80px {
    width: auto;
    margin: 80px auto 0px auto;
    text-align: center;
}
.space_90px {
    width: auto;
    margin: 90px auto 0px auto;
    text-align: center;
}
.space_100px {
    width: auto;
    margin: 100px auto 0px auto;
    text-align: center;
}
    
.space_150px {
    width: auto;
    margin: 150px auto 0px auto;
    text-align: center;
}
    
.space_200px {
    width: auto;
    margin: 200px auto 0px auto;
    text-align: center;
}
.space_250px {
    width: auto;
    margin: 250px auto 0px auto;
    text-align: center;
}
.space_300px {
    width: auto;
    margin: 300px auto 0px auto;
    text-align: center;
}

/* -- スマホ用ヘッダー、パンクズリスト、フッターここまで -------------------------------------------------------------------------------- */

    
/*-- ↓スマホ版表示CSS↓  --*/
    .pc_area{
    display:none;
  }
    .sp_area{
    display:block;
  }

    
    

    .pc_br{
    display: none;
  }
    .sp_br {
        display: inline-block;
    }
/*-- ↑スマホ版表示CSS↑  --*/    

}
/* 1120pixel end */

/*------------------------------------------------------------
	下記　メディアクエリ　設定
------------------------------------------------------------*/
/* お問い合わせ電話リンク表示or非表示 */
@media (min-width: 1120px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


@media screen and (max-width: 991px) {
.ggmap iframe,
.ggmap object,
.ggmap embed {
height: 100%;
}
    
}


/* 340pixel start */
@media screen and ( max-width: 340px ) {
    
.normal .header_box_bar {
  padding: 10px 0px 15px 5px;
}
    
.normal .header_box_bar ul.header_box_menu {
    display: none;

}

    
}

