@charset "utf-8";

body{
	margin:0px;
	padding:0px;
	font-family: 'Noto Sans JP', sans-serif!important;
	color: #333;
}

a{
	font-family: 'Noto Sans JP', sans-serif;
	color:#333!important;
	text-decoration: none!important;
}
a:hover{
 opacity:.5!important;
  -webkit-transition: .2s ease-in-out!important;
  transition: .2s ease-in-out!important;
}

p{font-size: 14px;line-height: 2;font-family: 'Noto Sans JP', sans-serif;font-weight: 500;color: #333;letter-spacing: 0.05em;}
li{font-size: 14px;line-height: 1.7;font-family: 'Noto Sans JP', sans-serif;font-weight: 500;}
@media (min-width:1400px){
	p,li{font-size: 16px;}
}

h1,h2,h3,h4,h5,h6{font-family: 'Noto Sans JP', sans-serif;margin: 0!important;padding: 0!important;}

img {
	max-width: 100%;
	height: auto;
	margin:0;
	padding:0;
	border: none;
    vertical-align: bottom;
}

::selection {
  background-color: rgba(143,24,40,0.60);
	color: #ffffff;
}


.fontg1{font-family: "Noto Sans JP", sans-serif!important;}
.fontg2{font-family: "Noto Serif JP", serif!important;}
.fontg3{font-family: "STIX Two Text", serif!important;}

.flbox{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flend{
	align-self: flex-end;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
    box-shadow: -9px 6px 16px -6px rgba(0,0,0,0.2);
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
} 

header{
	position: fixed;
	display: flex;
	justify-content: space-between;
	padding:0;
	width: 100%;
	z-index: 999;
}
@media (max-width: 576px) {
header{
	height: 60px;
}
}

header h1{font-size:10px;margin: 0;color: #fff;font-weight: 400;}
header.hbg h1{color: #666;}

#h-logo{
	padding: 5px 0 0 20px;
	z-index: 100;
}
@media (max-width:576px){
	#h-logo{
	padding: 5px 0 0 5px;
}
}

#h-logo img{
	position: absolute;
	max-width: 200px;
}

.logow{display: block;}
.logon{display: none;}

#h-menu{
	display: flex;
	justify-content:flex-end;
}

#h-menu a{
	color: rgba(255,255,255,1)!important;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.5;
}
#h-menu a span{
	color: rgba(255,255,255,0.5)!important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.hbg #h-menu a{
	color: rgba(51,51,51,1)!important;
}
.hbg #h-menu a span{
	color: rgba(51,51,51,0.5)!important;
}

#h-menu i{
	margin: 0 0 0 6px;
	font-size: 12px;
	color: rgba(255,255,255,0.6)!important;
}
.hbg #h-menu i{
	color: rgba(119,119,119,1.00)!important;
}

#h-button{
	display: flex;
	position: relative;
	justify-content: flex-end;
	align-items: center;
	z-index: 999;
}

#h-con,#h-tel,#h-ins,#h-eng{
	justify-content:center;
	align-items: center;
	height: 60px;
}
a#h-con,a#h-tel,a#h-ins,a#h-eng{
	letter-spacing: 0;
	color: #fff!important;
}
a#h-con,.hbg a#h-con{color: #fff!important;}
a#h-tel{width: 140px;font-size: 14px!important;}
a#h-ins{width: 50px;font-size: 36px!important;}
a#h-eng{width: 70px;font-size: 12px!important;letter-spacing: 0;display: flex;}

#h-con span{
	color: rgba(255,255,255,0.6)!important;
	font-size: 8px!important;
}

#h-con{
	position: relative;
	background-color: #ad061c;
	text-align: left;
	justify-content:flex-start;
	padding: 0 20px 0 10px;
}

#h-con::before,#h-con::after{
	content: "";
	position: absolute;
	background-color: rgba(255,255,255,1);
}
#h-con::before{
	margin: auto;
	bottom: 5px;
	right: 5px;
	width: calc(100% - 5px);
	height: 1px;
}
#h-con::after{
	margin: auto;
	bottom: 5px;
	right: 5px;
	width: 15px;
	height: 1px;
	transform-origin:bottom right;
	transform: rotate(45deg);
}

#h-ins{
	background-color: #06c755;
}

.hbg{
	background: #fff;
	box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36);
	transition: 0.3s;
}
.hbg #h-logo img{
	position: relative;
	top: 0;
	left: 0;
}
.hbg .logow{display: none;}
.hbg .logon{display: block;}

@media (max-width: 1200px) {
#h-menu a{
	font-size: 12px;
}
#h-menu a span{
	font-size: 14px;
}
}

#mainbg {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-evenly;
	overflow: hidden;
	position: relative; 
}


.slidetxt{
	position: absolute;
	left: 0;
	bottom:40px ;
}
@media (max-width: 576px) {
.slidetxt{
	bottom:40px ;
}
}

#slide{
	position: relative;
	width: 100%;
	height: 100vh;
	right: 0;
	z-index: 1;
	opacity: 1;
}

/*==================wn==================*/

.ifrm-container {
      overflow:auto!important;
      -webkit-overflow-scrolling:touch!important;
	background-color: #fff;
}
.ifrm {
width:100%;
height:100%;
border:none;
}

.wnt span{position: absolute;color: #333;left: 20px;bottom: 7px;}

.menubg{
	position: relative;
	background: linear-gradient(90deg, rgba(41,40,40,0) 30%, rgba(41,40,40,0.6) 30%, rgba(41,40,40,0.6) 70%, rgba(41,40,40,0) 70%)、;
}
.menu{
	position: relative;
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position:center;
	z-index: 1;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.8);
	background-color: #ad061c;
}
.menu::after{
	content: "";
	position: absolute;
	top:10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 1px rgba(255,255,255,0.80);
	pointer-events: none;
  transition: 0.3s;
	z-index: 1;
}

.menu:hover{opacity: 1!important;}
.menu:hover::after{
	content: "";
	position: absolute;
	top:15px;
	left: 15px;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	border: solid 1px rgba(255,255,255,0.80);
	pointer-events: none;
  transition: 0.3s;
	z-index: 1;
}

.comp{
	clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
}



/*　左の動き　*/

.scrolling.LeftMove{
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*　右の動き　*/

.scrolling.RightMove{
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

table.comno{
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
    empty-cells:show;
}
.comno th{
	letter-spacing: 0.1em!important;
    padding:10px;
    text-align:center;
	color: #333;
	font-weight: 500;
}
.comno td{
	color: #333; 
  padding: 10px;
	font-weight: 400;
}

table.com2no{
	margin:0 auto;
	padding:4px;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc
}
.com2no th{
    padding:10px;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color:#333;
	text-align: center;
	font-weight: 500;
}
.com2no td{
    padding:10px;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
}

footer{
  position: relative;
	padding: 0;
	background-color: rgba(77,77,77,1.00);
	z-index: 999;
}

footer ul{
	margin: 0;
	padding: 0 0 0 20px;
}
footer li{
	list-style: disc;
	font-size: 12px;
	margin: 0 0 5px;
	font-weight: 500;
}

.flistt {
  position: relative;
  padding: 5px 10px;
	margin: 0 0 10px;
  background: #777;
  color: #fff;
  line-height: 1.3;
clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0% 100%);
	border-bottom: 4px #011740 solid;
}

.fmenu {
	display: flex;
	margin:0;
	position: fixed;
    bottom:0;
	padding:0 10px 10px;
	z-index: 99999;
	transition: 1s;
	width: 100%;
	justify-content: space-between;
}

.fmenu.active{
    bottom:0;
}

#foot1,#foot2,#foot3{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content:center;
	align-items: center;
	height: 50px;
}
#foot1::after,#foot2::after,#foot3::after{
	content: "";
	top: 3px;
	position: absolute;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	border: 1px rgba(255,255,255,0.6) solid;
	pointer-events: none;
}

#foot1{
	width:calc(46% - 6px);
	background-color: #2a2a2a;
}
#foot2{
	width:calc(38% - 4px);
	background-color: #ad061c;
}
#foot3{
	width:calc(16% - 4px);
	background: #06c755;
	border-radius: 8px;
}
#foot3::after{
	border-radius: 8px;
	border: none;
}

#back-top{
	position: fixed;
	bottom: 8%;
	right: 3%;
	z-index: 9999;
}
#back-top a{
	width: 40px;
	height: 40px;
	background: rgba(0,0,0,.6);
	display: block;
	color: #fff!important;
	text-align: center;
	letter-spacing: 0;
	line-height: 40px;
	border-radius: 50%;
	text-decoration: none;
}


@media (min-width:576px){
	#h-button{
		display: flex;
	}
	
	a#h-con{display: flex;}
	a#h-tel{display: flex;}
	a#h-ins{display: flex;}
	
	
	.cont::before{
		background-image: url("../img/top/contbg.webp");
	}

	footer {
	padding: 0;
	}
	
	.fmenu{;display: none;}
	
	#back-top{
		bottom: 2vh;
	}
}
@media (min-width:991px){
	#h-logo img{
	max-width: 180px;
	}
}

@media (min-width:1200px){
#h-con{
	padding: 0 30px 0 10px;
}
#h-con::before{
	bottom: 10px;
	right: 10px;
	width: calc(100% - 10px);
}
#h-con::after{
	bottom: 10px;
	right: 10px;
	width: 20px;
}
	#h-logo img{
	max-width: 270px;
	}

	a#h-con{height: 80px;}
	a#h-tel{height: 80px; width: 160px;}
	a#h-ins{height: 80px; width: 80px;}
	a#h-eng{height: 80px; width: 80px;}

	#h-con,#h-tel{font-size: 16px!important;}
	#h-con span{font-size: 12px;}

}
@media (min-width:1400px){
	#h-logo img{
	max-width: 300px;
	}
}

@media (min-width:1600px){
	
	a#h-con{font-size:17px!important;}
	a#h-tel{width: 180px;font-size:18px!important;}
	a#h-eng{ width: 80px;font-size:14px!important;}

}


/*================内部ページ================*/

.title{
	position: relative;
	padding: 150px 40px 80px;
	overflow: hidden;
	background-color: rgba(173,6,28,1.00);
}
.title::after{
	content: "";
	position: absolute;
	bottom:0;
	left: 30px;
	width: 2px;
	height: calc(100% - 120px);
	background-color: #fff;
	z-index: 2;
}

.titleimg{
	position: absolute;
	top:0;
	right: 0;
	width: 50%;
	height: 100%;
	z-index:1 ;
	background-color: #E0E0E0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.titleimg::after{
	content: "";
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(115deg,rgba(173,6,28,1.00) 0%, rgba(173,6,28,1.00) 20%, rgba(0,0,0,0.5) 20%, rgba(0,0,0,0.5) 80%, rgba(173,6,28,1.00) 80%);
	z-index: -1;
}

@media (max-width:1200px){
.titleimg{
	width: 50%;
}
.titleimg::after{
	background: linear-gradient(115deg,rgba(173,6,28,1.00) 0%, rgba(173,6,28,1.00) 30%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.5) 90%, rgba(173,6,28,1.00) 90%);
	z-index: -1;
}
}
@media (max-width:991px){
.title{
	padding: 140px 20px 40px;
}
.title::after{
	left: 20px;
	height: calc(100% - 80px);
}
.titleimg{
	width: 80%;
}
.titleimg::after{
	background: linear-gradient(115deg,rgba(173,6,28,1.00) 0%, rgba(173,6,28,1.00) 40%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.5) 90%, rgba(173,6,28,1.00) 90%);
	z-index: -1;
}
}

.st{
	display:inline-block;
	position: relative;
	z-index: 1;
}
.st::after{
	content: "";
	position: absolute;
	bottom: -10px;
	right: -20px;
	height: 1px;
	width: 100vw;
	background-color: #ad061c;
}

.st2,.st2-2 {
	position: relative;
	line-height: 1.5!important;
}
.st2::before,.st2::after,.st2-2::before,.st2-2::after{
     position: absolute;
     left: 0;
     content: '';
     box-sizing: border-box;
}
.st2::before {
     top: 0;
     width: 100%;
     height: 100%;
     border-top: 2px solid #B8B8B8;
     border-bottom: 2px solid #B8B8B8;
}
.st2::after {
     top: 5px;
     width:100%;
     height:calc(100% - 10px);
     border-top: 1px solid #B8B8B8;
     border-bottom: 1px solid #B8B8B8;
}
.st2-2::before {
     top: 0;
     width: 100%;
     height: 100%;
     border-top: 2px solid #757575;
     border-bottom: 2px solid #757575;
}
.st2-2::after {
     top: 5px;
     width:100%;
     height:calc(100% - 10px);
     border-top: 1px solid #757575;
     border-bottom: 1px solid #757575;
}

.st3{
  position: relative;
	padding: 0 0 0 20px;
}
.st3::after{
	content: "";
	position: absolute;
	left: 0;
	bottom:0;
	width: 3px;
	height: calc(100% + 40px);
	background-color: #fff;
}

.st4{
	display: inline-block;
 	position: relative;
	z-index: 1;
}
.st4::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	height: 10px;
	background-color: #ad061c;
	z-index: -2;
}
.st4::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-left:2px solid #ad061c;
	border-right:2px solid #ad061c;
	z-index: -1;
}

.st5{
	display: inline-block;
	position: relative;
	padding: 0 40px;
}
.st5::after,.st5::before{
	content: "";
	position: absolute;
	top:0;
	height: 120%;
	width: 2px;
	background-color: #ad061c;
}
.st5::after{
	left: 0;
	transform: rotate(-15deg);
}
.st5::before{
	right: 0;
	transform: rotate(15deg);
}

.st6 {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 0.5em;
  background-color: #ad061c;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
	box-shadow: 6px 6px 0px 0px #949494;
}


.st6-2 {
  position: relative;
  display: block;
  margin-bottom: 20px;
  padding: 0.5em;
  background-color: #454545;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
	z-index: 2;
}

.st6-2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  border-style: solid;
  border-width: 15px 20px 0 0;
  border-color: #454545 transparent transparent;
  translate: -50% 100%;
  transform: skew(-25deg);
  transform-origin: top;
}

.st7{
	display: inline-block;
	position: relative;
	padding: 0.5em 1.2em 0.5em 0;
	color: #fff;
	z-index: 1;
}
.st7::before{
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 100vw;
	height: 100%;
	background-color:#ad061c;
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0% 100%);
	z-index: -1;
}
.st7::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100vw;
	height: 2px;
	background-color:#ad061c;
	z-index: -1;
}

.st8{
	position: relative;
	line-height: 1.5;
	padding: 0.3em 1.2em 0.5em 0.5em;
	color: #fff;
	background-color:#353535;
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0% 100%);
	z-index: 2;
	margin: 0 0 -40px;
}
@media only screen and (max-width:576px){
.st8{
	margin: 0 0 -20px;
}
}

.boxbg{
    position: relative;
    box-sizing: border-box;
	z-index: 1;
	
}
.boxbg::before{
    position: absolute;
    display: block;
    content: "";
    background: #EBEBEB;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 2rem);
    bottom: 0;
    left: 0;
    z-index: -1;
}
.bg-color-gray6 .boxbg::before{
    background: #fff;

}

@media (min-width:576px){
.title::before{
	padding: 120px 0 40px;
	bottom: 80px;
	width: 100%;
	height: calc(100% - 220px);
}
.title p{
	text-align: left;
}
}

@media (min-width:992px){
	
.st span{
	margin: -0.4em 0 0 ;
	top:inherit;
	left: inherit;
	font-size: 250%;
	transform:rotate(0deg);
	width: 100vw;
}
}



table.com{
	margin:0 auto;
    empty-cells:show;
	width: 100%;
}
.com th{
	display:table-cell;
    padding:20px;
    text-align:center;
	color: #333;
	font-size: 20px;
}
.com td{
	display:table-cell;
	color: #333; 
  padding:20px;
	text-align: left;
	font-weight: 500;
	line-height: 2;
}

.combbs{
	border-bottom: 1px solid #ccc;
}
.combbs2{
	border-bottom: 1px solid #ad061c;
}
.combbd{
	border-bottom: 1px dotted #ccc;
}

table.com2{
	margin:0 auto;
	width: 100%;
	padding:4px;
	border-collapse:separate;
	border-spacing:4px;
	empty-cells:show;
}
.com2 th{
	display:table-cell;
    padding:10px;
	color:#fff;
	text-align:center; 
	font-weight: 500;
	vertical-align: top;
}
.com2 td{
	display:table-cell;
    padding:10px;
	font-weight: 500;
}


table.com3{
	margin:0 auto;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc
}
.com3 th{
	letter-spacing:1px;
	padding:.7em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color:#333;
	text-align: center;
	width: 120px;
}
.com3 td{
	color:#333;
	padding:.7em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	font-weight: 600;
}

table.com4{
margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
    empty-cells:show;
}
.com4 th{
	font-size: 14px;
	letter-spacing: 1px;
	padding: 4px;
    text-align:center;
	color: #000;
	background-color: rgba(255,255,255,0.8);
}
.com4 td{
	font-size: 14px;
	letter-spacing: 0;
	color: #000; 
	padding: 4px;
	background-color: rgba(255,255,255,0.8);
}

table.com5{
	margin:0;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
}
.com5 th{
	letter-spacing:1px;
	padding:.5em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color:#333;
	font-size: 0.875rem;
    text-align:center;
}
.com5 td{
	color:#333;
	padding:.5em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	font-size: 0.875rem;
}

@media (max-width:576px){

table.com{
	border-spacing: 0 20px;
}
.com th{
	display: block;
	width: 100%;
    padding: 20px 0 0;
    text-align:left;
	border-right: none;
	border-bottom: none;
	font-size: 20px;
}
.com td{
	display: block;
	width: 100%;
    padding: 15px 0;
}
	
.com3 th{
	font-size: 14px;
	width: 100px;
}
.com3 td{
	font-size: 14px;
}
.com4 th{
	font-size: 13px;
}
.com4 td{
	font-size: 13px;
}
.com5 td,.com5 th{
	width:100%;
	display:block;
}
}

.table-wrap{overflow-x: scroll;}

table.item{
	position: relative;
	margin:0 auto;
	padding:4px;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc;
	z-index: 1;
}
.item th{
    padding:10px;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color:#333;
	text-align: center;
	font-weight: 500;
}
.item td{
    padding:10px;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
}
@media (max-width:1400px){
table.item{
	margin:0 auto;
	padding:4px;
	width:1400px;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc
}
}

/*==================slide==================*/

#slider-area{
	position: relative;
    width:100vw;
    height: 40vw;
	overflow: hidden;
	background-color: #fff;
	z-index: 1;
}

#slider-area #slider{
	position: relative;
	z-index: 0;
    width:100%;
    height:40vw;
	overflow: hidden;
}
@media (max-width:1400px){
#slider-area{
   height: 50vw;
}
#slider-area #slider{
    height:50vw;
}
}
@media (max-width:991px){
#slider-area{
	position: relative;
    width:100vw;
    height: 120vw;
	overflow: hidden;
	background-color: #fff;
	z-index: 1;
}

#slider-area #slider{
	position: relative;
	z-index: 0;
    width:100%;
    height:120vw;
	overflow: hidden;
}
}

.main{
	position: relative;
	padding: 40px;
	z-index: 2;
}
.main::after{
	content: "";
	position: absolute;
	top:-400px;
	right: 0;
	width: 900px;
	height: 900px;
	background-image: url("../img/top/main.webp");
	background-size: contain;
	background-repeat: no-repeat;
}

a.mainb{
	right: 0;
	display: inline-block;
	color:#fff!important;
	font-weight: 600;
	width: 60%;
	background-color: #ad061c;
	padding: 20px;
	text-align: right;
}

@media (max-width:1400px){
.main::after{
	content: "";
	position: absolute;
	top:-200px;
	right: 0;
	width: 600px;
	height: 600px;
	background-image: url("../img/top/main.webp");
	background-size: contain;
	background-repeat: no-repeat;
}
}
@media (max-width:991px){
.main::after{
	content: "";
	position: absolute;
	top:-100px;
	right: 0;
	width: 550px;
	height: 550px;
	background-image: url("../img/top/main.webp");
	background-size: contain;
	background-repeat: no-repeat;
}
a.mainb{
	width: 100%;
}
}
@media (max-width:576px){
.main{
	padding:60vw 10px 0;
}
.main::after{
	content: "";
	position: absolute;
	top:-15vw;
	right: 0;
	width: 100vw;
	height: 100vw;
	background-image: url("../img/top/main.webp");
	background-size: contain;
	background-repeat: no-repeat;
}

a.mainb{
	right: 0;
	display: inline-block;
	color:#fff!important;
	font-weight: 600;
	width: 80%;
	background-color: #ad061c;
	padding: 20px;
	text-align: right;
}
}

.gree{
	position: relative;
	padding: 200px 0;
	z-index: 2;
}
.gree::before{
	content: "";
	position: absolute;
	bottom:-200px;
	right: 0;
	width: 100%;
	height: 1000px;
	background-image: url("../img/top/greeimg.webp");
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: right bottom;
	z-index: -1;
}

.greetxt{
 background-color: #e8e4e1;
	padding: 0 40px;
}

a.greetxtb{
	position: relative;
	display: inline-block;
	padding: 10px 30px 30px 20px;
	bottom: -40px;
	color:#fff!important;
	background-color: #e8e4e1;
	width: 40%;
	z-index: 1;
	text-align: right;
}
a.greetxtb::after{
	content: "";
	position: absolute;
	background-color: #454545;
	right: 10px;
	bottom: 10px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

@media (max-width: 1600px) {
.gree{
	padding: 120px 0;
}
.gree::before{
	bottom:-150px;
}
}
@media (max-width: 1400px) {
.gree{
	padding: 80px 0 0;
}
.gree::before{
	bottom:0;
	right: 0;
	width: 50%;
	height: 1000px;
	background-image: url("../img/top/greeimgsp.webp");
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: right bottom;
	z-index: -1;
}
a.greetxtb{
	width: 50%;
}
}
@media (max-width: 991px) {
.gree{
	padding: 300px 20px 120px;
}
.gree::before{
	top:-120px;
	right: 0;
	width: 100%;
	height: 800px;
	background-image: url("../img/top/greeimg.webp");
	background-repeat: no-repeat;
	background-size:160% auto;
	background-position: right -100px top;
}
.greetxt{
	padding: 25px 30px 0;
}
}
@media (max-width: 576px) {
.gree::before{
	top:15vw;
	background-image: url("../img/top/greeimgsp.webp");
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: right top;
}
a.greetxtb{
	width: 80%;
}
}

.intro{
	position: relative;
	padding: 120px 40px 200px;
	margin: -200px 0 0;
	z-index: 1;
	background-image: url("../img/top/intro.webp");
	background-size: 80% auto;
	background-repeat: no-repeat;
	background-position: bottom right;
}
.intro::after{
	content: "";
	position: absolute;
	bottom:0;
	right: 0;
	width: 80%;
	height: 100%;
	background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.infoeng{
	position: absolute;
	top:120px;
	right: 20px;
	text-shadow: 0px 0px 4px rgba(0,0,0,0.4);
	color:#fff;
	z-index: 1;
}

.introin{
	padding: 350px 0 0!important;
	border-left: 2px solid #ad061c;
	z-index: 1;
}

@media (max-width: 1600px) {
.intro{
	background-image: url("../img/top/intro.webp");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: bottom right;
}
.intro::after{
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg,rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 80%);
}
}

@media (max-width: 1200px) {
.introin{
	padding: 250px 0 0!important;
}
.intro{
	background-image: url("../img/top/intro.webp");
	background-size: 120% auto;
	background-repeat: no-repeat;
	background-position: bottom right;
}
.intro::after{
	width: 120%;
	height: 100%;
	background: linear-gradient(90deg,rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0.6) 80%);
}
}
@media (max-width: 991px) {
.intro{
	position: relative;
	padding: 60px 20px 0;
	margin: -120px 0 0;
	z-index: 1;
	background-image: url("../img/top/intro.webp");
	background-size:auto 70%;
	background-repeat: no-repeat;
	background-position: bottom center;
}
.intro::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 70%;
	background: linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0) 100%);
}
.infoeng{
	position: relative;
	top:20px;
	right: 0;
	text-shadow: none;
	color:#ad061c;
}
.introin{
	position: relative;
	top: -420px;
	padding: 420px 0 0!important;
	border-left: 2px solid #ad061c;
}
}
@media (max-width: 576px) {
.intro{
	position: relative;
	padding: 60px 20px 70vw;
	margin: -120px 0 0;
	z-index: 1;
	background-image: url("../img/top/introsp.webp");
	background-size:auto 45%;
	background-repeat: no-repeat;
	background-position: bottom center;
}
.intro::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 45%;
	background: linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
}
.introin{
	position: relative;
	top: -240px;
	padding: 220px 0 0!important;
	border-left: 2px solid #ad061c;
}
}

.rec{
	position: relative;
	background: linear-gradient(180deg,rgba(173, 6, 28, 1) 0%, rgba(173, 6, 28, 1) 40%, rgba(173, 6, 28, 0) 40%);
	padding: 40px;
	z-index: 2;
}

.rect{
	padding: 0 0 10px;
	border-bottom: 2px solid #fff;
}
@media (max-width: 576px) {
.rec{
	background: linear-gradient(180deg,rgba(173, 6, 28, 1) 0%, rgba(173, 6, 28, 1) 20%, rgba(173, 6, 28, 0) 20%);
	padding: 20px 0;
	z-index: 2;
}
}


.occ{
	position: relative;
	display: block;
	padding: 40px 0;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position:center;
	z-index: 1;
	color:#fff!important;
}
.occ::after{
	content: "";
	position: absolute;
	top:10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 1px rgba(255,255,255,0.80);
	pointer-events: none;
  transition: 0.3s;
	z-index: 1;
}
.occ::before {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14px 14px;
  border-color: transparent transparent rgba(255,255,255,0.80) transparent;
  transition: 0.3s;
	z-index: 1;
}

a.occ:hover{opacity: 1!important;}
a.occ:hover::after{
	top:20px;
	left: 20px;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
  transition: 0.1s;
}
a.occ:hover::before {
  bottom: 20px;
  right: 20px;
  transition: 0.1s;
}

.occ1{background-image: url("../img/top/occ1.webp");}
.occ2{background-image: url("../img/top/occ2.webp");}
.occ3{background-image: url("../img/top/occ3.webp");}
.occ4{background-image: url("../img/top/occ4.webp");}
.occ5{background-image: url("../img/top/occ5.webp");}
.occ6{background-image: url("../img/top/occ6.webp");}

.bene{
	position: relative;
	z-index: 1;
	background-color: #EAEAEA;
	overflow: hidden;
	padding: 40px 0 0;
}

.slide1,.slide2{
	position: absolute;
	overflow: hidden;
	width: 100%;
	z-index: -1;
}
.slide1{top:10px;}
.slide2{bottom:10px;}

.infiniteslide,.infiniteslide2{
	position: relative;
	z-index: 1;
}

.infiniteslide ul,.infiniteslide2 ul{
	margin: 0;
	padding: 0;
	z-index: 1;
}
.infiniteslide li,.infiniteslide2 li{
	list-style: none;
	float: left;
	width: 300px;
	height: 150px;
	margin: 0;
	transition: 2s;
}
.infiniteslide li img,.infiniteslide2 li img{
	width: 100%;
	height: auto;
}

.messbg{
	padding:120px 80px;
	position: relative;
}
.messbg::before{
	content: "";
	position: fixed;
	top:0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url("../img/top/contbg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: -2;
}
.messbg::after{
	content: "";
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(170deg,rgba(255,255,255,1.00) 0%, rgba(255,255,255,1.00) 30%, rgba(255,255,255,0.00) 30%, rgba(255,255,255,0.00) 70%, rgba(255,255,255,1.00) 70%);
	z-index: -1;
}

.mess{
	position: relative;
	z-index: 1;
}
.mess::before{
	content: "";
	position: absolute;
	top: 0;
	left: 20px;
	width: calc(100% - 40px);
	height: 100%;
	background-color: #242424;
	z-index: -1;
}

@media (max-width:1600px){
.messbg{
	padding:120px 0;
}
}
@media (max-width:576px){
.messbg{
	padding:40px 0px 120px;
	position: relative;
}
.messbg::before{
	background-image: url("../img/top/contbgsp.webp");
}
.messbg::after{
	background: linear-gradient(160deg,rgba(255,255,255,1.00) 0%, rgba(255,255,255,1.00) 15%, rgba(255,255,255,0.00) 15%, rgba(255,255,255,0.00) 88%, rgba(255,255,255,1.00) 88%);
	z-index: -1;
}
}

.visit{
	position: relative;
	background-color: #fff;
	padding: 40px 0 40px 40px;
	overflow: hidden;
}

.visitb{
	position: relative;
	padding: 40px 0;
	display: block;
	text-align: center;
	z-index: 1;
}
.visitb::before,.visitb::after{
	content: "";
	position: absolute;
	width: calc(100% + 300px);
	height: 100%;
	right: -200px;
	clip-path: polygon(0% 0%, 88% 0%, 100% 50%, 88% 100%, 0% 100%);
}
.visitb::before{
	bottom:0;
	background-color: rgba(173,6,28,0.9);
	z-index: -1;
}
.visitb::after{
	bottom:-20px;
	background-color: rgba(236,236,236,0.80);
	z-index: -2;
}

@media (max-width:1200px){
.visitb{
	padding: 20px 0;
}
}

@media (max-width:991px){
.visit{
	padding: 0 0 120px 0;
}
.visitb{
	position: absolute;
	left: -20px;
	bottom:-75vw;
	padding: 30px 0 30px 20px;
	width: 100%;
	text-align: left;
}
.visitb::before,.visitb::after{
	bottom:0;
	right: 0;
	left: -20px;
	width: 100%;
	clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);
}
.visitb::before{
	bottom:0;
}
.visitb::after{
	bottom:-10px;
}
}
@media (max-width:576px){
.visit{
	padding: 0 0 120px 0;
}
.visitb{
	position: absolute;
	left: 0;
	bottom:-126vw;
	padding: 30px 0 30px 20px;
	width: 100%;
	text-align: left;
}
.visitb::before,.visitb::after{
	bottom:0;
	right: 0;
	left: -20px;
	width: 100%;
	clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);
}
.visitb::before{
	bottom:0;
}
.visitb::after{
	bottom:-10px;
}
}

.contact{
	position: relative;
	padding: 80px 0 120px;
	z-index: 2;
}

.info{
  position: relative;
	padding: 80px 0 0;
	background-color: rgba(77,77,77,1.00);
	z-index: 1;
}
.info::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 800px;
	height: 800px;
	background-image:url("../img/top/fmap.webp");
	background-position: top right;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -1;
}
@media (max-width:1600px){
.info::after{
	top: -100px;
	right: 0;
	width: 70%;
	height: calc(100% + 100px);
	background-image:url("../img/top/fmapsp.webp");
	background-size: 100% auto;
}
}
@media (max-width:576px){
.info{
	padding: 80px 20px 100px;
}
.info::after{
	content: "";
	position: absolute;
	bottom: inherit;
	top: -100px;
	right: 0;
	width: 100%;
	height: 100%;
	background-image:url("../img/top/fmapsp.webp");
}
}

@media (max-width:576px){
.fcon{
  display: flex;
	align-items: center;
	justify-content: center;
}
}

.featimg{
	position: relative;
	padding:0 20px;
	z-index: 2;
}
.featimg::before{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 20%;
	background-color: #e8e4e1;
	z-index: -1;
}

.featimg img{
	position: relative;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.4);
	z-index: 2;
}

.featt{
	position: absolute;
	padding: 20px 40px 20px 20px;
	left: 0;
	bottom:0;
	z-index: 2;
	color:#fff;
}
.featt::before{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(173,6,28,0.8);
	z-index: -1;
	clip-path: polygon(0 0, calc(100% - 30px) 0%, 100% 100%, 0% 100%);
}
@media (max-width:576px){
.featt{
	padding: 10px 30px 10px 10px;
}
}

.featurebox{
	position: relative;
	z-index: 1;
}
.featurebox::before{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #e8e4e1;
	z-index: -1;
}


.voicebg {
	background: linear-gradient(0deg,rgba(235, 235, 235, 0) 20%, rgba(235, 235, 235, 1) 20%, rgba(235, 235, 235, 1) 87%, rgba(235, 235, 235, 0) 87%);
}

.voice {
  cursor: pointer;
	display: block;
	position: relative;
	max-width: 800px;
	height: 500px;
	overflow: hidden;
	z-index: 1;
	background-color: #fff;
	border:4px solid #ccc;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.4);
}
.voice::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(0deg, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 60%);
}
.voice::after {
	content: "READ MORE";
	position: absolute;
	margin:0 auto;
	padding: 10px;
	bottom: 20px;
	font-size: 16px;
	left: 0;
	right: 0;
	width: 60%;
	background-color: #ad061c;
	text-align: center;
	z-index: 2;
	font-weight: 600;
	color: #fff;
	box-shadow: 4px 4px 10px -6px rgba(0,0,0,0.4);
}

@media (max-width:1200px){
.voice {
  cursor: pointer;
	display: block;
	position: relative;
	max-width: 800px;
	height: 400px;
	overflow: hidden;
	z-index: 1;
	background-color: #fff;
	border:4px solid #ccc;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.4);
}
.voicebg {
	background: linear-gradient(0deg,rgba(235, 235, 235, 0) 15%, rgba(235, 235, 235, 1) 15%, rgba(235, 235, 235, 1) 85%, rgba(235, 235, 235, 0) 85%);
}
}
@media (max-width:576px){
.voicebg {
	background: linear-gradient(0deg,rgba(235, 235, 235, 0) 15%, rgba(235, 235, 235, 1) 15%, rgba(235, 235, 235, 1) 93%, rgba(235, 235, 235, 0) 93%);
}
}

.List-Item-Content {
	position: relative;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
	z-index: 0;
}
@media screen and (max-width: 540px) {
  .List-Item-Content {
    flex-wrap: wrap;
  }
}
.List-Item-Content .col-10{
	position: relative;
	border-bottom: 2px solid #ccc;
	margin: 0 0 20px;
}
.List-Item-Content .col-2{
	position: relative;
}
.List-Item-Content .col-2::before {
	content: "";
  position: absolute;
  top: 50%!important;
  left: calc(50% - 1px);
  transform: translate(-50%,-50%);
  width: 2px;
  height: calc(100% - 1px);
  background: #ad061c;
	z-index: -1;
}
.List-Item-Content-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #ad061c;
	border-radius: 50%;
  color: #fff;
  font-size: 30px;
}

.List-End .col-10{
	border-bottom: none!important;
	margin: 0;
}

@media screen and (max-width: 576px) {
  .List-Item-Content-Number {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
  }
}

.flowt{
	color:#ad061c;
	padding: 0 0 10px;
	border-bottom:2px dotted #ccc; 
}

.flowt2{
	display: inline-block;
	position: relative;
	padding:0.7em 0 1em; 
}
.flowt2::before,.flowt2::after{
	content: "";
	position: absolute;
	width: 100vw;
	height: 1px;
	background-color: #ad061c;
}
.flowt2::before{
	top:0;
	right: 0;
}
.flowt2::after{
	bottom: 0;
	left: 0;
}

.benelist{
	display: flex;
 	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 10px 0;
	background-color: #ad061c;
	height: 100%;
	font-family: "Noto Sans JP", sans-serif;
	color:#fff;
	font-weight: 600;
	font-size: 24px;
	text-align: center;
	border-radius: 10px;
}
@media screen and (max-width: 576px) {
.benelist{
	font-size: 18px;
}
}


.List-Item-Content2 {
	position: relative;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
	z-index: 0;
}
@media screen and (max-width: 540px) {
  .List-Item-Content2 {
    flex-wrap: wrap;
  }
}
.List-Item-Content2 .col-10{
	position: relative;
	border-bottom: 2px solid #ccc;
	margin: 0 0 20px;
}
.List-Item-Content2 .col-2{
	position: relative;
}
.List-Item-Content2 .col-2::before {
	content: "";
  position: absolute;
  top: 50%!important;
  left: calc(50% - 1px);
  transform: translate(-50%,-50%);
  width: 2px;
  height: calc(100% - 1px);
  background: #ad061c;
	z-index: -1;
}
.List-Item-Content2-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #ad061c;
  color: #fff;
  font-size: 30px;
}

.List-End2 .col-10{
	border-bottom: none!important;
	margin: 0;
}

@media screen and (max-width: 576px) {
  .List-Item-Content2-Number {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
  }
}

.scrolldown{
	position:absolute;
	top:0;
	left:calc(50% - 2px);
	height: 100%;
}
.scrolldown:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-9px;
	width:20px;
	height:20px;
	border-radius: 50%;
	background:#ad061c;
	animation:
		circlemove 5s ease-in-out infinite,
		cirlemovehide 5s ease-out infinite;
}

@keyframes circlemove{
      0%{top:0;}
     100%{top:100%;}
 }
@keyframes cirlemovehide{
      0%{opacity:0}
     5%{opacity:1;}
    95%{opacity:0.9;}
	100%{opacity:0;}
 }

.scrolldown:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:2px;
	height: 100%;
	background:#ad061c;
}