/*--------------------------------------------------------------------
styel css
--------------------------------------------------------------------*/
* {
  box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	font-size: 6.25% !important;
}
body {
	font-size: 16px;
	line-height: 1.5;
	font-family: "ヒラギノ角ゴ Pro W6", Hiragino Kaku Gothic Pro, Osaka, "ＭＳ Ｐゴシック", sans-serif;
	color: #333333;
	width: 100%;
	margin: 0 auto;
    padding: 0;
}
header, footer, nav, section, clearfix{
    display: block;
}
img {
	max-width: 100%;
	height: auto;
}
a {
    margin: 0;
    padding: 0px;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    color: inherit;
    text-decoration: none;
}


div, form, map, th, td, p {
    margin: 0;
    padding: 0;
}
ul {
    list-style: none !important;
    display: block;
    list-style-type: disc;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 40px;
    margin: 0;
    padding: 0;
}
li {
    display: list-item;
    text-align: -webkit-match-parent;
    margin: 0;
    padding: 0;
}
table {
    font-size: inherit;
    font: 100%;
}
td, th {
    display: table-cell;
    vertical-align: inherit;
}
h1 {
	float: left;
}

/*--------------------------------------------------------------------
parts
--------------------------------------------------------------------*/
.left {
	float: left;
}
.right {
	float: right;
}
.nodisp {
	display: none;
}

/* margin */
.mgt_10 {
	margin-top: 10px !important;
}
.mgb_05 {
	margin-bottom: 5px !important;
}
.mgb_10 {
	margin-bottom: 10px !important;
}
.mgb_15 {
	margin-bottom: 15px !important;
}
.mgb_20 {
	margin-bottom: 20px !important;
}
.mgb_30 {
	margin-bottom: 30px !important;
}
.mgb_40 {
	margin-bottom: 40px !important;
}
.mgb_50 {
	margin-bottom: 50px !important;
}
.mgb_60 {
	margin-bottom: 60px !important;
}
.mgb_70 {
	margin-bottom: 70px !important;
}
.mgb_80 {
	margin-bottom: 80px !important;
}
.mgb_100 {
	margin-bottom: 100px !important;
}
.mgb_170 {
	margin-bottom: 170px !important;
}
.mgl_50 {
	margin-left: 50px !important;
}

/* テキスト 位置*/
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}

/* テキスト 色 */
.txt_red {
	color: #c32d02;
}
.txt_bl {
	color: #024eae;
}
.txt_org {
	color: #ee9201;
}
.txt_orange {
	color: #ed7201;
}

/* マーカー */
.linear_red {
	background:linear-gradient(transparent 70%, #ff9999 0%) ;
}
.liner_orange {
    border-bottom: 5px #f5c873 solid;
}

/* テキスト サイズ */
.txt_bold {
	font-weight: bold;
}
.txt_xxs {
	font-size: 8px;
}
.txt_xs {
	font-size: 12px;
}
.txt_s {
	font-size: 14px;
}
.txt_l {
	font-size: 18px;
}
.txt_xl {
	font-size: 20px;
}
.txt_xxl {
	font-size: 24px;
}
.txt_xxxl {
	font-size: 30px;
}
.txt_sml {
	font-size: 11px;
}

/* pc/sp */
.disp_sp {
  display: none;
}
@media (max-width: 768px) {
  .disp_pc {
    display: none;
  }
  .disp_sp {
    display: inline-block;
  }
}

/*--------------------------------------------------------------------
 リスト
--------------------------------------------------------------------*/
ul.lst01 li{
  margin-bottom: 10px;
  background: url(../images/check01.png) left 5px no-repeat;
  background-size: 20px;
  padding: 0 0 0 25px;
  border-bottom: dotted 2px #cbcbcb;
}


/*--------------------------------------------------------------------
header
--------------------------------------------------------------------*/
#header {
  width: 100%;
  text-align: left;
  z-index: 1000;
  display: block;
}
.header_inner {
  width: 100%;
  height: 55px;
  margin: 0 auto;
  position: relative;
  background-color: rgba(255,255,255,0.8);
}
.header_inner .h_logo {
  position: absolute;
  left: 8px;
  top: 11px;
}
.header_inner .h_logo img {
  width: 64%;
  height: auto;
  border: 0;
  vertical-align: top;
}

/*--------------------------------------------------------------------
 ハンバーガーメニューボタン
--------------------------------------------------------------------*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 10px;
  top   : 8px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 3px ;
  left    : 6px;
  background : #474241;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#474241;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#474241;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 100%;
  color: #333;
  background: rgb(255 255 255 / 100%);
  text-align: center;
  width: 100%;
  transition: all 0.6s;
}
nav.globalMenuSp ul {
    margin: 50px auto;
    padding: 0;
    width: 70%;
}
nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
    font-size: 1.2em;
	font-weight: bold;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}
nav.globalMenuSp ul li a {
    display: block;
    color: #333;
    padding: 15px 0;
    border-bottom: 1px solid;
    font-size: 0.9em;
}
/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
  transform: translateX(-100%);
}


/*--------------------------------------------------------------------
 footer
--------------------------------------------------------------------*/
footer {
    padding: 2em 4% 6em;
    line-height: 1.8;
    display: block;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}
footer .contacts .company {
    font-weight: bolder;
    vertical-align: middle;
    font-size: 1.2em;
}
footer .contacts .company img {
    vertical-align: middle;
    margin-right: 12px;
    max-width: 20%;
}
footer .contacts .telicon {
    float: left;
    max-width: 10%;
}
footer .contacts .tel {
    vertical-align: middle;
    font-size: 1.1em;
    font-weight: 700;
}
@media (max-width: 768px) {
  footer {
    padding: 2em 4% 6em;
  }
  footer .contacts_venture {
    width: 90%;
  }
}

.copy {
    padding: 0.8em 0;
    font-size: 11rem;
}
.pagetop {
  position: fixed;
  right: 1px;
  bottom: 100px;
  z-index: 100;
}
@media (max-width: 768px) {
  .pagetop {
    bottom: 110px;
  }
}
.cp_text01{
	margin: 10px 0 0 0;
	line-height: 1.4em;
	font-size: 0.8em;
}
.cp_text02{
	text-align: left;
	padding: 0.5 4% 1em 4%;
	line-height: 1.4em;
}
