@charset "UTF-8";


/*==================================================
　共通
===================================*/
.pc_con { display:block !important;}
.sp_con { display:none !important;}

.pageheader { margin:78px 0 0 0; text-align:center; background:#e60012; height:220px; display: table; width:100%; position:relative;
background:repeating-linear-gradient(
-45deg,
#fff,
#fff 1px,
#e60012 0,
#e60012 500px
);

}

.w80 { width:80%!important; margin:auto 10%!important;}

.anchor {
    display: block;
    padding-top: 150px;
    margin-top: -150px;
}
p.txt { font-size:18px; line-height:180%; color:#111; letter-spacing: 0.05em;}

/*title*/

.h3bg { margin:0 0 150px 0; text-align:center;}
.h3bg h3 {
font-size: 42px;
font-family:"Roboto", "見出ゴMB31",sans-seri;
    font-weight: 800;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 150%;
	position:relative;
	}

.h3bg h3::after {
    content: "";
    display: block;
    position: absolute;
    width: 168px;
	margin:auto;
    height: 8px;
    bottom: -25px;
	left:0;
	right:0;
    background-color: #e60012;
}

/*table*/
table.tbl1 { width:100%;}
table.tbl1 th,table.tbl1 td { padding:35px 20px; border-bottom:1px solid #ccc; border-top:1px solid #ccc; font-size:18px; text-align:left; line-height:180%; margin-top:-1px;}
table.tbl1 th { width:30%; font-family:"Roboto", "見出ゴMB31",sans-seri;}
table.tbl1td {}


@media screen and (max-width: 768px) {

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

.h3bg { margin:0 0 80px 0; text-align:center;}
.h3bg h3 {
font-size: 28px;
	}

.h3bg h3::after {

    width: 120px;
	height: 6px;
	bottom: -20px;

}

/*table*/
table.tbl1 { width:100%;}
table.tbl1 th,table.tbl1 td { padding:25px 5px; border-bottom:1px solid #ccc; border-top:1px solid #ccc; font-size:16px; display:block; width:100%;}
table.tbl1 th { width:auto; text-align:center; padding:15px 5px;}
table.tbl1td {}



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



}



@media screen and (min-width: 1600px) {
.pageheader { margin:98px 0 0 0;

}
}

@media screen and (max-width: 1600px) {
.pageheader { 
background:repeating-linear-gradient(
-45deg,
#fff,
#fff 1px,
#e60012 0,
#e60012 380px
);
}

}


.pageheader h2 { color:#fff; font-size:38.5px; font-family: "Roboto", sans-serif; font-weight:800; letter-spacing:3px; line-height:130%; display: table-cell; vertical-align: middle;}
.pageheader h2 span { font-size:40%; display:block; font-weight:500;} 





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

section {
    display: block;
    width: 100%;
    margin: auto auto 100px auto;
}
section.data {

    padding-bottom: 0;

    margin-top: 0;
}




.pageheader { margin:48px 0 0 0; text-align:center; background:#e60012; height:160px; display: table; width:100%; position:relative;
background:repeating-linear-gradient(
-45deg,
#fff,
#fff 1px,
#e60012 0,
#e60012 300px
);
}
.pageheader h2 {
    color: #fff;
    font-size: 32px;

}

.l_f-footer .l_f-footer__gnav dt {
    color: #e60012;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding-bottom: 4px;
}
.l_f-footer .l_f-footer__gnav li a {
    font-size: 14px;
    letter-spacing: 0.18em;
	line-height:150%;
}
.l_f-footer .l_f-footer__gnav li:not(:last-child)::after {
    content: "";
    height: 100%;
    width: 1px;
    background: #000;
    display: inline-block;
    margin: -3px 10px;
}

.about .image, .service .image {
    margin-left: -10%;
    width: 90%;
}
.data .image {
    margin-right: -10%;
    width: 90%;
}
.about .text,
.service .text {
    margin-top: -4%;
    margin-left: 25%;
    width: 70%;
}
.data .text {
    margin-top: -10%;
	margin-left: -10%;
    margin-right: 0;
    width: 100%;
}


.blocks .text .title {

    font-size: 2.3em;

}
.about .text .title, .service .text .title {
    margin-left: 0;
}
.blocks .text .title::after {
    width: 100px;
    height: 5px;
    bottom: -15px;

}

.blocks .text .lead {
    display: inline-block;
    width: 100%;
    margin-top: 50px;
    font-size: 21px;
    font-weight: 800;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 150%;
}
.blocks .text .body {
    width: 100%;
    margin-top: 15px;
    font-size: 12px;
    line-height: 1.8;
}
.blocks .text a.button {

    width: 180px;
    margin-top: 25px;
    padding: 15px 0 15px 0;
	z-index:999999;

}

.top3-chara,
.top1-chara {
    position: absolute;
    width: 50%;
    top: -20px;
    right: -20px;
	left:auto;
}
.top2-chara {
    position: absolute;
    width: 70%;
    top: -10px;
    right: auto;
	left:-50px;
}

.fadeInTrigger, .fadeUpTrigger, .fadeDownTrigger, .fadeLeftTrigger, .fadeRightTrigger {
    height: 90%;
}


}

@media screen and (min-width:769px) and ( max-width:1024px) {
.r-footer { display:none;}

.l_f-footer .l_f-footer__wrap {
    margin: auto auto auto 50px;
}

.blocks .text .title {

    font-size: 2.8em;

}
.top3-chara,
.top1-chara {
    position: absolute;

	left:15px;
}



}



/*==================================================
　about
===================================*/

.inner-about { max-width:1200px; width:100%; margin: auto; height:100%; max-height:1915px; min-height:100%;}
.block1 { width:100%; background:url(/_common/img/about/bg1.jpg) no-repeat top; background-size: 100% 100%;}
.block1 {
position: relative;
	padding-bottom: 31%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	overflow-y : hidden !important;
	margin: 0;
}
.block2 { width:100%; background:url(/_common/img/about/bg2.jpg) no-repeat top; background-size: 100% 100%;}
.block2 {
position: relative;
	padding-bottom: 37.85%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	overflow-y : hidden !important;
	margin: 0;
}
.block3 { width:100%; background:url(/_common/img/about/bg3.jpg) no-repeat top; background-size: 100% 100%;}
.block3 {
position: relative;
	padding-bottom: 32.5%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	overflow-y : hidden !important;
	margin: 0;
}
.block4 { width:100%; background:url(/_common/img/about/bg4.jpg) no-repeat top; background-size: 100% 100%;}
.block4 {
position: relative;
	padding-bottom: 32.4%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	overflow-y : hidden !important;
	margin: 0;
}
.block5 { width:100%; background:url(/_common/img/about/bg5.jpg) no-repeat top; background-size: 100% 100%;}
.block5 {
position: relative;
	padding-bottom: 25%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	overflow-y : hidden !important;
	margin: 0;
}

.about-t1 { position:absolute; top:13%; right:0; left:0; margin:auto; width:39.08%; max-width:469px;}
.block-btn1 { position:absolute; bottom:0%; right:0; left:0; margin:auto; width:18.66%; max-width:224px;}

.about-f2 { position:absolute; top:10%; left:10%; width:26.5%; max-width:318px;}
.about-h2 { position:absolute; top:10%; left:24%; width:30.5%; max-width:366px;}
.about-t2 { position:absolute; top:25%; right:9%; width:16.58%; max-width:199px;}
.block-btn2 { position:absolute; bottom:17%; right:8%; width:18.66%; max-width:224px;}

.about-f3 { position:absolute; top:0%; left:38%; width:26.5%; max-width:318px;}
.about-h3 { position:absolute; top:-1.5%; right:5%; width:37.9%; max-width:455px;}
.about-t3 { position:absolute; top:15%; left:9%; width:16.58%; max-width:250px;}
.block-btn3 { position:absolute; bottom:17%; left:8%; width:18.66%; max-width:224px;}

.about-f4 { position:absolute; top:0%; left:10%; width:26.5%; max-width:318px;}
.about-h4 { position:absolute; top:0%; left:26%; width:28.83%; max-width:346px;}
.about-t4 { position:absolute; top:20%; right:9.2%; width:16.58%; max-width:250px;}
.block-btn4 { position:absolute; bottom:17%; right:8%; width:21%; max-width:224px;}

.block2-btn { position:absolute; bottom:25%; left:8%; width:35.4%; max-width:425px;}
.block3-btn { position:absolute; bottom:25%; right:8%; width:35.4%; max-width:425px;}

.about-f2 img { width:100%;}


.block2 .Link,
.block3 .Link,
.block4 .Link{
    display: block;
	z-index:999;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*
.block-btn a {
	text-align: center;
    color: #fff;
    font-size: 0.93em;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.1em;
}
*/

@media screen and (max-width: 768px) {

/*.inner-about .fadeIn{animation: none !important; transform: none!important; opacity: 1; }*/

.block-btn1 {bottom: -75%;}
.block-btn2 {bottom: -65%;}
.block-btn3 {bottom: -62%;}
.block-btn4 {bottom: -62%;}
.block2-btn {bottom: -30%;}
.block3-btn {bottom: -30%;}
}



/*==================================================
　about
===================================*/
section.leader .inner { position:relative; height:700px;}
section.leader .inner .img_r { position:absolute; top:0; right:0; width:70%;}
section.leader .inner .txt-box_l {position:absolute; top:325px; left:0; width:600px; background:#fff; padding:40px 50px; font-size:18px; line-height:180%;}
section.leader .inner .img_l { position:absolute; top:0; left:0; width:70%;}
section.leader .inner .img-logo { position:absolute; top:0; right:3%; width:25%;}
section.leader .inner .txt-box_r {position:absolute; top:270px; right:0; width:600px; background:#fff; padding:40px 50px; font-size:18px; line-height:180%;}
section.leader .inner .txt-box_r h4,section.leader .inner .txt-box_l h4 { font-size:140%; color:#e60012; margin:0 0 15px 0;}
section.leader .inner.leader-bg { background:url(/_common/img/about/leader3.png) no-repeat;}
.leader_cha {
	font-size:40px;
	font-family: "見出ゴMB31", sans-serif;
	color:#e60012;
	text-align:center;
	font-weight: 800;
    font-style: italic;
    letter-spacing: 0.1em;
	margin-bottom:30px;
		}
		
		
@media screen and (max-width: 768px) {

section.leader .inner { position:relative; height:auto;}
section.leader .inner .img_r { position: static; width:100%;}
section.leader .inner .txt-box_l {position: static; width:100%; background:#fff; padding:30px 10px; font-size:16px; line-height:180%;}
section.leader .inner .img_l { position: static; width:100%;}
section.leader .inner .img-logo { position:absolute; top:3%; right:3%; width:30%;}
section.leader .inner .txt-box_r {position: static; width:100%; background:#fff; padding:30px 10px; font-size:16px; line-height:180%;}
section.leader .inner .txt-box_r h4,section.leader .inner .txt-box_l h4 { font-size:140%; color:#e60012; margin:0 0 15px 0;}
section.leader .inner.leader-bg { background: none;}
p.leader_cha {
	font-size:20px;
	font-family: "見出ゴMB31", sans-serif;
	color:#e60012;
	text-align:center;
	font-weight: 800;
    font-style: italic;
    letter-spacing: 0.1em;
	margin-bottom:20px;
		}
}



/*==================================================
　サービス
===================================*/	
/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 100%;
    margin:0 auto;
}

.accordion-area li{
    margin: 80px 0;
}

.accordion-area section {
  margin:0 0 0 0;
}

/*アコーディオンタイトル*/
.accordion-area .title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:24px;
	font-family: "見出ゴMB31", sans-serif;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
	background:#e60012;
	color:#fff;
	font-weight:bold !important;
}
.accordion-area .title span.titlesub { font-size:60%; font-weight:normal;}
.accordion-area .title img { position:absolute; right:15px; bottom:-10px; width:120px;}

/*アイコンの＋と×*/
.accordion-area .title::before,
.accordion-area .title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #fff;
    
}
.accordion-area .title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.accordion-area .title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/

.accordion-area .title.close::before{
  transform: rotate(45deg);
}

.accordion-area .title.close::after{
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box-con {
    display: none;/*はじめは非表示*/
    background: #fff;
  margin:0 0 0 0;
    padding: 30px;
}	
		
ul.service-list li { position:relative; width:29.33333333333333333333333%; margin:1% 2% 2% 2%; float:left; font-size:14px;}
.service-list .list_title { position:absolute; top:20px; left:20px; background:#e60012; color:#fff; text-align:left; padding:5px 10px; letter-spacing: 1px; }
.service-list .list_content { position:absolute; top:45%; left:5%; }
.service-list .list_content p.list_txt1 { letter-spacing: 1px; text-align:left; display:block; font-size:80%; line-height:200%; margin-bottom:3px;}
.service-list .list_content p.list_txt1 span { background:#fff; color:#000; padding:3px 6px; }
.service-list .list_content p.list_txt2 { letter-spacing: 1px; text-align:left; display:block; font-size:80%; line-height:200%; margin-bottom:3px;}
.service-list .list_content p.list_txt2 span { background:#000; color:#fff; padding:3px 6px; }
.btn-l { margin-top:10px;}
.btn-l a {
	position:relative;
	display:block;
	background:#fff;
	border:2px solid #e60012;
	text-align:center;
	color:#e60012;
	width:45%;
	padding:10px 0;
	 float:left;
	 font-size:90%;
	 border-radius: 100px;
	}
.btn-r { margin-top:10px;}
.btn-r a {
	position:relative;
	display:block;
	background:#e60012;
	border:2px solid #e60012;
	text-align:center;
	color:#fff;
	width:45%;
	padding:10px 0;
	 float:right;
	 font-size:90%;
	 border-radius: 100px!important;
	}		
.btn-l a:after {
	position: absolute;
  content: url(/_common/img/list/icon1.png);
  display: inline-block;
  width: 12px;
  height: 12px;
  right:10px;
}
.btn-r a:after {
	position: absolute;
  content: url(/_common/img/list/icon2.png);
  display: inline-block;
  width: 12px;
  height: 12px;
  right:10px;
}

/*.ser-img { height:200px;}*/

.ser-img img { width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;}

@media screen and (max-width: 768px) {
	.spnone { display:none;}
.accordion-area li{
    margin: 65px 0;
}

/*アコーディオンタイトル*/
.accordion-area .title {

    font-size:18px;

}
.accordion-area .title span.titlesub { display:block; padding-top:5px;}
.accordion-area .title img { position:absolute; right:8px; bottom:-10px; width:80px;}

/*アコーディオンで現れるエリア*/
.box-con {
    padding: 20px 0px;
}	

ul.service-list li { position:relative; width:80%; margin:0 10% 80px 10%; float:none; font-size:12px; clear:both;}
.service-list .list_title { position:absolute; top:0; left:0%; background:#e60012; color:#fff; text-align:left; padding:5px 10px; letter-spacing: 1px; font-size:120%;}
.service-list .list_content { position:absolute; top:40%; left:5%; }
.service-list .list_content p.list_txt1 { letter-spacing: 1px; text-align:left; display:block; font-size:90%; line-height:200%; margin-bottom:3px;}
.service-list .list_content p.list_txt1 span { background:#fff; color:#000; padding:3px 6px; }
.service-list .list_content p.list_txt2 { letter-spacing: 1px; text-align:left; display:block; font-size:90%; line-height:200%; margin-bottom:3px;}
.service-list .list_content p.list_txt2 span { background:#000; color:#fff; padding:3px 6px; }
.btn-l { margin-top:10px;}
.btn-l a {
	display:block;
	background:#fff;
	border:2px solid #e60012;
	text-align:center;
	color:#e60012;
	width:45%;
	padding:10px 0;
	 float:left;
	 font-size:90%;
	 border-radius: 100px;
	}
.btn-r { margin-top:10px;}
.btn-r a {
	display:block;
	background:#e60012;
	border:2px solid #e60012;
	text-align:center;
	color:#fff;
	width:45%;
	padding:10px 0;
	 float:right;
	 font-size:90%;
	 border-radius: 100px!important;
	}		
.btn-l a:after {
	position: absolute;
  content: url(/_common//img/list/icon1.png);
  display: inline-block;
  width: 12px;
  height: 12px;
  right:10px;
}
.btn-r a:after {
	position: absolute;
  content: url(/_common//img/list/icon2.png);
  display: inline-block;
  width: 12px;
  height: 12px;
  right:10px;
}
	
	
	
}

/*==================================================
　data
===================================*/
.flex-box {
    background-color: #fff;     /* 背景色指定 */
    padding:  0;             /* 余白指定 */
    display: flex;              /* フレックスボックスにする */
    flex-wrap: wrap;            /* 折り返し指定 */
	width:100%;
	box-sizing:border-box;
}
 
.flex-item {
    padding:40px 20px;
    color:  #0c2132;               /* 文字色 */
    margin:  0 3% 5% 3%;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
    font-size:  30px;           /* 文字サイズ */
    width: 44%;               /* 幅指定 */
    text-align:  center;        /* 文字中央揃え */
	box-sizing:border-box;
	background:#f6fafb url(img/data/box-bg.png);
	border:12px solid #000;
}
.flex-item h3 { font-weight:800 !important; font-family: "Roboto", "見出ゴMB31",sans-seri;}


.chart-area{/*円グラフがスマホでつぶれないようにする*/
	position: relative;
	width:100%;
	height:50vh;
}

.flex-item p { margin:30px auto 30px auto; font-size:90%;}

.flex-item p span {font-weight:600 !important; font-family: "Roboto", "見出ゴMB31",sans-seri; font-size:72px; color:#50697d;}


@media screen and (max-width: 768px) {
.flex-box {
    background-color: #fff;     /* 背景色指定 */
    padding:  0;             /* 余白指定 */
    display: block !important;              /* フレックスボックスにする */

}
.flex-item {
    padding:30px 20px;
    margin:  0 5% 10% 5%;              /* 外側の余白 */
    font-size:  30px;           /* 文字サイズ */
    width: 90%;               /* 幅指定 */

}	
.flex-item h3 { font-size:24px;}	
	
	
	
}


/*==================================================
　staff
===================================*/
.staff-box-l,
.staff-box-r { margin:0 0 100px 0;  background:#f9f9f9; padding:0 25px 25px 25px;}

.staff-box-l ul li.staffimg { float:left; width:45%; margin:0 5% 0 0;}
.staff-box-l li.staffimg img { width:100%;}

.staff-box-l li.staffcon { margin-top:3%; float:right; width:50%; font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;}
.staff-box-l li.staffcon div.staff-ti {height:50px; background:url(img/staff/what1.png) no-repeat left top; padding-left:80px; padding-top:15px; font-size:24px; font-weight:900; margin:0 0 0 0;}
.staff-box-l li.staffcon p.staff-txt { font-size:16px; line-height:160%; margin:0 0 25px 0;}

.staff-box-r ul li.staffimg { float:right; width:45%; margin:0 0 0 5%;}
.staff-box-r li.staffimg img { width:100%;}

.staff-box-r li.staffcon { margin-top:3%; float:left; width:50%; font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;}
.staff-box-r li.staffcon div.staff-ti {height:50px; background:url(img/staff/what2.png) no-repeat left top; padding-left:80px; padding-top:15px; font-size:24px; font-weight:900; margin:0 0 0 0;}
.staff-box-r li.staffcon p.staff-txt { font-size:16px; line-height:160%; margin:0 0 25px 0;}

@media screen and (max-width: 768px) {
.staff-box-l ul li.staffimg,
.staff-box-r ul li.staffimg { float:none; width:80%; margin:0 10% 20px 10%;}

.staff-box-l li.staffcon,
.staff-box-r li.staffcon { margin-top:0; float:none; width:90%; margin:0 5%;}

.staff-box-l li.staffcon div.staff-ti,
.staff-box-r li.staffcon div.staff-ti {height:40px; padding-left:60px; padding-top:8px; font-size:21px; background-size:50px 36px;}

.staff-box-l li.staffcon p.staff-txt,
.staff-box-r li.staffcon p.staff-txt { font-size:14px; line-height:160%; margin:0 0 15px 0;}
	
}





	
ul.staff-box {}
ul.staff-box li { float:left; width:26.33333333333333333%; margin:0 3.5% 5% 3.5%;}
ul.staff-box li img { width:100%;}
.member-list__info {
    position: relative;
    margin-top: -18px;
    padding: 0 20px 20px;
    z-index: 10;
	font-size:16px;
}
.member-list__info .section {
    position: relative;
}
.member-list__info .section > span {
    display: inline-block;
    color: #fff;
    background-color: #e60012;
    padding: 10px 20px;
    font-weight: 700;
    font-size: 1em;
    white-space: nowrap;
}
.member-list__info .comment {
    padding-top: 20px;
    font-size: 1.13em;
    font-weight: 700;
    line-height: 1.5;
}
.member-list__info .meta {
    padding-top: 20px;
    color: #8f8e8e;
    font-size: 0.75em;
    font-weight: 700;
}
.member-list__info .name {
    display: inline-block;
    padding-top: 15px;
    font-size: 1.25em;
    font-weight: 700;
}
.member-list__info .name > span {
    display: inline-block;
    margin-left: 15px;
    color: #e60012;
    font-size: 0.75em;
}
.member-list__info .keyword {
    display: flex;
    margin-top: 20px;
    padding: 5px 0;
    border-top: 1px solid #e60012;
    border-bottom: 1px solid #e60012;
}
.member-list__info .keyword .red {
    white-space: nowrap;
    color: #e60012;
    margin-right: 10px;
    padding-right: 9px;
    border-right: 1px solid #e60012;
}



@media screen and (max-width: 768px) {
ul.staff-box li { float:left; width:46%; margin:0 2% 4% 2%; box-sizing:border-box;}
.member-list__info {
    position: relative;
    margin-top: -18px;
    padding: 0 10px 5px;
    z-index: 10;
	font-size:12px;
	width:100%;
	box-sizing:border-box;
}
.member-list__info .section > span {

    padding: 7px 10px;
	font-size:14px;

}

.member-list__info .comment {
    padding-top: 10px;
    font-size: 1.13em;
    font-weight: 700;
    line-height: 1.5;
}
.member-list__info .meta {
    padding-top: 10px;
    color: #8f8e8e;
    font-size: 0.75em;
    font-weight: 700;
}
.member-list__info .name {
    display: inline-block;
    padding-top: 7.5px;
    font-size: 1.25em;
    font-weight: 700;
}
.member-list__info .name > span {
    display: inline-block;
    margin-left: 15px;
    color: #e60012;
    font-size: 0.75em;
}


}



/*==================================================
　contact
===================================*/	

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}





table.tbl_contact { width:100%; margin:0 0 50px 0;}
table.tbl_contact tr {
    display: block;
    width: 100%;
    padding: 40px 60px;
    border-top: 1px solid #dcdcdc;
}

table.tbl_contact tr:last-of-type {
    border-bottom: 1px solid #dcdcdc;
}
table.tbl_contact th {
    width: 250px;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
	line-height:1.5;
}
table.tbl_contact th span {
	background:#e60012;
	font-size:8px;
	color:#fff;
	padding:3px 10px;
	border-radius: 10px;
	line-height:0px;
	vertical-align: middle;
	}
table.tbl_contact td {
    font-size: 1.7rem;
    text-align: left;
    vertical-align: top;
	line-height:1.5;
	background:#ccc;
	width:750px;
}
table.tbl_contact td span.comment {
    display: block;
    margin-top: 10px;
    font-size: 1.4rem;
}
.btn_contact { text-align:center; margin:0 0 200px 0;}

.m-form-text {
    height: 3em;
    width: 100%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.m-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.m-form-item-textarea textarea {
    height: 300px;
}

.m-form-textarea {
    display: block;
	height: 200px;
    width: 100%;
    padding: 4px 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
}

.m-form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.el_btn {
  font-size:110%;
  letter-spacing:2px;
}
input::placeholder,
textarea::placeholder {
  color: #d5d5d5;
}


table.tbl_contact tr td {
	background:none !important;
	}

.el_btn {
    display: inline-block;
	font-size:18px;
    width: 250px;
    max-width: 100%;
    padding: 16px 5px;
    background-color: #e60012;
    border: 2px solid transparent;
	font-family:"Roboto", "見出ゴMB31",sans-seri;
	font-weight:bold;
    color: #fff;
    text-align: center;
    text-decoration: none;
    transition: 0.25s;
    border-radius: 100px!important;
}


@media screen and (max-width: 768px) {

table.tbl_contact { width:100%; margin:0 0 50px 0;}
table.tbl_contact tr {
    display: block;
    width: 100%;
    padding: 0;
    border-top: 1px solid #dcdcdc;
}

table.tbl_contact tr:last-of-type {
    border-bottom: 1px solid #dcdcdc;
}
table.tbl_contact tr th,table.tbl_contact tr td {
	width:100%; display:block; background:none !important;
	}

table.tbl_contact th {
padding:20px 20px 0 20px; font-size:18px;
}
table.tbl_contact th span {
	font-size:8px;
	color:#fff;
	padding:3px 10px;
	border-radius: 10px;
	line-height:0px;
	vertical-align: middle;
	}
table.tbl_contact td {
padding:20px 20px 20px 20px;
}
table.tbl_contact td span.comment {
    display: block;
    margin-top: 10px;
    font-size: 1.4rem;
}
.btn_contact { text-align:center; margin:0 0 200px 0;}


.el_btn {

	font-size:16px;
    width: 200px;
    padding: 16px 5px;

}


}




/*==================================================
　privacy
===================================*/	

.privacy { line-height: 2; font-size:18px; width:80%; margin:auto 10%;}
.privacy dt {
    font-weight: bold;
    font-size: 20px;
    margin-top: 1em;
}

.privacy ul { margin-left: 1em;}
.privacy ol { margin-left: 2em;}
.privacy li {padding-left:1em; text-indent:-1em;}



@media screen and (max-width: 768px) {
.privacy { line-height: 2; font-size:14px; width:100%; margin:auto 0;}
.privacy dt {
    font-weight: bold;
	font-size:120%;
    margin-top: 1em;
}

.privacy ul { margin-left: 1em;}
.privacy ol { margin-left: 2em;}
.privacy li {padding-left:1em; text-indent:-1em;}

}

		
/* =====================================
 汎用プロパティ
===================================== */


/* テキストカラー */
.bk {color:#333!important;}
.green {color:#006633!important;}
.blue {color:#000099!important;}
.red { color:#CC0000!important;}
.redb { color:#CC0000!important; font-weight:500;}
.red2 { color:#ff0000!important;}

/* テキストサイズ */
.t50 { font-size:50%!important;}
.t60 { font-size:60%!important;}
.t70 { font-size:70%!important;}
.t80 { font-size:80%!important;}
.t90 { font-size:90%!important;}
.t120 { font-size:120%!important;}
.t130 { font-size:130%!important;}
.t140 { font-size:140%!important;}
.t150 { font-size:150%!important;}
.t160 { font-size:160%!important;}

/* bold */
.noto100 {font-weight:100;}
.noto200 {font-weight:200;}
.noto300 {font-weight:300;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto600 {font-weight:600;}
.noto700 {font-weight:700;}
.noto800 {font-weight:800;}
.noto900 {font-weight:900;}


/* ライン */
.tline { border-top:1px #ccc solid; padding-top:10px;}
.tline_d { border-top:1px #ccc dotted; padding-top:10px;}
.bline { border-bottom:1px #ccc solid; padding-bottom:10px;}
.bline_d { border-bottom:1px #ccc dotted; padding-bottom:10px;}
.line_t{text-decoration: line-through;}

.mt05 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}

.mr05 { margin-right: 5px !important;}
.mr10 { margin-right: 10px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}

.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb100 { margin-bottom: 100px !important;}

.ml05 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}

.pt-100 { padding-top: -170px !important;}

.pt05 { padding-top: 5px !important;}
.pt10 { padding-top: 10px !important;}
.pt15 { padding-top: 15px !important;}
.pt20 { padding-top: 20px !important;}
.pt25 { padding-top: 25px !important;}
.pt30 { padding-top: 30px !important;}
.pt35 { padding-top: 35px !important;}
.pt40 { padding-top: 40px !important;}
.pt45 { padding-top: 45px !important;}
.pt50 { padding-top: 50px !important;}
.pt80 { padding-top: 80px !important;}
.pt100 { padding-top: 100px !important;}

.pr05 { padding-right: 5px !important;}
.pr10 { padding-right: 10px !important;}
.pr15 { padding-right: 15px !important;}
.pr20 { padding-right: 20px !important;}
.pr25 { padding-right: 25px !important;}
.pr30 { padding-right: 30px !important;}
.pr35 { padding-right: 35px !important;}
.pr40 { padding-right: 40px !important;}
.pr45 { padding-right: 45px !important;}
.pr50 { padding-right: 50px !important;}

.pb05 { padding-bottom: 5px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pb30 { padding-bottom: 30px !important;}
.pb35 { padding-bottom: 35px !important;}
.pb40 { padding-bottom: 40px !important;}
.pb45 { padding-bottom: 45px !important;}
.pb50 { padding-bottom: 50px !important;}
.pb100 { padding-bottom: 100px !important;}

.pl05 { padding-left: 5px !important;}
.pl10 { padding-left: 10px !important;}
.pl15 { padding-left: 15px !important;}
.pl20 { padding-left: 20px !important;}
.pl25 { padding-left: 25px !important;}
.pl30 { padding-left: 30px !important;}
.pl35 { padding-left: 35px !important;}
.pl40 { padding-left: 40px !important;}
.pl45 { padding-left: 45px !important;}
.pl50 { padding-left: 50px !important;}

.tal { text-align:left!important;}
.tac { text-align:center!important;}
.tar { text-align:right!important;}


.img_c { width:100%; margin:0 auto;}
.img_c1150 { width:100%; max-width:1150px; margin:0 auto;}
.img_c800 { width:100%; max-width:800px; margin:0 auto;}
.img_c960 { width:100%; max-width:960px; margin:0 auto;}

.img_c img,
.img_c1150 img,
.img_c960 img,
.img_c800 img
 { width:100%;}



a:hover img {
		filter: alpha(opacity=70);
	    /* Safari Opera */
	    opacity:0.70;
	    /* Firefox Netscape */
	    -moz-opacity:0.70;
	}

a:hover img {
 *zoom: 1;
	cursor:pointer;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all  0.6s ease;
	}



/*
 map
---------------------------------------------------------------------- */
.gmap {
	position: relative;
	padding-bottom: 50%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	margin: 0 0 0 0;

}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
 border:0 !important;
}

@media screen and (max-width: 768px) {
.gmap {

	padding-bottom: 100%; /* これが縦横比 */


}	
}


/*
 フロート要素の適正な解除（Clearfix）
---------------------------------------------------------------------- */
.clearfixadd:after{content:'.'; display:block; height:0; clear:both; visibility:hidden;}
.clearfixadd{display:inline-block;}

/* Hides from IE-mac \*/
* html .clearfixadd{height:1%;}
.clearfixadd{display:block;}
/* End hide from IE-mac */
