@charset "UTF-8";
/* CSS Document */
body{
	margin: 0;
	padding: 0;
}
a{
	text-decoration: none;
	color: #333;
}

/*========= レイアウトのためのCSS ===============*/

.h2_span {
	color: #053980;
	
}


.home_h2 {
	padding: 0;
	text-align: center;
	font-size: 65px;
	color: #000;
	line-height: 0.5em;
	margin-bottom: 30px;
}

.box1 {
	background-color: #fff;
	padding: 50px 0 30px;
}

.h2_span2 {
	font-size: 14px;
	color: #333;
	padding: 0;
}

.box_p {
	width: 40%;
	margin: 0 auto;
}

.box1_flex {
	display: flex;
	justify-content: center;
	background-image: url("../img/box1_bg.png");
	width: 60%;
	margin: 0 auto auto;
	padding: 50px 0;
}

.box1_img {
	display: flex;
	background-image: url("../img/box1_bg.png");
	padding: 30px;
	width: 80%;
	margin: auto;
}

.img1 {
	margin: auto 10px;
	width: 100%;
}


.box1_p {
	padding: 30px;
	position: relative;
	width: 40%;
	margin: 30px auto 30px;
}

.box1_p::before, .box1_p::after {
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

.box1_p::before {
	border-left: solid 2px #000000;
	border-top: solid 2px #000000;
	top: 0;
	left: 0;
}

.box1_p::after {
	border-right: solid 2px #000000;
	border-bottom: solid 2px #000000;
	bottom: 0;
	right: 0;
}
.box1_p_sp {
	padding: 30px;
	position: relative;
	width: 80%;
	margin: 30px auto;
}

.box1_p_sp::before, .box1_p_sp::after {
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

.box1_p_sp::before {
	border-left: solid 2px #000000;
	border-top: solid 2px #000000;
	top: 0;
	left: 0;
}

.box1_p_sp::after {
	border-right: solid 2px #000000;
	border-bottom: solid 2px #000000;
	bottom: 0;
	right: 0;
}
.yellow_m {
	background: linear-gradient(transparent 60%, #ffffa8 0%);

}

.arrow {
	width: 20%;
}

.btn-cross {
  display: block;
  position: relative;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-decoration: none;
  font-weight: bold;
	margin: 50px auto auto;
	width: 20%;
}

.btn-cross a{
	display: block;
	width: 100%;
	padding: 1em 0;
	height: 100%;
	text-align: center;
}
.btn-cross:before, .btn-cross:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
  transition: .3s;
}
.btn-cross:before {
  left: 7px;
}
.btn-cross:after {
  right: 7px;
}
.btn-cross:hover:before {
  top: 0px;
  left:0;
  height: 100%;
}
.btn-cross:hover:after {
  top: 0px;
  right: 0;
  height: 100%;
}
.btn-cross2 {
  display: block;
  position: relative;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-decoration: none;
  font-weight: bold;
	margin: 30px auto auto;
	width: 90%;
	font-size: 1vw;
}
.btn-cross2 a{
	display: block;
	width: 100%;
	padding: 1em 0;
	height: 100%;
	text-align: center;
}
.btn-cross2:before, .btn-cross2:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
  transition: .3s;
}
.btn-cross2:before {
  left: 7px;
}
.btn-cross2:after {
  right: 7px;
}
.btn-cross2:hover:before {
  top: 0px;
  left:0;
  height: 100%;
}
.btn-cross2:hover:after {
  top: 0px;
  right: 0;
  height: 100%;
}
.btn-cross2_sp {
  display: block;
  position: relative;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-decoration: none;
  font-weight: bold;
	margin: 20px auto 30px;
	width: 90%;
}
.btn-cross2_sp a{
	display: block;
	width: 100%;
	padding: 1em 0;
	height: 100%;
	text-align: center;
}
.btn-cross2_sp:before, .btn-cross2_sp:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
  transition: .3s;
}
.btn-cross2_sp:before {
  left: 7px;
}
.btn-cross2_sp:after {
  right: 7px;
}
.btn-cross2_sp:hover:before {
  top: 0px;
  left:0;
  height: 100%;
}
.btn-cross2_sp:hover:after {
  top: 0px;
  right: 0;
  height: 100%;
}

.btn-cross_sp {
  display: block;
  position: relative;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-decoration: none;
  font-weight: bold;
	margin: 30px auto auto;
	width: 70%;
}

.btn-cross_sp a{
	display: block;
	width: 100%;
	padding: 1em 0;
	height: 100%;
	text-align: center;
}
.btn-cross_sp:before, .btn-cross_sp:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
  transition: .3s;
}
.btn-cross_sp:before {
  left: 7px;
}
.btn-cross_sp:after {
  right: 7px;
}
.btn-cross_sp:hover:before {
  top: 0px;
  left:0;
  height: 100%;
}
.btn-cross_sp:hover:after {
  top: 0px;
  right: 0;
  height: 100%;
}
.box2_img {
	width: 45%;
	margin: auto;
}

.box1_p_2 {
	padding: 10px;
	background-color: #053980;
	color: #fff;
	margin: auto 20px;
	width: 40%;
	text-align: center;
}

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

.box3_title {
	text-align: center;
	font-size: 1.3vw;
	font-weight: 900;
}

.mushimegane {
	width: 6%;
	margin: auto ;
	vertical-align: middle;
}

.box1_p_2_flex {
	display: flex;
	justify-content: center;
}

.triangle3 {
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 40px solid #f1f1f1;
	margin: 0 auto;
}


.box3_span {
	color: #F1E533;
	font-size: 20px;
	font-weight: bold;
}

.box3_p {
	width: 90%;
	margin: 30px auto auto;
}

.business_flex {
	display: flex;
	justify-content: space-around;
	background-image: url("../img/box1_bg.png");
	padding: 30px 50px;
	width: 80%;
	margin: auto auto 100px;
}

.box2 {
	margin: auto 20px;
}



.space {
	letter-spacing: 4px;
}

/* Gray Scale */
.hover08 figure img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.hover08 figure:hover img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}
.zoom-in-img {
  max-width: 430px;
  height:300px;
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
	position: relative;
	
}
.zoom-in-img img {
  width: 100%;
  height: 100%;
}
/*ホバーエフェクト*/
.zoom-in-img img {
  transform: scale(1);
  transition: .3s ease-in-out;
}
.zoom-in-img:hover img {
  transform: scale(1.3);
}
.business_p {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	color: #fff;
	width: 80%;
	text-shadow: 2px 2px 2px #333;
	line-height: 1.7em;
}

.business_span a{
	border: solid 1px;
	padding: 15px;
	display: block;
	margin: 20px auto auto;
	text-align: center;
	width: 60%;
	color: #fff;
}
.business_span a:hover{
	background-color: rgba(255,255,255,0.46);
	text-decoration: none;
	border: solid 1px rgba(255,255,255,0.46);
	color: #fff;
	margin: 20px auto auto;
}

.fa-angle-double-right2 {
	margin-left: 10px;
}



.business_h3 {
	background-color: #333;
	color: #fff;
	padding: 10px;
	margin: 0;
}

.date {
	font-weight: 900;
	margin-left: 20px;
}

.information_box {
	display: flex;
	width: 50%;
	margin: auto;
}

.info_title {
	background-color: #053980;
	color: #fff;
	padding: 5px;
	border-radius: 8px;
	margin: auto 10px;
	font-size: 12px;
}

.info_hr {
	width: 50%;
	margin: auto;
	padding: 0;
}

.box4 {
	display: flex;
	margin: 100px auto 0;
}

.box4_1 {
	width: 50%;
	height: 400px;
	color: #fff;
	background-image: url("../img/box1_bg.png");
}



.box4_2 {
	width: 50%;
	height: 400px;
	background-image: url("../img/bunner.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	background-color: #f1f1f1;
	
}


.bunner_p {
	font-size: 3vw;
	color: #333;
	font-weight: 900;
	padding: 0 0 0 80px;
	margin: 40px 0 0;
}

.bunner_btn {
	color: #333;
	margin-left: 80px;
}


.bunner_btn a {
  color: #333;
  font-size: 16px;
  background: transparent;
  padding: 18px 30px;
  border: 1px solid #333;
  position: relative;
  z-index: 1;
  transition: .3s;
}
.bunner_btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.bunner_btn a:hover {
  color: #fff;
}
.bunner_btn a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}


.bunner_p2 {
	text-align: center;
	background-color: #333;
	padding: 10px;
	font-size: 40px;
	font-weight: 900;
}

.tel_mail {
	display: flex;
	justify-content: center;
	height: 200px;
	
}

.bunner_tel {
	width: 45%;
	background-color: #fff;
	margin-right: 1px;
}

.bunner_mail {
	width: 45%;
	background-color: #fff;
	color: #333;
	text-align: center;
	
}

.fa-phone {
	margin-right: 5px;
}

.fa-paper-plane {
	margin-right: 5px;
}



.info_bg {
	background-color: #f1f1f1;
	padding: 30px 0 100px;
}

.bunner_tel_p {
	color: #333;
	text-align: center;
	margin: 30px auto 20px;
}

.bunner_tel_p2 {
	color: #333;
	text-align: center;
}

.bunner_tel_span {
	font-size: 2vw;
	font-weight: bold;
	font-style: italic;
	color: #333;
}



.top_video {
	width: 100%;
}

.pc{
	display: block;
}
.sp{
	display: none;
}


@media (max-width:480px){
	.pc{
		display: none;
	}
	.sp{
		display: block
	}
	
}

.home_h2_sp {
	padding: 0;
	text-align: center;
	font-size: 11vw;
	color: #000;
	line-height: 0.6em;
	margin: 30px auto;
}

.h2_span2_sp {
	font-size: 4vw;
	color: #333;
	padding: 0;
}

.img1_sp {
	width: 90%;
	margin: auto;
}

.home_h22_sp {
	text-align: center;
	font-size: 10vw;
	color: #000;
	line-height: 0.8em;
	margin:10px auto;
	padding: 0 5px;
}

.box2_img_sp {
	width: 80%;
	margin: auto;
}

.ceiling_c {
	width: 50%;
	margin: 20px auto;
}

.mushimegane_sp {
	width: 10%;
	margin: auto ;
	vertical-align: middle;
}

.box1_p_2_sp {
	padding: 10px;
	background-color: #053980;
	color: #fff;
	margin: 20px auto;
	width: 90%;
	text-align: center;
}

.box2_sp {
	margin: 10px auto;
		width: 90%;
}

.information_box_sp {
	width: 90%;
	margin: auto;
	display: flex;
}

.info_hr_sp {
	width: 90%;
	margin: auto;
	padding: 0;
}

.box4_1_sp {
	color: #fff;
	background-image: url("../img/box1_bg.png");
	margin: 0 auto;
	padding: 0 0 20px;
}

.box4_2_sp {
	height: 300px;
	background-image: url("../img/bunner_sp.png");
	background-repeat: no-repeat;
	background-position: center;
	background-color: #f1f1f1;
	margin: 0 auto;
	background-size: cover;
}

.bunner_tel_sp {
	width: 80%;
	background-color: #fff;
	margin: 3px auto;
	padding: 1px 0;
}

.bunner_tel_span_sp {
	font-size: 7vw;
	font-weight: bold;
	font-style: italic;
	color: #333;
}

.bunner_tel_p_sp {
	color: #333;
	text-align: center;
	margin: 30px auto 0;
}

.bunner_p2_sp {
	text-align: center;
	background-color: #333;
	padding: 10px 0;
	font-size: 5vw;
	font-weight: 900;
}

.bunner_p_sp {
	font-size: 7vw;
	color: #333;
	font-weight: 900;
	padding: 30px 0 0 30px;
	margin: 0;
}


.bunner_btn_sp {
	color: #333;
	padding: 5px 0 0 30px;
	font-size: 1vw;
}
.bunner_btn_sp a {
  color: #333;
  font-size: 16px;
  background: transparent;
  padding: 18px 30px;
  border: 1px solid #333;
  position: relative;
  z-index: 1;
  transition: .3s;
	background-color: rgba(255,255,255,0.73);
}
.bunner_btn_sp a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.bunner_btn_sp a:hover {
  color: #fff;
}
.bunner_btn_sp a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.mushimegane2_sp {
	width: 8%;
	margin: auto ;
	vertical-align: middle;
}

.date_sp {
	font-weight: 900;
	padding: 4px 8px;
	background-color: #053980;
	color: #fff;
	border-radius: 8px;
	height: 30px;
	line-height: 30px;
	margin: auto 0;
}

.info_p_sp {
	padding: 4px 8px;
}

.box3_title_sp {
	text-align: center;
	font-size: 5.5vw;
	font-weight: 900;
}

.ciling_ilust_sp {
	width: 8%;
	vertical-align: middle;
	margin-right: 5px;
}

.before-after {
	width: 53%;
	margin: auto;
}

.before-after-sp {
	width: 90%;
	margin: 20px auto;
}

.flex {
	display: flex;
	justify-content: center;
	margin: 30px auto;
}

.before-after2 {
	width: 25%;
	margin: auto 20px;
}

.business_phone {
	font-size: 1em;
	color: red;
	
}

.business_phone2 {
	display: block;
	margin: 0;
	text-align: center;
	color: red;
}





.kyokahyou2 {
	width: 30%;
	margin: auto 0;
}




