@charset "UTF-8";

html {
font-size:62.5%;
}

body {
font-size:1.4rem;
font-family: 'Noto Sans JP', sans-serif;
font-size:16px;
font-weight:500;
line-height: 1.5;
letter-spacing: 1px;
position: relative;
}

html,body{
height: 100%;
min-height: 100%;
}

*, *::before, *::after {
box-sizing:border-box;
}

.cf::after {
content:'';
display:block;
clear:both;
}

.spnone {
display: none !important;
}

img{
width: 100%;
max-width: 100% !important;
vertical-align: bottom;
}

a:hover{
transition-duration: 0.5s;
transition-delay: 0s;
transition-timing-function: ease-in;
}

img.imghover:hover{
opacity: 0.6;
transition-duration: 0.3s;
}

a img:hover{
opacity: 0.6;
transition-duration: 0.3s;
}

#all{
width:100%;
overflow:hidden;
}

.bgcolor-bk{
background-color:#0b0b0b;
}

.color-fff{
color:#fff;
}

.tc{
text-align:center;
}
.text-12{
	font-size:12px;
}

.bg_blue {
  background: #05c7f4 !important;
}
/*header*/

header{
position: absolute;
z-index: 2;
}

.logo{
width:120px;
top: 15px;
left: 15px;
position: fixed;
z-index: 9999;
}

/*slick*/
.full div {
width: 100%;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 100vh;
margin: 0;
}
.full div.img01 {
background-image: url(../images/top/top01.jpg);
}
.full div.img02 {
background-image: url(../images/top/top02.jpg);
}
.full div.img03 {
background-image: url(../images/top/top03.jpg);
}
.full div.img04 {
background-image: url(../images/top/top04.jpg);
}
.full div.img05 {
background-image: url(../images/top/top05.jpg);
}
.full .slick-dots {
bottom: 4%;
z-index: +1;
}

.full{
position:relative;
text-align:center;
}

h1{
font-size: 20px;
text-align: center;
border-bottom: 1px solid #000;
padding-bottom: 10px;
}

.header_img{
width: 100%;
float: left;
position:relative;
	overflow: hidden;
}

.header_img_text{
position: absolute;
top: 75%;
left: 50%;
transform: translate(-50%,-50%);
font-size:24px;
color: #fff;
font-weight:bold;
}

.headtextbox{
background:rgba(255,255,255,0.7);
width: 100%;
height: auto;
position: absolute;
top: 50%;
right: 0;
padding: 20px;
}
.logobox{
text-align:center;
background:#fff;
padding: 20px 0;
margin-bottom:20px;
}

.logobox img{
width:215px;
height:auto;
}

.headtextbox p{
color: #e35f2b;
font-weight: 600;
padding: 15px 30px;
}


.slick-slide{
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-initialized .slick-slide{
  display: block;
}

.page_header_img{
	width:100%;
	height:175px;
	background-image: url(../images/overlays/dust_scratches.webp);
}

.information_text{
  margin: 0 auto;
  text-align: center;
  font-size: 14px;
  background: #53525312;
  padding: 20px;
  margin-bottom: 20px;
  border: 1px solid #dfa955;
}
/*header*/

/*section*/

section{
width: 100%;
clear: both;
margin:0;
padding:0;
position:relative;
}

main{
width: 96%;
margin:0 auto;
clear: both;
}

.pd_80{
padding:50px 0;
}
.pd_50{
padding:30px 0;
}

.mb_30{
	margin-bottom:30px;
}

.mb_50{
	margin-bottom:50px;
}

.mb_80{
	margin-bottom:80px;
}

.Block1::before{
  content:"";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width: 40px 0 0 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent  transparent #ececec;
}

.bg_gray{background:#ececec;}
.Block2::before{
  content:"";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  
  /*ここで三角形のサイズを決める。必ず幅100vwにして、ブラウザサイズいっぱいにしてください。*/
  border-width: 40px 0 0 100vw ;
 
  /*transparentで余分な線を消す*/
  border-color: transparent  transparent  transparent #ececec;
}


.bg_img01 {
background-image: url(../images/overlays/dust_scratches.webp);
}
.bg_img02 {
background-image: url(../images/overlays/tiny-squares.webp);
}
/*section*/


/*grid*/
.grid_01{
width: 100%;
display: grid;
grid-template-columns: 1fr;	
}
.grid_02{
width: 100%;
display: grid;
grid-template-columns: 1.5fr 1fr;	
}
.grid_02-2{
width: 100%;
display: grid;
grid-template-columns: 1fr 1.5fr;	
}
.grid_03{
width: 100%;
display: grid;
grid-template-columns:1fr;
gap: 20px;
}

.text_box {/*ど真ん中寄せ*/
display: grid;
place-items: center;
padding:5%;
	position: relative;
}

.inner-center{
border: 1px solid #fff;
padding: 10%;	
}

h2.maintitle {
color: #222;
font-size: 32px;
margin-bottom: 80px;
text-align: center;
padding: 10px;
}

.page_header{
	width:100%;
	float:left;
}
h2 {
font-size:40px;	
clear: both;
position: relative;
padding: 1.5rem;
text-align: center;

}

h2:before {
position: absolute;
bottom: -10px;
left: calc(50% - 30px);
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: #34abf2;
}

.pointimg{
  position: relative;
}

.pointbox{
	background: #e0e0e0;
	width: 90%;
margin: 0 auto;
}

.pointdetail{
	padding:20px;
}

.pointdetail p{
	padding:25px;
	background:#fff;
}
.balloon3-right-btm {
 position: absolute;
top: -55px;
left: -20px;
  display: inline-block;
  margin: 1.5em 15px 1.5em 0;
  padding: 0 5px;
  width: 90px;
  height: 90px;
  line-height: 90px;
  text-align: center;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  background: #34abf2;
  border-radius: 50%;
  box-sizing: border-box;
}

.balloon3-right-btm:before {
  content: "";
  position: absolute;
  bottom: -8px;
  right: -8px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #34abf2;
  z-index: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.naname{
	clip-path: polygon(10% 0%, 100% 0px, 80% 100%, 0px 100%);
}
.naname2{
	clip-path: polygon(0% 0%, 90% 0%, 100% 100%, 20% 100%);
}



.recobox{
	
}
.recobox p{
	font-size:30px;
}

.link_btn{text-align:center; margin-bottom:30px;}
.link_btn a{
background: #f4ad05;
color: #fff;
padding: 20px;
font-size: 18px;
border-radius: 8px;
font-weight: 600;
display: inline-block;
width: 300px;
}
.bg_green{
	background: #33ae10 !important;
}


.recobox p.text01{
font-size: 22px;
position: absolute;
left: -50px;
bottom:10px;
font-weight: 900;
color: #4bbdbd;
text-shadow: 2px 2px 0px #fff;
line-height: 1.3;
}

.recobox p.text02{
font-size: 22px;
position: absolute;
right: -100px;
bottom:10px;
font-weight: 900;
color: #df9d1e;
text-shadow: 2px 2px 0px #fff;
z-index:1;
line-height: 1.3;
}


.plandetail h3{
	text-align:center;
margin-bottom: 10px;
text-shadow: 2px 2px 0 #fff;
font-size: 20px;
}

.plandetail{
padding:20px;
}

.plandetail p {
  padding: 25px;
  background: #fff;
	text-align:center;
}






















/*footer*/
footer{
width: 100%;
float:left;
text-align: center;
clear: both;
}

footer .copy{
line-height: 3;
background: #000;
color: #fff;
font-size: 13px;
}

.add iframe{
filter: grayscale(100%);
transition: all 0.7s ease;
}

.foot_logo{
	margin-bottom:20px;
	text-align:center;
}
.foot_logo img{
	width:193px;
	height:auto;
}

.add_info{
	margin-bottom:50px;
	text-align:center;
}

/*wp-pagenavi*/
.wp-pagenavi a, .wp-pagenavi span{
background: #8fbbc8;
color: #fff;
font-size: 18px;
border:none!important;
}
