@charset "UTF-8";

html,body {
	overflow-x: hidden;
	overflow-y: visible;
}
body {
	font-size:16px;
	margin: 0;
	padding: 0;
	line-height:1.8;
    color: #1d1d20;
    font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
	-webkit-text-size-adjust: 100%;
}
.mincho {
 	font-family: "游明朝", "Yu Mincho", "游明朝体", "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
a, a:link, a:visited, a:hover, a:active {
	text-decoration: none;
	color: #fff;
}
h1, h2, h3 {
 	margin: 0;
	padding: 0;
	font-weight: normal;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.red {
	color: #e60012;
}
.blue {
	color: #0000ff;
}
.black {
	color: #000;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.bgy {
	background-color: #fff100;
}
.ul {
	text-decoration: underline;
}

.p0 { padding: 0 !important;}
.p5 {padding: 5% 0 !important;}
.p8 {padding: 8% 0 !important;}
.p10 {padding: 10% 0 !important;}

.pt0 { padding-top: 0 !important;}
.pt1 { padding-top: 1% !important;}
.pt3 { padding-top: 3% !important;}
.pt5 { padding-top: 5% !important;}
.pt8 { padding-top: 8% !important;}
.pt10 { padding-top: 10% !important;}

.pb0 { padding-bottom: 0 !important;}
.pb1 { padding-bottom: 1% !important;}
.pb3 { padding-bottom: 3% !important;}
.pb5 { padding-bottom: 5% !important;}
.pb8 { padding-bottom: 8% !important;}
.pb10 { padding-bottom: 10% !important;}

.mt0 { margin-top: 0 !important;}
.mt1 { margin-top: 1% !important;}
.mt3 { margin-top: 3% !important;}
.mt5 { margin-top: 5% !important;}
.mt8 { margin-top: 8% !important;}
.mt10 { margin-top: 10% !important;}

.mb0 { margin-bottom: 0 !important;}
.mb1 { margin-bottom: 1% !important;}
.mb3 { margin-bottom: 3% !important;}
.mb5 { margin-bottom: 5% !important;}
.mb8 { margin-bottom: 8% !important;}
.mb10 { margin-bottom: 10% !important;}



/* font */
.f10 { font-size: 50% !important;}
.f12 { font-size: 60% !important;}
.f14 { font-size: 70% !important;}
.f16 { font-size: 80% !important;}
.f18 { font-size: 90% !important;}
.f20 { font-size: 100% !important;}
.f22 { font-size: 110% !important;}
.f24 { font-size: 120% !important;}
.f26 { font-size: 130% !important;}
.f28 { font-size: 140% !important;}
.f30 { font-size: 150% !important;}
.f32 { font-size: 160% !important;}
.f34 { font-size: 170% !important;}
.f36 { font-size: 180% !important;}
.f38 { font-size: 190% !important;}
.f40 { font-size: 200% !important;}
.f42 { font-size: 210% !important;}
.f44 { font-size: 220% !important;}
.f45 { font-size: 225% !important;}
.f48 { font-size: 240% !important;}
.f50 { font-size: 250% !important;}
.f54 { font-size: 270% !important;}
.f58 { font-size: 290% !important;}
.f60 { font-size: 300% !important;}
.f64 { font-size: 320% !important;}
.f68 { font-size: 340% !important;}
.f70 { font-size: 350% !important;}
.f72 { font-size: 360% !important;}

/* text-align */
.txt_l { text-align: left;}
.txt_c { text-align: center;}
.txt_r { text-align: right;}

.image_fr {
	float: right;
	width: 200px;
}
.w_50 {
	width: 50%;
	margin: 0 auto;
}
.w_60 {
	width: 60%;
	margin: 0 auto;
}
.w_70 {
	width: 70%;
	margin: 0 auto;
}
.w_80 {
	width: 80%;
	margin: 0 auto;
}



/*--------------------------------------
メニュー用*/
.bg_main{
    height:100vh;
    width:100vw;
    background: url("../images/bg_main.png")no-repeat center center/cover;
}
 .bg_main{
  position: relative;
}
.main{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 30%;
  height: 10rem;
}   

/* Reset style */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  color: #000;
  list-style: none;
  text-decoration: none;
}

/* Normal header style */
.header_bg {
  width: 100%;
  height: 80px;
}

.header_contents {
  width: 100%;
  max-width: 1024px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.header_nav_lists {
  display: flex;
}

.header_nav_lists li {
  margin: 0 30px 0 0;
}

.nav_link {
  font-size: 18px;
}

/* Responsive menu button */
.responsive_btn {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 40px 0 0;
  cursor: pointer;
  position: relative;
  z-index: 10;
}

.menu_line {
  background: #fafafa;
  border-radius: 5px;
  width: 100%;
  height: 5px;
  margin: 4px 0;
}

/* Responsive style */
@media screen and (max-width: 768px) {
  .responsive_btn {
    display: flex;
  }

  .header_bg {
    position: relative;
  }

  .header_nav {
    background: #323232;
    width: 100%;
    height: 100vh;
    padding: 80px 0 0 0;
    position: absolute;
    top: 0;
    right: -100%;
    transition: .5s;
    z-index: 9;
  }

  .header_nav_lists {
    display: block;
    text-align: center;
  }

  .header_nav_lists li {
    margin: 0 0 40px;
    text-align: center;
  }

  .nav_link {
    font-size: 20px;
  }
}

/* js function "menuToggle" starting only */
.menu_active {
  right: 0;
}
h1 {
	width: 200px;
    margin-left: 3%;
}
h1 img {
    vertical-align: middle;
}




/*--------------------------------------
本文用*/
.txtwrapper {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
    padding: 70px 0;
}
.txtwrapper2 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
    padding: 50px 0;
}
.txtwrapper2:last-child {
    padding: 50px 0 100px;
}
.image {
	padding-bottom: 5%;
	text-align: center;
}
.image:last-child {
	padding-bottom: 0;
}
.txt {
	padding-bottom: 5%;
}
.txt:last-child {
	padding-bottom: 0;
}
.title01 {
    width: 50%;
    padding-bottom: 5%;
}
.box01 {
    width: 80%;
    padding: 5%;
    margin-bottom: 10%;
    font-size: 80%;
    background-color: #f2f2f2;
}
.box01_in {
    width: 60%;
    color: #1d1d20;
}
.box01_img {
    width: 50%;
    margin-left: auto;
    margin-top: -43%;
}
.title02 {
    width: 50%;
    margin-left: auto;
    padding-bottom: 5%;
}


.box02 {
    width: 90%;
    margin-left: auto;
    padding: 5%;
    margin-bottom: 5%;
    font-size: 80%;
    background-color: #f2f2f2;
}

.box02_in {
    width: 60%;
    margin-left: auto;
    color: #1d1d20;
}
.box2h2 {
    padding-bottom: 3%;
    color: #1d1d20;
    font-weight: bold;
    font-size: 138%;
    line-height: 1.5;
}
.box02_img {
    width: 43%;
    margin-top: -40%;
}
.box022_img {
    width: 43%;
    margin-top: -50%;
}
.bg_black {
    background-color: #1d1d20;
}
.title03 {
    width: 50%;
    margin:0 auto;
    padding-bottom: 5%;
}
.box03 {
    width: 70%;
    padding: 5%;
    margin-bottom: 10%;
    font-size: 80%;
    background-color: #f2f2f2;
}
.box03_in {
    width: 70%;
    color: #1d1d20;
}
h2.box03h2 {
    padding-bottom: 3%;
    color: #1d1d20;
    font-weight: bold;
    font-size: 138%;
}
.box03_img {
    width: 43%;
    margin-left: auto;
    margin-top: -30%;
    padding-bottom: 10%;
}
.box04 {
    width: 70%;
    padding: 5%;
    margin-left: auto;
    margin-bottom: 10%;
    font-size: 80%;
    background-color: #f2f2f2;
}
.box04_in {
    width: 70%;
    margin-left: auto;
    color: #1d1d20;
}
h2.box04h2 {
    width: 70%;
    margin-left: auto;
    padding-bottom: 3%;
    color: #1d1d20;
    font-weight: bold;
    font-size: 138%;
}
.box04_img {
    width: 43%;
    margin-top: -30%;
}
.imagew {
    margin-top: 100px;
}
.box_contact {
    width: 80%;
    margin: 0 auto;
    padding: 8%;
    background-color: #f2f2f2;
}
.bg_campany {
    background: url("../images/bg_campany.png")no-repeat center center/cover;
}
li {
    font-size: 80%;
    color: #fff;
}
/*--------------------------------------
フォーム用*/

.tableWrapper {
	width: 100%;
	max-width:800px;
	margin: 0 auto 5%;
}
.tableWrapper table {
	width:100%;
	border-collapse:collapse;
}
.tableWrapper table th {
	width:100%;
	vertical-align:top;
	text-align:left;
	font-size: 100%;
	display: block;
    color: #1d1d20;
}
.tableWrapper table td {
	vertical-align:top;
	text-align:left;
	font-size: 100%;
	display: block;
}
.tableWrapper table td .txtForm {
	width:99.3%;
	height: 40px;
	border: solid 1px #d2d2d2;
	font-size: 100%;
	background-color: #fff;
}
.tableWrapper table td .txtForm2 {
	width:99.3%;
	height: 300px;
	border: solid 1px #d2d2d2;
	font-size: 100%;
	background-color: #fff;
}

.tableWrapper input[type="text"], input[type="tel"] {
    width: 98%;
    height: 2em;
	margin-bottom: 15px;
    font-size: 100%;
    border: solid 1px #d2d2d2;
}
.btn input[type='submit'] {
	width: 300px;
	padding: 3% 0;
	color: #fff;
	border:none;
	font-size: 100%;
	background-color: #1d1d20;
}
.btn {
	width: 300px;
	margin: 0 auto;
}
.btn input:hover {
	opacity: 0.7;
}
.req {
	margin-left: 5px;
	color: #ff0030;
	font-size: 10px;
	font-size: 90%;
}
.stxt {
    color: #1d1d20;
}
/*--------------------------------------
フッター用*/
footer {
	text-align: center;
	font-size: 60%;
	padding:3% 0;
	color: #fff;
	line-height: 1.5;
	background-color: #000;
}
footer a,footer a:link,footer a:visited,footer a:hover,footer a:active {
	text-decoration: none;
	color: #fff;
}
/*----------------------------------------
メニュー配置

#menu {
	position: fixed;
	width: 170px;
	bottom:55px;
	right: 1%;
	z-index: 2000;
}
#menu img:hover {
	opacity: 0.7;
}
#menu img {
	max-width: 100%;
	height: auto;
}
#menu .sub_btn {
	padding: 0;
	background-color: transparent;
	border:none;
	margin-bottom: 0;
}

@media screen and (min-width:1240px) {
	#menu {
		position: fixed;
		width: 170px;
		bottom: 55px;
		left: 50%;
		z-index: 2000;
		margin-left: 460px;
	}
}
-------------------------------------------*/

/*--------------------------------------
レスポンシブ*/

@media screen and (min-width: 800px){
	.sp{display:none;}
	br.sp {display: none;}
}
@media print, screen and (max-width: 800px) {
	body {
		font-size: 100%;
	}
	.pc {
		display: none;
	}
	br.sp {
		display: block;
	}
	#menu2{
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 9999;
	}
	#menu2 img {
		width: 100%;
	}
    .header_nav_lists li {
        margin-bottom: 2%;
    }
    .main {
        width: 50%;
    }
    .txtwrapper {
        padding: 8%;
        margin: 0 auto;
    }
    .txtwrapper2 {
        padding: 5% 0;
        margin: 0 auto;
    }
    .txtwrapper2:last-child {
        padding: 5% 0 10%;
    }
    .box_contact {
        width: 100%;
    }
    .btn {
        width: 80% !important;
        margin: 0 auto;
    }
    .btn input[type='submit'] {
        width: 100%;
    }
    .title01,.title02,.title03 {
        width: 85%;
        margin: 0 auto;
    }
    .box01 {
        width: 90%;
    }
    .box01_in,.box02_in {
        width: 100%;
        padding-bottom: 30%;
    }
    .box01_img,.box02_img,.box022_img {
        width: 90%;
        margin-top: -30%;
    }
    .imagew {
        margin-top: 10%;
    }
    .box02 {
        padding: 8%;
    }
    .box03,.box04 {
        width: 90%;
        padding: 8%;
        padding-bottom: 30%;
    }
    .box03_img,.box04_img {
        width: 80%;
        margin-top: -30%;
    }
    h2.box03h2,h2.box04h2 {
        width: 100%;
    }
    .box03_in,.box04_in {
        width: 100%;
    }
	footer {
		padding: 2% 0;
	}
	.w_45 {width: 60% !important; margin: 0 auto}
	.w_50 {width: 60% !important; margin: 0 auto;}
	.w_60 {width: 80% !important; margin: 0 auto;}
	.w_70 {width: 100% !important; margin: 0 auto;}
	.w_80 {width: 100% !important; margin: 0 auto;}
	.w_40_sp {width: 40% !important; margin: 0 auto;}
	.w_45_sp {width: 45% !important; margin: 0 auto;}
	.w_50_sp {width: 50% !important; margin: 0 auto;}
	.w_60_sp {width: 60% !important; margin: 0 auto;}
	.w_70_sp {width: 70% !important; margin: 0 auto;}
	.w_80_sp {width: 80% !important; margin: 0 auto;}
	
}
@media print, screen and (max-width: 800px) and (min-width: 640px) {
	body {
		font-size: 118%;
	}
	br {
		display: block;
		content: none;
	}
}
