/****************************
	element
****************************/
@font-face {
   
   src: url('font/font01.woff') format("woff");
}

.overlay-menu{
		display:none ;
	}
.button_container,.button_container .menu{display:none;}
/*#nav-drawer{
	display: none;
}*/
@media screen and (min-width:320px) and ( max-width: 767px){
	.overlay-menu{
		display:block;
	}
    header{padding-bottom:0px;
        margin-bottom:0px;
								align-items:stretch;
								}
	header nav a{
		width:100%;

	}
	header a:hover{opacity:1}
	.button_container{display: block;}

	img{
		margin-left: auto;
		margin-right: auto;
	}.button_container
}
.button_container {
  position: absolute;
  top: 11px;
  right: 1%;
  height: 25px;
  width: 33px;
  cursor: pointer;
  z-index: 10000;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;


}

.button_container.close {
  position: fixed;
  top: 5%;
  right: 2%;
  height: 27px;
  width: 35px;
  cursor: pointer;
  z-index: 100;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.button_container:hover {
  opacity: 0.7;

}
.button_container.active{
background:#fff;
border-radius:3px;
padding-bottom:8px;
}
.button_container.active .top {
  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
          transform: translateY(11px) translateX(0) rotate(45deg);
  background: #000;
margin-top:3px;


}
.button_container.active .middle {
  opacity: 0;
  background: #000;
}
.button_container.active .bottom {
  -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
          transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #000;
margin-top:3px;
}
    .button_container.active .menu{opacity:0;}

.button_container span {
  background: #333;
  border: none;
  height: 5px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  cursor: pointer;
}
.button_container span:nth-of-type(2) {
  top: 11px;
}
.button_container span:nth-of-type(3) {
  top: 22px;
}

.button_container span:nth-of-type(4) {
  top: 30px;font-size:10px;text-align:center;background: #fff;display:block;
}

.overlay {
  position: fixed;
  background: #333;
  top: 0;
  left: 0;
  width: 100%!important;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  overflow: hidden;
}

.overlay.close {
  position: fixed;
  background: #fe5d86;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  overflow: hidden;
}

.overlay.open {
  opacity: 0.9;
  visibility: visible;
  height: 100%;
  z-index:9999;
}
.overlay.open li {
  -webkit-animation: fadeInRight 0.5s ease forwards;
          animation: fadeInRight 0.5s ease forwards;
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
.overlay.open li:nth-of-type(2) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.overlay.open li:nth-of-type(3) {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
.overlay.open li:nth-of-type(4) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 20px;
  font-family: "Noway-round";
  font-weight: 400;
  text-align: center;
}
.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
width:90%;
}
.overlay ul li {
  display: block;
  height: 10%;
  height: calc(100% / 10);
  min-height: 30px;
  position: relative;
  opacity: 0;
text-align:left;
width:100%;
    /*background-color:#000;*/
}
.overlay ul li a {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  margin-right:0;
  font-size:20px!important;
width:100%!important;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
  width: 100%!important;
}
.overlay ul li a:after{display: block;
content: ">";
    font-size:18px;
position: absolute;
top: 0%;
right: 10px;
width: 0;
height: 0;
margin: -3px 0 0 0;
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
/*----------------------------------------------ksnguyen*/

body{
	min-width: 1000px;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

a{
	transition: .3s all;
}
a:hover{
	opacity: 0.6;
}

.inner{
	max-width: 920px;
	margin: 0 auto;
}
.inner-l{
	max-width: 1080px;
	margin: 0 auto;
}

.sp{
	display: none;
}

header{
	border-bottom: solid 2px #b50910;
	padding: 5px 10px 2px 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 999;
}
header nav{
	display: flex;
	align-items: center;
}
header nav a{
	width: 16.6666666667%;
	text-align:center;
}
header .tel{
	margin-left: 20px;
	pointer-events: none;
}

/*@media all and (-ms-high-contrast: none){*/
header{
	border-bottom: solid 2px #b50910;
	/*padding: 10px;*/
	padding: 5px 10px 2px 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	z-index: 999;
}
header .logo{width: 34.5%; min-width: 215px;}
header nav{width: 48%; min-width: 580px; max-width: 1020px;}
header .tel{width: 15%; min-width: 170px;}
select::-ms-expand {
    display: none;
}

/*}*/

#main{
	margin: 1px 0 0;
}
#main img{
	width: 100%;
}
/*@media all and (-ms-high-contrast: none){
#main{
	margin: 72px 0 0;
}*/
/*}*/

#read{
	padding: 80px 0 0px;
}
#read h2{
	font-size: 24px;
	line-height: 36px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 70px;
}
#read h2.h{
	font-size: 22px;
}
#read h2 .e{
 font-size: 130%;
}
#read h2 b{
	font-size: 30px;
	line-height: 45px;
}

#read .messagebox {
	padding:50px 0px;
	text-align:center;
	box-shadow:0px 0px 10px rgba(0,0,0,0.4);
	background:#FFF;
}

#read .messagebox .index{
	font-size:20px;
	font-weight:bold;
	margin:0px 20px 20px 20px;
}
#read .messagebox .text{
	font-size:16px;
	margin:0px 60px 20px 60px;
	line-height:1.7;
	text-align: left;
}
#read .messagebox .messagebtn {
	margin:0px 60px 10px 60px;
}
#read .messagebox .messagebtn img{
	max-width:600px;
	width:100%;
}
#read .messagebox .messagetel {
	margin:0px 60px 0px 60px;
}
#read .messagebox .messagetel img{
	max-width:600px;
	width:100%;
}

#features {
	padding: 80px 0 0px;
}
#features .inner{
	max-width:none;
}
#features h2{
	text-align:center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}
#features h2 .t{
	font-size: 30px;
	line-height: 40px;
	/*background:url(images/backh2.png) center center no-repeat;*/
}

#features h2 b{
	text-align:center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
}

#features .featuresList {
	text-align:center;
}

#features .featuresList .featuresBox{
	display:inline-block;
	width:30%;
	margin:0px 1% 20px 1%;
	padding:0px;
	vertical-align:top;
	border
}

#features .featuresList .featuresBox .img{
	margin:0px 0px 15px 0px;
}
#features .featuresList .featuresBox .img img{
	width:100%;
}
#features .featuresList .featuresBox .no{
	text-align:center;
	font-size:40px;
	font-weight:bold;
	vertical-align: middle;
	margin-bottom:15px;
}
#features .featuresList .featuresBox .index{
	text-align:center;
	font-size:20px;
	font-weight:bold;
	margin-bottom:15px;
}
#features .featuresList .featuresBox .text{
	text-align:left;
	font-size:16px;
	line-height:1.7;
}


#style {
	padding: 80px 0 0px;
}
#style h2{
	text-align:center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}
#style h2 b{
	text-align:center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
				letter-spacing:-0.05em;
}
#style h2 .t{
	font-size: 30px;
	line-height: 40px;
	/*background:url(images/backh2.png) center center no-repeat;*/
}

#style .text{
	text-align:center;
    font-size: 16px;
    line-height: 26px;
	margin-bottom:40px;
}
#style .text b{
    font-size: 20px;
	font-weight:bold;
    line-height: 40px;
}

#style .styleImg{
	width:100%;
}

#style .styleImg img{
	width:100%;
}

#price {
	padding: 80px 0 0px;
}

#price h2{
	text-align:center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}
#price h2 b{
	text-align:center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
				letter-spacing:-0.05em;
}
#price h2 .t{
	font-size: 30px;
	line-height: 40px;
	/*background:url(images/backh2.png) center center no-repeat;*/
}

#price .spindex{
	display:none;
}

#price .tablePc {
	display:block;
}
#price .tableSp {
	display:none;
}

#price .table {
	margin:0px 0px 20px 0px;
}
#price .table table{
	width:100%;
}
#price .table table thead td{
	width:25%;
}
#price .table table thead th{
	color: #FFF;
    font-size: 16px;
    line-height: 30px;
    font-weight: bold;
    background: #1d2a53;
	padding:5px 0px;
	border-right:1px solid #FFF;
	text-align:center;
}

#price .table table thead th.target{
	width:12%;
}
#price .table table thead th.season{
	width:18%;
}
#price .table table thead th.price{
	width:18%;
}
#price .table table.h thead td{
	width:auto;
}

#price .table table.h thead th.text{
	width:20%;
}
#price .table table.h thead th.target{
	width:20%;
}
#price .table table.h thead th.season{
	width:20%;
}
#price .table table.h thead th.price{
	width:20%;
}

#price .table table tbody th{
	color: #FFF;
    font-size: 18px;
    line-height: 20px;
    font-weight: bold;
    background: #1d2a53;
	padding:5px 0px;
	border-bottom:1px solid #FFF;
	text-align:center;
	vertical-align:middle;
}
#price .table table.h tbody th{
	padding: 6px;
}
#price .table table tbody td{
	font-size: 16px;
	color:#333;
	font-weight:bold;
	padding:20px 10px;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
	vertical-align:middle;
	text-align:center;
}
#price .table table.h tbody td{
	padding: 10px;
	
}
#price .table table tbody td{
	font-weight: normal;
}
#price .table table tbody td.text{
	text-align:left;
	line-height: 1.6;
}
#price .table table.h tbody td img{
vertical-align: middle;
margin: 0px;
padding: 0px;
}

#price .table table.h tbody td.target{
	text-align:left;
	line-height: 1.6;
}
#price .table table.h tbody td.season{
	text-align:left;
	line-height: 1.6;
}
#price .table table.h tbody td.price{
	text-align:center;
	line-height: 1.6;
}

#price .table table.h tbody .ex th{
	color: #666;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    background: #FFF;
	padding:0px 0px;
	border-bottom:none;
	border: none;
	text-align:left;
	vertical-align:top;
}
#price .table table.h tbody .ex td{
	color: #666;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    background: #FFF;
	padding:0px 0px;
	border-bottom:none;
	border: none;
	text-align:left;
	vertical-align:top;
}
#price .table p.ex{
	padding-top: 5px;
	font-size:14px;
}

#case {
	padding: 36px 0 7px 0;
	background:url(images/back_case.png) left top repeat;
}
#case h2{
	text-align:center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}
#case h2 b{
	text-align:center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
}

#case h2 .t{
	font-size: 34px;
	line-height: 40px;
	margin: 0px;
}

#case .text{
	text-align:center;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}

#case .caseList{
	text-align:center;
}

#case .caseList .caseBox{
	display:inline-block;
	width:45%;
	margin:0px 2% 0px 2%;
	vertical-align:top;
	display:inline-block;
}

#case .caseList .caseBox .img{
	margin-bottom:15px;
}
#case .caseList .caseBox .img img{
	width:100%;
}
#case .caseList .caseBox .name{
	margin-bottom:15px;
	margin:0 auto 15px auto;
	max-width:350px;
	color:#FFF;
	font-size: 16px;
	line-height:30px;
	font-weight:bold;
	background:#1d2a53;
}
#case .caseList .caseBox .index{
	text-align:center;
	font-size: 14px;
	line-height:1.8;
    font-weight: bold;
	margin-bottom:15px;
}
#case .caseList .caseBox .text{
	text-align: left;
    font-size: 16px;
    line-height: 1.7;
				color: #000;
				font-weight: normal;
				margin-bottom: 0px;
}


.cv-box01{
	background: url(images/cv_bg.png);
	border: solid 3px #dbd377;
	padding: 40px 30px;
	position: relative;
	text-align: left;
}
.cv-box01::after {
    content: "";
    width: 430px;
    height: 430px;
    position: absolute;
    right: -40px;
    bottom: 0;
    background: url(images/cv_img01.png) no-repeat;
    background-size: contain;
}

.cv-box01_o{
	background: url(images/cv_bg.png);
	border: solid 3px #dbd377;
	padding: 20px 30px 40px 30px;
	position: relative;
	text-align: left;
}
.cv-box01_o::after {
    content: "";
    width: 430px;
    height: 430px;
    position: absolute;
    right: -40px;
    bottom: 0;
    background: url(images/cv_img01_o.png) no-repeat;
    background-size: contain;
}
.cv-box01_o .title{
 text-align: center;
}
.cv-box01_o .title h3 {
   margin: 0px auto 20px auto;
			padding: 10px 20px;
			background: #e50012;
			color: #FFF;
			font-size: 36px;
			font-weight: bold;
			border-radius: 8px;
			display: inline-block;
			box-shadow: 3px 3px 0px rgba(0,0,0,0.2);
}
.cv-box01 ul li,
.cv-box01_o ul li{
    background: url(images/check_ico01.png) no-repeat left center;
    background-size: 30px;
    padding: 10px 0 10px 40px;
}
.cv-box01 .cv-arrow,
.cv-box01_o .cv-arrow{
	max-width: 60%;
	margin: 20px 0;
	text-align: center;
}
.cv-box01 p,
.cv-box01_o p{
	max-width: 60%;
	font-size: 18px;
	text-align: center;
	margin: 15px 0;
}
.cv-box01 p b,
.cv-box01_o p b{
	font-size: 34px;
}
.cv-box01 p span,
.cv-box01_o p span{
	font-weight: bold;
}
.cv-box01 a,
.cv-box01_o a{
	margin: 0!important;
}

#trouble {
    background: url(images/trouble_bg.png) no-repeat center #171717;
    padding: 90px 0;
    background-size: cover;
}
.trouble-box{
	
	padding-left: 300px;
}
.trouble-box h2 {
    font-size: 50px;
    color: #fff;
    margin: 0 0 55px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.65);
}
.trouble-box li {
    background: url(images/check_ico02.png) no-repeat left top;
    background-size: 44px;
    padding: 4px 0 0 50px;
    font-size: 27px;
    line-height: 32px;
    color: #fff;
    margin: 0 0 30px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.65);
}

#trouble-next{
	text-align: center;
	padding: 60px 0 50px;
}
#trouble-next h2{
	margin: 0 0 50px;
}
#trouble-next h3{
	margin: 0 0 45px;
	font-size: 22px;
}
#trouble-next h4{
	font-size: 50px;
}
#trouble-next ul{
	margin: 0 0 50px;
}
#trouble-next ul li{
	border: solid 1px #313131;
	border-radius: 100px;
	padding: 15px;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.02em;
	margin: 12px 0;
	position: relative;
}
#trouble-next ul li::after{
	border: solid 1px #313131;
	border-radius: 100px;
	content: "";
	display: block;
	position: absolute;
	left: 2px;
	right: 2px;
	top: 2px;
	bottom: 2px;
}
#trouble-next p{
	
	font-size: 34px;
	font-weight: bold;
	letter-spacing: 0.02em;
	margin: 0 0 70px;
}

#reason h2{
	
	background: #194494;
	padding: 60px 0;
	text-align: center;
	color: #fff;
	font-size: 50px;
	letter-spacing: 0.02em;
	font-weight: normal;
	position: relative;
}
#reason h2::after{
	content: "";
	display: block;
	width: 160px;
	height: 56px;
	position: absolute;
	left: 50%;
	bottom: -56px;
	margin: 0 0 0 -80px;
	background: url(images/ttl_arrow01.png) no-repeat center;
}
#reason h2 span{
	font-size: 70px;
}
#reason h3{
	
	font-size: 48px;
	font-weight: normal;
	margin: 60px 0;
	text-align: center;
}
#reason h4{
	text-align: center;
	margin: 30px 0 10px;
	font-size: 24px;
}
.reason-read{
	margin: 0 0 80px;
}
.reason-read img{
	width: 100%;
}
.reason-box01{
	margin: 120px 0 0;
	padding: 0 0 90px;
	position: relative;
}
.reason-box01::after{
	content: "";
	display: block;
	width: 160px;
	height: 56px;
	position: absolute;
	left: 50%;
	bottom: -56px;
	margin: 0 0 0 -80px;
	background: url(images/ttl_arrow02.png) no-repeat center;
}
.reason-box01 dl{
	display: table;
	width: 100%;
	margin: 0 0 45px;
}
.reason-box01 dl dt{
	display: table-cell;
	vertical-align: top;
	width: 300px;
	position: relative;
	z-index: 1;
}
.reason-box01 dl dd{
	display: table-cell;
	vertical-align: top;
	padding-left: 20px;
}
.reason-box01 dl dd span{
	margin: 0 0 25px -100px;
	display: block;
}
.reason-box01 dl dd p{
	font-size: 21px;
	line-height: 32px;
}
.reason-box01 dl dd p b.dot {
    padding-top: .25em;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: .3em;
    background-image:  url(images/icon_dot.png);
}


#reason01{
	text-align: center;
}
#reason01 h2{
	
	background: #41516e;
	padding: 55px 0 60px;
	text-align: center;
	color: #fff;
	font-size: 50px;
	line-height: 70px;
	letter-spacing: 0.02em;
	font-weight: normal;
	position: relative;
}
#reason01 h2::after{
	content: "";
	display: block;
	width: 160px;
	height: 56px;
	position: absolute;
	left: 50%;
	bottom: -56px;
	margin: 0 0 0 -80px;
	background: url(images/ttl_arrow03.png) no-repeat center;
}
.reason-box02{
	padding: 100px 0 0;
}
.reason-box02 h3{
	font-size: 50px;
	letter-spacing: 0.02em;
	border-bottom: solid 1px #313131;
	padding: 0 0 20px;
	margin: 0 0 30px;
}
.reason-box02 h3 span{
	font-size: 86px;
}
.reason-box02 h4{
	font-size: 30px;
	line-height: 52px;
	margin: 0 0 30px;
}
.reason-box02 h4 span{
	font-size: 42px;
}
.reason-box02 h4 span b{
	color: #e60309;
}
.reason-box02 h5{
	margin: 0 0 45px;
}
.reason-box02 p{
	font-size: 20px;
	line-height: 36px;
	letter-spacing: 0.05em;
	margin: 60px 0 50px;
}
.reason-box02 p span{
	color: #e60309;
	font-weight: bold;
}
.reason-arrow{
	margin: 50px 0;
}
.reason-img03{
	margin: 45px 0 0;
}
h2 .t:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 50px;
  height: 1px;
	margin-right: 15px;
  background:#111;
  background-size: contain;
  vertical-align: middle;
}
h2 .t:after {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 50px;
  height: 1px;
	margin-left: 15px;
  background:#111;
  background-size: contain;
  vertical-align: middle;
}
@media screen and (max-width: 767px){
h2 .ts:before,
h2 .ts:after{
width: 25px;
}
#contact h2 .ts b{
font-size: 26px;
line-height: 50px;
}
}
#reason02{
	padding: 70px 0 0;
	text-align: center;
}
#reason02 h2{
	
	text-align: center;
	font-size: 35px;
	line-height: 70px;
	margin: 0 0 50px;
}
#reason02 h2 span{
	color: #e6000a;
}
#reason02 h2 b{
	font-size: 60px;
	font-weight: normal;
}
#reason02 h2 .t{
	font-size: 34px;
	line-height: 40px;
	/*background:url(images/backh2.png) center center no-repeat;*/
}

#reason02 h3{
	
	text-align: center;
	font-size: 48px;
	line-height: 64px;
	font-weight: normal;
	margin: 0 0 60px;
}
#reason02 h3 span{
	color: #e6000a;
}
#reason02 h4{
	
	font-size: 36px;
	line-height: 60px;
	font-weight: normal;
	margin: 60px 0;
}
#reason02 h4 span {

    text-decoration: underline;
    text-decoration-color:#ffe400;
    border-color:#ffe400;
    padding: 0 0 5px;
    display: inline-block;
     -webkit-text-decoration-color:#ffe400;

}
@media all and (-ms-high-contrast: none){
#reason02 h4 span {
    border-bottom: none;
    padding: 0 0 5px;
    display: inline-block;
    position: relative;
}
#reason02 h4 span::after{
	content: "";
	width: 100%;
	height: 2px;
	background: yellow;
	display: block;
	margin: -12px 0 0;
}
}

@supports (-ms-ime-align: auto) {
#reason02 h4 span {
    border-bottom: none;
    padding: 0 0 5px;
    display: inline-block;
    position: relative;
}
#reason02 h4 span::after{
	content: "";
	width: 100%;
	height: 2px;
	background: yellow;
	display: block;
	margin: -12px 0 0;
}
}

#reason02 h6{
	text-align: center;
	font-size: 24px;
	line-height: 45px;
	letter-spacing: 0.05em;
	margin: 60px 0 80px;
}
#reason02 h6 span{
	color: #e6000a;
}
#reason02 a{
	display: block;
	max-width: 900px;
	margin: 55px auto 60px;
}
.reason02-txt01{
	margin: 60px 0 80px;
}
.reason02-txt01 p{
	font-size: 28px;
	line-height: 40px;
	text-align: center;
}
.reason02-txt01 span{
	position: relative;
}
.reason02-txt01 span:before{
    content: "いわ";
    display: block;
    position: absolute;
    left: 3px;
    top: -24px;
    letter-spacing: 0;
    font-size: 10px;
}
.reason02-txt02 p{
	font-size: 28px;
	line-height: 60px;
	text-align: center;
	margin: 0 0 60px;
}
.teacher-box01{
	display: flex;
	justify-content: space-between;
	margin: 0 0 60px;
}
.teacher-box01 div{
	width: 47%;
}
.teacher-box01 div p.name {
    margin: 0 0 -34px -9px;
    position: relative;
    z-index: 1;
}
.teacher-box01 div figure{
	position: relative;
}
.teacher-box01 div figure figcaption {
    position: absolute;
    right: -10px;
    bottom: -10px;
}
.teacher-box01 div p{
	font-size: 18px;
	line-height: 30px;
	text-align: justify;
	padding: 20px 10px 0;
}
.teacher-box02{
    background: url(images/txt_bg.png) no-repeat center;
    background-size: 100% 100%;
    text-align: center;
    max-width: 922px;
    min-height: 226px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 62px 30px 0;
}
.teacher-box02 h5{
	
	font-size: 24px;
	letter-spacing: 0.05em;
	color: #0b3d9a;
	margin: 0 0 20px;
}
.teacher-box02 p{
	text-align: justify;
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.05em;
}

#voice{
	padding: 65px 0;
}
.voice-box01{
	background: url(images/voice_bg.png);
	border: solid 1px #ccc7c7;
	padding: 0 20px 0px;
}
.voice-box01 h2{
	padding: 40px 0 0;
	text-align: center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
    color: #000b39;
}
.voice-box01 h2 .t{
	    font-size: 30px;
    line-height: 40px;
}

.voice-block{
    display: flex;
    justify-content: space-between;
    margin: 40px 0 40px;
}
.voice-block div{
	width: 48%;
	max-width: 454px;
}
.voice-block div dl{
	display: table;
	width: 100%;
}
.voice-block div dt{
	display: table-cell;
	vertical-align: top;
	width: 152px;
	text-align: left;
}
.voice-block div dt img{
	margin: 0 0 20px;
}
.voice-block div dd{
	display: table-cell;
	vertical-align: top;
}
.voice-block div dd span{
	display: block;
	margin: 0 0 10px;
}
.voice-block div dd h3{
	font-size: 16px;
	line-height: 25px;
	margin: 0 0 10px;
	color: #222222;
}
.voice-block div dd p{
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.05em;
	text-align: justify;
	margin: 0 0 20px;
}
.voice-block div dd a{
	color: #222222;
	text-align: right;
	display: block;
}
/*add*/
.voice-block div.ac-box{
	width: 100%;
	max-width: 100%;
	display: none;
}
.voice-block div.ac-box b {
    color: #c20004;
    line-height: 32px;
}

#map{
	background: #ecf4f7;
	padding: 70px 0;
}
#map .inner{
	position: relative;
}
#map .inner::before {
    content: "";
    display: block;
    position: absolute;
    right: -20px;
    bottom: 0;
    width: 399px;
    height: 431px;
    background: url(images/map.png) no-repeat center;
}
#map h3{
	font-family: 'Font01';
	font-size: 48px;
	font-weight: normal;
	margin: 0 0 40px;
}
#map h3 span{
	font-size: 62px;
	color: #e6000a
}
#map p{
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.05em;
	margin: 0 0 35px;
}
#map p:last-child{
	margin: 0;
}

#map_o{
	background: #FFF;
	padding: 70px 0;
}
#map_o .inner{
 position: relative;
}
#map_o h2{
	text-align: left;
	margin: 0px 0px 0px 90px;
}
#map_o h3{
	font-family: 'Font01';
	font-size: 48px;
	font-weight: normal;
	margin: 0 0 40px;
	text-align: center;
}
#map_o h3 span{
	font-size: 56px;
	color: #e6000a
}
#map_o p.text{
	font-size: 18px;
	line-height: 30px;
	margin: 0 0 15px 50px;
	letter-spacing: 0.05em;	
	text-align: left;
}
#map_o p.img{
	text-align: center;
}
#map_o p.img img{
	width: auto;
}


#price{
	padding: 70px 0;
}
#price .price-txt p{
	text-align: center;
	font-size: 18px;
	line-height: 35px;
	letter-spacing: 0.1em;
	margin: 0 0 35px;
}
#price .price-txt01 p{
	text-align: center;
	font-size: 18px;
	line-height: 35px;
	letter-spacing: 0.1em;
	margin: 35px 0 35px;
}
.price-box h3{
	max-width: 744px;
	font-size: 24px;
	letter-spacing: 0.1em;
	margin: 0 auto 15px;
}
.price-box p{
	max-width: 744px;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.1em;
	margin: 20px auto 15px;
}
.price-box table{
	width: 100%;
	max-width: 744px;
	margin: 0 auto;
	box-sizing: border-box;
	border: solid 5px #d7d7d7;
}
.price-box table th{
	border: solid 1px #d7d7d7;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-align: center;
	vertical-align: middle;
	padding: 15px;
}
.price-box table th.first{
	width: 300px;
}
.price-box table td{
	border: solid 1px #d7d7d7;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.1em;
	vertical-align: middle;
	padding: 15px;
}
.price-box table td b{
	font-size: 28px;
}
#price h4{
	text-align: center;
	font-size: 30px;
	line-height: 45px;
}
#price h4 b{
	font-size: 50px;
	color: #e6000a;
}
#price h4 span{
	color: #e6000a;
}
#price h5 {
    background: url(images/box_bg.png) no-repeat center;
    background-size: 100% 100%;
    text-align: center;
    font-size: 40px;
    line-height: 65px;
    letter-spacing: 0.025em;
    margin: 70px auto;
    padding: 25px 0 50px;
    max-width: 920px;
}
#price h5 span{
	font-size: 48px;
	color: #e60309;
}

#guidance{
	padding: 0 0 50px;
}
#guidance h2{
	font-family: 'Font01';
	text-align: center;
	font-weight: normal;
	font-size: 49px;
	color: #008463;
	margin: 0 0 50px;
	position: static;
}
#guidance h2::before{
	display: none;
}
#guidance p{
	font-size: 18px;
	line-height: 35px;
	letter-spacing: 0.02em;
	text-align: justify;
	margin: 0 0 50px;
}
.guidance-img01{
	display: flex;
	justify-content: space-between;
}
.guidance-img01 img{
	width: 50%;
}
.guidance-img01_o{
	text-align: center;
}
.guidance-img01_o img{
	width: auto;
}

#access{
	background: url(images/access_bg.png);
	padding: 50px 0;
}
.access-box{
	background: #fff;
	padding: 50px;
	box-sizing: border-box;
	position: relative;
}
.access-box dl{
	display: flex;
	justify-content: space-between;
}
.access-box dt{
	width: 42%;
}
.access-box dt h2{
	padding: 15px 0;
	margin: 0 0 20px;
	border-top: solid 1px #e60309;
	border-bottom: solid 1px #e60309;
	text-align: center;
}
.access-box dt p{
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.05em;
	margin: 0 0 20px;
}
.access-box dt ul li a{
	display: block;
	margin: 10px 0;
	padding: 20px 30px;
	border: solid 2px #e60309;
	border-radius: 7px;
	color: #313131;
	font-size: 18px;
}
.access-box dt ul li a span{
	display: inline-block;
	vertical-align: baseline;
	font-size: 14px;
	color: #e60309;
	margin: 0;
}
.access-box dt ul li a b{
	margin: 0 10px 0 0;
}
.access-box dd{
	width: 56%;
}
@media all and (-ms-high-contrast: none){
.access-box iframe{
	height: 680px;
}
}

#online{
	background: #f1f1ef;
	padding: 75px 0;
	text-align: center;
}
#online h2{
	margin: 0 0 45px;
}
#online h3{
	display: inline-block;
	margin: 75px 0 20px;
	padding: 0 0 10px;
	border-bottom: solid 1px #313131;
	font-size: 30px;
}
#online h3 span{
	color: #e60309;
}
#online img{
	display: block;
	margin: 0 auto 20px;
}
#online p{
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: left;
}

#ft-cv{
	padding: 80px 0 10px;
	text-align: center;
}
#ft-cv h2{
	text-align: center;
	font-size: 30px;
	line-height: 42px;
	margin: 0 0 70px;
}
#ft-cv h2 span{
	color: #e6000a;
}
#ft-cv h3{
	font-family: 'Font01';
	font-size: 40px;
	line-height: 70px;
	letter-spacing: 0.02em;
	text-align: center;
	margin: 70px 0;
}
#ft-cv h3 span{
	color: #e6000a;
}
#ft-cv h3 span b{
	font-weight: normal;
	font-size: 60px;
}
#ft-cv h4{
	display: inline-block;
	padding: 15px;
	font-size: 28px;
	letter-spacing: 0.02em;
	border: solid 2px #000;
	margin: 0 0 10px;
}
#ft-cv h5{
	font-size: 36px;
	line-height: 60px;
	letter-spacing: 0.02em;
	margin: 0 0 20px;
}
#ft-cv h5 span{
	color: #e6000a;
}
#ft-cv ul{
	margin: 0 70px 60px;
}
#ft-cv ul li{
	margin: 0 0 50px;
	text-align: left;
}
#ft-cv .arrow-box{
	text-align: center;
	margin: 0 0 30px;
}
#ft-cv #contact-tel {
	margin: -130px 0 0 0;
	padding: 130px 0 0 0;
}

#contact{
	padding: 70px 0 100px;
}
#contact h2{
	text-align:center;
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    margin: 0 0 30px;
	color:#000b39;
}
#contact h2 b{
	text-align:center;
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
				letter-spacing:-0.05em;
}
#contact h2 .t{
	font-size: 34px;
	line-height: 40px;
	margin: 0px;
	/*background:url(images/backh2.png) center center no-repeat;*/
}

#contact .img{
	text-align:center;
	margin-bottom:20px;
}
#contact .text{
	text-align:center;
	margin-bottom:20px;
    font-size: 16px;
    font-weight: bold;
    line-height: 25px;
}

#contact .contacttel{
	text-align:center;
}

#contact .redbanner{
	background: #f6040a;
	padding: 15px;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0.2em;
	font-weight: normal;
	text-align: center;
	color: #fff;
	margin: 0 0 25px;
}

#contact p{
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.05em;
	margin: 0 0 20px;
}
#contact span.req{
	color: #f6040a;
}

#contact .tableouter{
	padding:20px 30px;
	box-shadow:0px 0px 10px rgba(0,0,0,0.4);
	background:#FFF;
}
#contact table{
	width: 100%;
	margin-bottom:20px;
}

#contact table thead th{
	text-align:center;
	font-size:18px;
	font-weight:bold;
	background-color:#eeeeed;
	color:#000;
	border:none;
}
#contact tr{
	border-bottom: solid 1px #ddd;
}
#contact th{
	padding: 20px 0;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.05em;
	width: 280px;
	text-align: left;
	vertical-align: top;
}
#contact td{
	padding: 20px 0;
}

#contact td #address_no{
	width:200px;
	margin-bottom:10px;
	display:inline-block;
	margin-left:5px;
}
#contact td .address{
	margin-bottom:5px;
}
#contact td .address .index{
	font-size: 16px;
    line-height: 24px;
	display:inline-block;
	width:105px;
	vertical-align:middle;
	margin:0px 10px 0px 0px;
}
#contact td .address .form{
	display:inline-block;
	max-width:375px;
	vertical-align:middle;
	margin:0px;
}
#contact td .address .index .form input{
	width:auto;
}

#contact td span.txt{
	font-size: 10px;
	vertical-align: middle;
}
#contact td .input{
	display: block;
    box-sizing: border-box;
    border-radius: 7px;
    width: 100%;
    max-width: 500px;
    padding: 10px;
    border: solid 1px #ddd;
    font-size: 15px;
}

#contact td .mwform-checkbox-field,
#contact td .mwform-radio-field {
    margin:0px 0px 5px 0px;
	display: block;
}
#contact td .mwform-checkbox-field label,
#contact td .mwform-radio-field label{
	display: block;
    box-sizing: border-box;
    border-radius: 7px;
    width: 100%;
    max-width: 500px;
    padding: 10px;
    border: solid 1px #ddd;
    font-size: 15px;
}
#contact td .mwform-checkbox-field input,
#contact td .mwform-radio-field input{
	margin: 0;
	vertical-align:middle;
}
#contact td .tel {
    display: inline-block;
    box-sizing: border-box;
    border-radius: 7px;
    width: 31%;
    max-width: 100px;
    padding: 10px;
    border: solid 1px #ddd;
}
#contact td textarea{
	display: block;
	box-sizing: border-box;
	border-radius: 7px;
	width: 100%;
	height: 140px;
	padding: 10px;
	border: solid 1px #ddd;
}
#contact td dl {
    display: table;
    width: 100%;
    margin: 0 0 10px;
}
#contact td dt {
    display: table-cell;
    vertical-align: middle;
    width: 400px;
    position: relative;
}
#contact td dt::after {
    /*content: "▼";*/
    display: block;
    position: absolute;
    right: 25px;
    top: 10px;
    font-size: 12px;
}
#contact td dt input {
    display: inline-block;
    box-sizing: border-box;
    border-radius: 7px;
    width: 310px;
    padding: 10px;
    margin: 0 0 0 10px;
    border: solid 1px #ddd;
    font-size: 15px;
}

#contact .policy {
	padding:30px 0px 0px 0px;
	text-align:center;
	font-size: 16px;
	font-weight:bold;
}

#contact .policy .check{
	text-align: center;
    font-size: 18px;
    font-weight: bold;
    background-color: #eeeeed;
    color: #000;
    border: none;
	padding:10px 0px;
	margin:15px 0px;
}


#contact select {
    font-size: 15px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 74px;
    height: 35px;
    background: transparent;
    position: relative;
    z-index: 1;
    padding: 0 10px 0 10px;
    border: 1px solid #dddddd;
    border-radius: 7px;
    box-sizing: border-box;
    margin: 0 5px 0 10px;
}
#contact select.select01{
    font-size: 15px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: auto;
    height: 35px;
    background: transparent;
    position: relative;
    z-index: 1;
    padding: 0 10px 0 10px;
    border: 1px solid #dddddd;
    border-radius: 7px;
    box-sizing: border-box;
    margin: 0;
}
#contact td dd{
	display: table-cell;
	vertical-align: top;
}
/*
.submit{
	background: #ffffff;
	display: block;
	color: #f6040a;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.05em;
	border-radius: 7px;
	text-align: center;
	width: 260px;
	padding: 20px 0;
	margin: 20px auto 0;
	border:#f6040a 3px solid;
	cursor: pointer;
	font-weight: bold;
	box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
.submit:hover{
 background:#f6040a;
	color: #ffffff;
}
.return{
	background: #ffffff;
	display: block;
	color: #3e3e3e;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.05em;
	border-radius: 7px;
	text-align: center;
	width: 260px;
	padding: 20px 0;
	margin: 20px auto 0;
	border:#3e3e3e 3px solid;
	cursor: pointer;
	font-weight: bold;
	box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
.return:hover{
 background:#3e3e3e;
	color: #ffffff;
}
*/


#footer{
	margin:0px;
}
#footer .footnavi{
	margin:0px 10px;
	padding:10px 0px;
}

#footer .footnavi .logo{
	float:left;
	width:30%;
}
#footer .footnavi nav{
	float:right;
	width:65%;
	text-align:right;
}


#footer .copy{
	clear:both;
    color: #FFF;
    font-size: 14px;
    line-height: 30px;
    background: #1d2a53;
	text-align:center;
}
#footer .copy a{
	color:#FFF;
}

.submit{
	background: url(images/btn_bk_red.png) left center repeat-x;
	display: block;
	color: #FFFFFF;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.05em;
	border-radius: 7px;
	text-align: center;
	width: 260px;
	padding: 20px 0;
	margin: 20px auto 0;
	border:#f6040a 1px solid;
	cursor: pointer;
	font-weight: bold;
	box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
.submit a{
 color: #FFF;
}
.submit:hover{
 opacity: 0.7;
}
.submitBtn{
	background: url(images/btn_bk_red.png) left center repeat-x;
	display: block;
	color: #FFFFFF;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.05em;
	border-radius: 7px;
	text-align: center;
	width: 260px;
	padding: 20px 0;
	margin: 20px auto 0;
	border:#f6040a 1px solid;
	cursor: pointer;
	font-weight: bold;
	box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}

.submitBtn:hover{
 opacity: 0.7;
}
.submitBtn a{
 color: #FFF;
}

.return{
	background: url(images/btn_bk_gray.png) left center repeat-x;
	display: block;
	color: #3e3e3e;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.05em;
	border-radius: 7px;
	text-align: center;
	width: 260px;
	padding: 20px 0;
	margin: 20px auto 0;
	border:#989898 1px solid;
	cursor: pointer;
	font-weight: bold;
	box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
.return:hover{
 opacity: 0.7;
}

.confirm .btnArea {
 padding: 20px 0px;
 text-align: center;
}
.confirm .btnArea input {
    width: 150px;
				margin: 5px;
				padding: 10px 0;
				display: inline-block;
}


#submit{
	padding: 0;
}
#submit a{
	color: #fff;
	display: block;
	padding: 20px 0;
}
#contact span.error{
	display: block;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #f6040a;
	margin: 10px 0 0;
}

.tab {
    overflow: hidden;
    width: 300px;
    position: absolute;
    bottom: 134px;
    left: 50px;
}
.link {
    overflow: hidden;
    width: 300px;
    position: absolute;
    bottom: 50px;
    left: 50px;
}
.tab li, .link li {
	background: url(images/arrow01.png) no-repeat 95% center;
	background-size: 18px;
    display: block;
    margin: 10px 0;
    padding: 20px 30px;
    border: solid 2px #e60309;
    border-radius: 7px;
    color: #313131;
    font-size: 18px;
    transition: .3s all;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
}
.link li{
	font-size: 15px;
}
.link li a{
	color: #313131;
}
.tab li b,.link li b{
	margin: 0 10px 0 0;
	color: #313131;
}
.tab li span,.link li span{
	display: inline-block;
    vertical-align: baseline;
    font-size: 14px;
    color: #e60309;
    margin: 0;
    transition: .3s all;
}
.tab li.select{
	background: url(images/arrow02.png) no-repeat 95% center #e60309;
	background-size: 18px;
	display: block;
    margin: 10px 0;
    padding: 20px 30px;
    border: solid 2px #e60309;
    border-radius: 7px;
    color: #fff;
    font-size: 18px;
}
.content dl{
	min-height: 680px;
}
.tab li.select b{
	color: #fff;
}
.tab li.select span{
	color: #fff;
}
.hide {
	display:none;
}
p.mw_wp_form_complete{
	font-size: 15px;
	line-height: 24px;
}

td .select{
	display: inline-block;
	position: relative;
}
td .select::after {
    content: "▼";
    display: block;
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 12px;
}
.mw_wp_form_confirm td .select::after {
    content: "▼";
    display: none;
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 12px;
}
#contact .mw_wp_form_confirm  td span.txt {
    display: none;
}
td .select span.error {
    /*position: absolute;*/
    margin: 5px 0 0!important;
}

#fixed {
    display: none;
}


.sp{
	display:none;
}
.page-id-5185 {
    min-width: unset;
    padding: 15px;
  }

@media screen and (min-width:320px) and ( max-width: 767px) {
body{
	min-width: 0;
}
.inner{
	max-width: 920px;
	margin: 0 auto;
}
.inner-l{
	max-width: 1024px;
	margin: 0 auto;
}
.pc{
	display: none;
}

header{
	border-bottom: solid 2px #b50910;
	padding: 2px 3px 5px 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	background: #fff;
	z-index: 999;
	/*height:50px;*/
}
header nav{
	display: none;
	align-items: center;
}

header nav a{
	width: 16.6666666667%;
	text-align:center;
}
header .tel{
	pointer-events: painted;
	margin-left: 20px;
}

.logo{
	display:none;
}

.sp{
	display:block;
}

.logo-sp{
	width:34%;
	float:left;
}
.logo-sp a {
 color:#000;
}

.logo-sp p{
	font-weight:bold;
	text-align: center!important;
	padding-top:5px;
	font-size:3vw;
}

.logo-sp p span{
	color:#E50111;
	font-weight:bold;
}

.contact{
	float:left;
	width:63%;
	padding-left:1%;
	position: relative;
}
.contact a{
 margin: 0px;
	padding: 0px;
}
.contact h2{
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;helvetica, sans-serif;
	font-size:3vw;
	text-align: left;
	padding-left:3px;
    margin-top:0px;
				letter-spacing: -0.5px;
				width: 195px;
				text-align: center;
}
.contact img{
	width:41.5%;
	padding:0px;
	text-align: center;
	padding-top:1px;
}
.contact .tell-sp{
	/*position:absolute;
	top:3.5vw;
    height:auto;*/
}
.tel{
	display:none;
}

.btn {
    background:transparent url(btn.png) no-repeat 0 0;
    display: block;
    width:30px;
    height: 30px;
    position: absolute;
    top:2vw;
    right:4px;
    padding-right:0px;
    cursor: pointer;
    z-index: 200;
    color:black;
}

.my-parts {
  display: inline-block;
  width: 35px;
  height: 35px;
  position: relative;
  box-shadow: 0 0 0 1px rgba(0,0,0,.1);
  cursor: pointer;
  background-color: white;
}
.my-parts span {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 84%;
  height: 3px;
  margin: -3% 0 0 -42%;
  background: rgb(66, 70, 72);
}
.my-parts span::before,
.my-parts span::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 3px;
  margin: -3% 0 0 -50%;
  background: rgb(66, 70, 72);
}
.my-parts span::before {
  margin-top: -30%;
}
.my-parts span::after {
  margin-top: 19%;
}


/*---------------------------*/

@media screen and (min-width:320px) and ( max-width: 767px){
	.overlay-menu{
		display:block;
	}
    header{padding-bottom:0px;
        margin-bottom:0px;
								align-items:stretch;
								}
	header nav a{
		width:100%;

	}
	header a:hover{opacity:1}
	.button_container{display: block;}
}
.button_container {
  position: absolute;
  top: 11px;
  right: 1%;
  height: 25px;
  width: 33px;
  cursor: pointer;
  z-index: 10000;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;


}

.button_container.close {
  position: fixed;
  top: 5%;
  right: 2%;
  height: 27px;
  width: 35px;
  cursor: pointer;
  z-index: 100;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.button_container:hover {
  opacity: 0.7;

}
.button_container.active{
background:#fff;
border-radius:3px;
padding-bottom:8px;
}
.button_container.active .top {
  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
          transform: translateY(11px) translateX(0) rotate(45deg);
  background: #000;
margin-top:3px;


}
.button_container.active .middle {
  opacity: 0;
  background: #000;
}
.button_container.active .bottom {
  -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
          transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #000;
margin-top:3px;
}
    .button_container.active .menu{opacity:0;}

.button_container span {
  background: #333;
  border: none;
  height: 5px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
  cursor: pointer;
}
.button_container span:nth-of-type(2) {
  top: 11px;
}
.button_container span:nth-of-type(3) {
  top: 22px;
}

.button_container span:nth-of-type(4) {
  top: 30px;font-size:10px;text-align:center;background: #fff;display:block;
}

.overlay {
  position: fixed;
  background: #333;
  top: 0;
  left: 0;
  width: 100%!important;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  overflow: hidden;
}

.overlay.close {
  position: fixed;
  background: #fe5d86;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  overflow: hidden;
}

.overlay.open {
  opacity: 0.9;
  visibility: visible;
  height: 100%;
  z-index:9999;
}
.overlay.open li {
  -webkit-animation: fadeInRight 0.5s ease forwards;
          animation: fadeInRight 0.5s ease forwards;
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
.overlay.open li:nth-of-type(2) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.overlay.open li:nth-of-type(3) {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
.overlay.open li:nth-of-type(4) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 20px;
  font-family: "Noway-round";
  font-weight: 400;
  text-align: center;
}
.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
width:90%;
}
.overlay ul li {
  display: block;
  height: 10%;
  height: calc(100% / 10);
  min-height: 30px;
  position: relative;
  opacity: 0;
text-align:left;
width:100%;
    /*background-color:#000;*/
}
.overlay ul li a {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  margin-right:0;
  font-size:20px!important;
width:100%!important;
text-align:left;
padding:5px 0px;
}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
  width: 100%!important;
}
/*.overlay ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 3px;
  background: #fff;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}*/
.overlay ul li a:after{display: block;
content: ">";
    font-size:18px;
position: absolute;
top: 0%;
right: 10px;
width: 0;
height: 0;
margin: -3px 0 0 0;
/*border-top: 8px solid #fff;
border-left: 8px solid transparent;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);*/
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}


.peke {
    background-position: -35px 0;
}
.drawr {
    display: none;
    background-color:rgba(0,0,0,0.9);
    position: absolute;
    top: 0px;
    right:0;
    width:320px;
    padding:30px 0 10px 10px;
    z-index: 100;
}

#menu{
	margin-top:60px;
	width:320px;
	word-wrap:break-word;
	margin-right:0;
}

#menu li {
    width:320px;
}
#menu li a {
    color:#333;
    display: block;
    padding: 15px;
}

/*---------------------------*/

#main{
	margin: 60px 0 0;
}

#read{
	padding: 30px 10px;
}
#read h2{
	font-size: 18px;
	line-height: 28px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 40px;
}
#read h2 b{
	font-size: 22px;
	line-height:30px;
	font-weight: bold;	
}


#read h2.h{
	font-size: 14px;
	line-height: 22px;
}
#read h2.h b{
	font-size: 18px;
	line-height:26px;
}

/*#read span{
	color: #e6000a;
}*/
#read b{
	font-size: 18px;
	font-weight: normal;
}

#read .messagebox{
	padding: 20px 0px;
}
#read .messagebox .index {
    font-size: 16px;
	line-height: 26px;
    margin: 0px 15px 15px 15px;
}
#read .messagebox .text {
	font-size: 14px;
    margin: 0px 15px 15px 15px;
}
#read .messagebox .messagebtn {
    margin: 0px 15px 10px 15px;
}
#read .messagebox .messagebtn {
    margin: 0px 15px 10px 15px;
}
#read .messagebox .messagetel {
    margin: 0px 15px 0px 15px;
}

#features {
    padding: 50px 0 0px;
}
#features .featuresList {
	margin:0px 20px;
}
#features .featuresList .featuresBox {
    display:block;
    width: auto;
    margin: 0px 0px 40px 0px;
	padding: 0px 0px 40px 0px;
	border-bottom: 1px solid #111;
}
#features .featuresList .featuresBox .no {
	display:inline-block;
	margin:0px 5px 15px 0px;
	vertical-align: middle;
}
#features .featuresList .featuresBox .index {
	display:inline-block;
	font-size: 16px;
	line-height: 24px;
	vertical-align: middle;
}

#features .featuresList .featuresBox .text {
	font-size: 14px;
	line-height: 22px;
}	
	
#style {
    padding: 50px 0 0px;
}

#style .text {
    text-align: center;
    font-size: 14px;
    line-height: 24px;
    margin:0px 10px 20px 10px;
}
#style .text b{
    font-size: 16px;
	font-weight:bold;
    line-height: 32px;
}
#style .text_h p{
padding-top: 20px;
text-align: left;
}

#price {
    padding: 50px 0 20px 0;
}


#price .spindex{
	padding:5px 0px;
	display:block;
	color:#1d2a53;
	font-size:14px;
	font-weight:bold;
}

#price .tablePc {
	display:none;
}
#price .tableSp {
	display:block;
}

#price .table {
    margin: 0px 10px 20px 10px;
	overflow: auto;
}
#price .table table {
   width: 875px;
	margin: 0px 0px 10px 0px;
}
#price .table table.h {
	width: 1220px
}
#price .table table thead td{
	width: 80px;
	vertical-align:middle;
}
#price .table table thead th{
    font-size: 14px;
    font-weight: bold;
	width: 300px;
	vertical-align: middle;
}
#price .table table tbody th{
    font-size: 14px;
}
#price .table table tbody td{
	font-size: 14px;
	border-left:1px solid #333;
	vertical-align: middle;
}
#price .table table tbody .text td{
	text-align: left;
}
#price .table .kome{
	margin: 0px;
	font-size: 14px;
	color: #333;
}	

#case {
    padding: 36px 0 20px 0;
}

#case .text {
    margin: 0 10px 15px 10px;
}

#case .caseList {
    margin: 0 10px;
}

#case .caseList .caseBox {
    display: block;
    width: auto;
    margin: 0px 0px 20px 0px;
}

#contact {
    padding: 20px 15px 40px 15px;
}
#contact p{
	font-size: 16px;
	letter-spacing: 0.05em;
	margin: 0 0 20px;
}

#contact .text {
    font-size: 14px;
	line-height:22px;
}
#contact span.req{
	color: #f6040a;
}

#contact .tableouter {
    padding: 15px 15px;
}

#contact table thead th {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    background-color: #eeeeed;
    color: #000;
    border: none;
	padding:10px 0px;
}

#contact table{
	width: 100%;
}
#contact tr,#contact tbody{
	display: block;
	border-bottom: solid 1px #ddd;
}
#contact th{
	padding: 20px 0 0;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.05em;
	width: auto;
	text-align: left;
	vertical-align: top;
	display: block;
}
#contact td{
	display: block;
	padding: 20px 0;
}
#contact td textarea{
	display: block;
	box-sizing: border-box;
	border-radius: 7px;
	width: 100%;
	height: 100px;
	padding: 10px;
	border: solid 1px #ddd;
}

#contact td.serveceTd .mwform-checkbox-field:first-child label{
	font-size: 13px;
}

#submit {
    background: #f6040a;
    display: block;
    color: #fff;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.05em;
    border-radius: 7px;
    text-align: center;
    width: 260px;
    padding: 0;
    margin: 20px auto 0;
}
#submit a{
	color: #fff;
}

#contact td dl {
    display: block;
    width: 100%;
    margin: 0 0 10px;
}
#contact td dt {
    display: block;
    vertical-align: middle;
    width: 100%;
}

#footer .footnavi nav{
	float:inherit;
	width:100%;
}
#footer .footnavi nav a{
	
}
#footer .footnavi nav a img{
	height:40px;
	
}
.confirm #lpForm dl dt {
    display:inline-block;
				width: auto;
}
.confirm #lpForm dl dd {
    display:inline-block;
				width: auto;
}
.confirm #lpForm dl dd .select{
    display:inline-block;
				padding:0px;
				min-width:auto;
}

#contact td dd {
    display: block;
    vertical-align: middle;
}
#contact td dt input {
    display: block;
    box-sizing: border-box;
    border-radius: 7px;
    width: 100%;
    padding: 10px;
    margin: 10px 0 10px;
    border: solid 1px #ddd;
}
#contact span.error {
    display: block;
    font-size: 14px;
    letter-spacing: 0.05em;
    color: #f6040a;
    margin: 10px 0;
}

.tab {
    overflow: hidden;
    width: auto;
    position: static;
    bottom: 134px;
    left: 50px;
}
.link {
    overflow: hidden;
    width: auto;
    position: static;
    bottom: 50px;
    left: 50px;
}
.tab li, .link li {
    display: block;
    margin: 10px 0;
    padding: 15px 15px;
    border: solid 2px #e60309;
    border-radius: 7px;
    color: #313131;
    font-size: 18px;
    transition: .3s all;
}
.link li{
	font-size: 15px;
	margin: 0 0 15px;
}
.link li a{
	color: #313131;
}
.tab li b,.link li b{
	margin: 0 10px 0 0;
	color: #313131;
}
.link li b{
	display: block;
	margin: 0 0 8px;
}
.tab li span,.link li span{
	display: inline-block;
    vertical-align: baseline;
    font-size: 14px;
    color: #e60309;
    margin: 0;
    transition: .3s all;
}
.tab li.select{
	background: url(images/arrow02.png) no-repeat 95% center #e60309;
	background-size: 18px;
	display: block;
    margin: 10px 0;
    padding: 15px;
    border: solid 2px #e60309;
    border-radius: 7px;
    color: #fff;
    font-size: 18px;
}
.content dl{
	min-height: 0;
}
.tab li.select b{
	color: #fff;
}
.tab li.select span{
	color: #fff;
}
.hide {
	display:none;
}

/*.sp{
	display: block;
}*/
header .sp {
	padding: 8px 0px 3px 0px;
}

#fixed {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    visibility: hidden;
    transition: .3s all;
    opacity: 0;
    z-index: 999;
}
/*
#fixed.view {
    visibility: visible;
    opacity: 1;
}
#fixed.hide {
    visibility: hidden;
    opacity: 0;
}
*/
#fixed ul {
    background: #eaeaea;
    display: flex;
    justify-content: space-between;
    padding: 2%;
}
#fixed li {
    width: 49%;
}
.remodal-is-initialized {
    display: block;
    margin: 10% auto;
    max-width: 80%;
}

/*add*/
input[type="submit"],
input[type="button"] {
  border-radius: 7px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer;

		box-shadow: inset 0 3px 3px rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
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;
}

.sp-selest02{
	display: block!important;
}
td .select {
	display: inline-block;
	position: relative;
	padding: 0 0 0;
	min-width: 100px;
}
.confirm td .select{
	padding: 0 0 30px;
}
td .select::after {
	content: "▼";
	display: block;
	position: absolute;
	right: 20px;
	top: 12px;
	font-size: 12px;
}
#contact td dt::after {
	/*content: "▼";*/
	display: block;
	position: absolute;
	right: 15px;
	top: 37px;
	font-size: 12px;
}
#contact select {
	font-size: 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100px;
	height: 35px;
	background: transparent;
	position: relative;
	z-index: 1;
	padding: 0 10px 0 10px;
	border: 1px solid #dddddd;
	border-radius: 7px;
	box-sizing: border-box;
	margin: 0 10px 0 0;
}
#contact select.select01 {
	font-size: 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 35px;
	background: transparent;
	position: relative;
	z-index: 1;
	padding: 0 10px 0 10px;
	border: 1px solid #dddddd;
	border-radius: 7px;
	box-sizing: border-box;
}

.balloon {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
}

.balloon:before{
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 13px solid white;
  z-index: 2;
}

.balloon:after{
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #555;
  z-index: 1;
}

.balloon p {
	margin: 0;
	padding: 0;
}


}

/*画像の差し替え*/
.img-change1 { display: block; }
.img-change2 { display: none; }
.img-change3:hover { opacity:0.7; }

input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance:textfield;
}

@media screen and (min-width:320px) and ( max-width: 767px) {
.img-change1,.img-change3 { display: none!important; }
.img-change2 { display: block; }

}


.thwn02  { display: none; }
@media screen and (min-width:320px) and ( max-width: 767px) {
 .then01   { display: none; }
 .then02{ display: block; }
}


.t-blockIn{
		display:inline-block;
	}
	.t-blockIn2{
		display:inline-block;
	}

@media screen and (min-width:320px) and ( max-width: 767px){
	.t-blockIn{
		display:inline-block;
	}
	.t-blockIn2{
		width:100%;
		display:block;
	}
}

.red{
	color:red;
}


@media screen and (min-width:320px) and ( max-width: 767px){
	#map{
		display:none;
	}
#trouble-next ul li{width:80%;margin-right:auto;margin-left:auto;}
}

#contact td.radio .mwform-radio-field {
    display:inline-block;
}
#contact td.radio .mwform-radio-field label{
display: inline-block;
    width: auto;
    border: none;
}
@media screen and (max-width: 767px) and (min-width: 320px){
	#contact td.radio .mwform-radio-field {
    	display:block;
	}
}
