@charset "UTF-8";
/* CSS Document */

/*
-----------------------------------------------
▼共通
----------------------------------------------- */

html {
  scroll-padding-top: 120px;
}

body{
	position: relative;
}

.inter{
	font-family: "Inter Tight", sans-serif;
	font-weight: 700;
	font-style: italic;
}
.inter02{
	font-family: "Inter Tight", sans-serif;
	font-weight: 600;
	font-style: italic;
}
.inter03{
	font-family: "Inter Tight", sans-serif;
}
.inner01{
	padding-left: 100px;
	padding-right: 100px;
}
.inner02{
	padding-right: 100px;
}
.inner03{
	max-width: 940px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
.inner04{
	padding-left: 100px;
}
.con01{
	padding-left: 5%;
	padding-right: 5%;
}
.mx-img{
width:auto;
height:auto;
max-width:100%;
}
a[href^="tel:"] {
    pointer-events: none;
}
@media screen and (min-width: 1400px){
	.inner01{
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.inner02{
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
		padding-right: 0;
	}
	.inner04{
		max-width: 1300px;
		margin-right: auto;
		margin-left: auto;
		padding-left: 0;
	}
}
@media screen and (max-width: 1000px){
	.inner01{
		padding-left: 40px;
		padding-right: 40px;
	}
	.inner02{
		padding-right: 40px;
	}
	.inner04{
		padding-left: 40px;
	}
}
@media screen and (max-width: 900px){
	.inner01{
		padding-left: 20px;
		padding-right: 20px;
	}
	.inner02{
		padding-right: 20px;
	}
	.inner04{
		padding-left: 20px;
	}
}
@media screen and (max-width: 810px){
	.inner02{
		padding-left: 20px;
	}
	.inner04{
		padding-right: 20px;
	}
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
@media screen and (max-width: 630px){
	.con01{
		padding-left: 0;
		padding-right: 0;
	}
}
/*
-----------------------------------------------
▼display
----------------------------------------------- */
.under850{
	display: none;
}
.under810{
	display: none;
}
.under530{
	display: none;
}
.under500{
	display: none!important;
}
.under650{
	display: none;
}
@media screen and (max-width: 810px){
	.under810{
		display: block;
	}
	.over811{
		display: none;
	}
}
@media screen and (max-width: 850px){
	.under850{
		display: block;
	}
	.over851{
		display: none;
	}
}
@media screen and (max-width: 650px){
	.over651{
		display: none;
	}
	.under650{
		display: block;
	}
}
@media screen and (max-width: 530px){
	.over531{
		display: none;
	}
	.under530{
		display: block;
	}
}
@media screen and (max-width: 500px){
	.over501{
		display: none!important;
	}
	.under500{
		display: block!important;
	}
}


/*
-----------------------------------------------
▼main visal
----------------------------------------------- */
.main_vis_wrap{
	position: relative;
	margin-top: 100px;
}
.main_vis_bg{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.6);
	clip-path: polygon(0 0 , 100% 0, 60% 100%, 0 100%);
	width: 40%;
	height: 100%;
	z-index: 9;
}
.main_vis{
	width: 100%;
}
.main_vis img{
	width: 100%;
}
.main_vis_txt h2{
	font-size: 4.3rem;
	font-weight: 700;
	margin-top: 0.7em;
	letter-spacing: 0.15em;
	color:#000 !important;
	text-shadow: -1px 0px 12px rgb(255, 255, 255, 0.7);
}
.main_vis_txt{
	position: absolute;
	top: 30%;
	left: 12%;
	z-index: 10;
}
@media screen and (max-width: 1150px){
	.main_vis_txt h2{
		font-size: 3.8rem;
	}
}
@media screen and (max-width: 1000px){
	.main_vis_txt h2{
		font-size: 3.5rem;
	}
}
@media screen and (max-width: 830px){
	.main_vis_txt h2{
		font-size: 4vw;
	}
}
@media screen and (max-width: 530px){
	.main_vis{
		width: 100%;
		margin-left: auto;
		padding-top: 17px;
		overflow:hidden;
	}

	.main_vis img{
		width: 160vw;
		margin-left:-40vw;
	}

	
	.main_vis_txt h2{
		font-size: 5.8vw;
		margin-top: 0.7em;
		line-height: 1.6;
		text-align: left;
		letter-spacing:0.01em;
		display: inline-block;
	}
	.main_vis_txt{
		position: static;
		text-align: center;
	}
	.main_vis_bg{
		width: 0;
	}
	.main_vis_wrap{
		margin-top: 50px;
	}
}
/*
-----------------------------------------------
▼title
----------------------------------------------- */
.ttl-type01{
	position: relative;
	z-index: 1;
	text-align: center;
	color: #ffffff;
}
.ttl-type01::before{
	transform: skewX(-20deg);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background-color: #0a82d2;
}
.ttl-type01::after{
	transform: skewX(-20deg);
	content: "";
	position: absolute;
	z-index: -2;
	background-color: #ff3233;
}
.ttl01_positionA::after{
	top: 10px;
	bottom: -10px;
	left: 5px;
	right: -5px;
}
.ttl01_positionB::after{
	top: 6px;
	bottom: -6px;
	left: 3px;
	right: -3px;
}
.ttl-size01{
	font-size: 3.3rem;
	width: 438px;
	height: 52px;
	letter-spacing: 0.03em;
	line-height: 1.5em;
}
.ttl-type02{
	font-size: 6rem;
	color: #0a82d2;
}
.ttl_box01{
	display: flex;
	justify-content:center;
	align-items: center;
	column-gap: 2%;
	margin-bottom: 10px;
}
.ttl-type03{
	font-size: 3rem;
	color: #666666;
	font-weight: 700;
	border-bottom: solid 1px #ff332f;
	padding-bottom: 0.3em;
	margin-bottom: 0.5em;
}
.ttl-size02{
	font-size: 2rem;
	font-weight: 700;
	width: 164px;
	height: 44px;
	letter-spacing: 0.09em;
	line-height: 2em;
}
.ttl-type04{
	text-align: center;
		margin-bottom: 0.4em;
		font-size: 2.4rem;
	font-weight: 700;
}
.ttl-type04 mark{
	background: linear-gradient(transparent 60%, #cceafb 0%);
}
.ttl-type05{
	background-color: #ffffff;
	border: solid 1px #0a82d2;
	color: #0a82d2;
	display: inline-block;
	text-align: center;
	font-size: 1.5rem;
	line-height: 2em;
	transition: all 0.3s ease;
}
.ttl05_size01{
	width: 95px;
	height: 33px;
}
.ttl05_size02{
	width: 93px;
	height: 32px;
}
@media screen and (max-width: 1150px){
	.ttl-size01{
		font-size: 2.8rem;
		width: 370px;
		height: 45px;
	}
	.ttl-type02{
		font-size: 5.4rem;
	}
	.ttl-type03{
		font-size: 2.7rem;
	}
	.ttl-size02{
		font-size: 1.7rem;
		width: 130px;
		height: 37px;
	}
	.ttl-type04{
		font-size: 2.1rem;
	}
}
@media screen and (max-width: 1000px){
	.ttl-size01{
		font-size: 2.5rem;
		width: 330px;
		height: 39px;
	}
	.ttl-type02{
		font-size: 5rem;
	}
	.ttl-type03{
		font-size: 2.4rem;
	}
	.ttl-size02{
		font-size: 1.5rem;
		width: 110px;
		height: 32px;
	}
	.ttl-type04{
		font-size: 1.9rem;
	}
	.ttl-type05{
		font-size: 1.4rem;
		width: 85px;
		height: 30px;
		line-height: 1.9em;
	}
}
@media screen and (max-width: 830px){
	.ttl-size01{
		font-size: 3.4vw;
		width: 45vw;
		height: 5.5vw;
	}
}
@media screen and (max-width: 810px){
	.ttl_box01{
		width: 75%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 630px){
	.ttl_box01{
		width: 100%;
	}
}
@media screen and (max-width: 530px){
	.ttl-type05{
		font-size: 1.3rem;
		width: 80px;
		height: 26px;
	}
	.ttl-type02{
		font-size: 3.4rem;
	}
	.ttl-type03{
		font-size: 1.9rem;
	}
	.ttl-size02{
		font-size: 1.3rem;
		width: 95px;
		height: 27px;
	}
	.ttl01_positionB::after{
		top: 3px;
		bottom: -3px;
		left: 2px;
		right: -2px;
	}
	.ttl-size01{
		font-size: 1.8rem;
		width: 260px;
		height: 30px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 20px;
	}
	.ttl01_positionA::after{
		top: 5px;
		bottom: -5px;
		left: 2.5px;
		right: -2.5px;
	}
}
@media screen and (max-width: 430px){
	.ttl-size01{
		font-size: 5vw;
		width: 76vw;
		height: 10vw;
		line-height:10vw;
	}
}
/*
-----------------------------------------------
▼about us
----------------------------------------------- */
.au_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.au_img{
	width: 45%;
}
.au_img img{
	width: 100%;
}
.au_txt{
	width: 52%;
}
.au_txt p{
	margin-bottom: 40px;
}
.about_us{
	margin-top: 95px;
	margin-bottom: 85px;
}
@media screen and (max-width: 1150px){
	.au_txt p{
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 1000px){
	.about_us{
		margin-top: 65px;
		margin-bottom: 45px;
	}
}
@media screen and (max-width: 810px){
	.au_box{
		flex-direction: column-reverse;
		grid-row-gap: 20px;
	}
	.au_txt{
		width: 75%;
	}
	.au_img{
		width: 75%;
	}
	.btn_about-us{
		width: 75%;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
	}
	.au_txt p{
		margin-bottom: 0;
	}
}
@media screen and (max-width: 630px){
	.au_txt{
		width: 100%;
	}
	.btn_about-us{
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 530px){
	.about_us{
		margin-top: 45px;
	}
}
/*
-----------------------------------------------
▼text size
----------------------------------------------- */
.honbun01{
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.9em;
}
.honbun02{
	font-size: 1.6rem;
	font-weight: 500;
}
@media screen and (max-width: 1150px){
	.honbun01,
	.honbun02{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 1000px){
	.honbun01,
	.honbun02{
		font-size: 1.4rem;
	}
}
/*
-----------------------------------------------
▼button
----------------------------------------------- */
.btn02 a{
	font-size: 2rem;
	font-weight: 700;
	color: #0a82d2;
	text-decoration: none;
	background-color: #ffffff;
	border: solid 1px #0a82d2;
	padding: 0.8em 3em 0.8em 1.6em;
	display: inline-block;
	position: relative;
	transition: all 0.3s ease;
}
.btn02 a::before{
	position: absolute;
	content: url("../img/common/arrow01_blue.png");
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
.btn02 a:hover{
	background-color: #0a82d2;
	color: #ffffff;
}
.btn02 a:hover::before{
	position: absolute;
	content: url("../img/common/arrow01_white.png");
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}
.btn_footer a{
	background-color: #ffffff;
	color: #0a82d2;
	font-size: 1.7rem;
	text-decoration: none;
	font-weight: 500;
	display: inline-block;
	width: 218px;
	height: 40px;
	margin-bottom: 10px;
	border: solid 1px #ffffff;
	transition: all 0.5s 0s ease;
	line-height: 39px;
}
.btn_footer a > div{
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn_footer .fa-envelope{
	margin-right: 0.2em;
	font-size: 2.7rem;
}
.btn_footer a:hover{
	background-color: #0a82d2;
	color: #ffffff;
}

@media screen and (max-width: 1150px){
	.btn02 a{
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 1000px){
	.btn02 a{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 530px){
	.btn02 a{
		font-size: 1.4rem;
	}
}
/*
-----------------------------------------------
▼service
----------------------------------------------- */
.service{
	margin-bottom: 65px;
}
.sv_list{
	display: flex;
	justify-content: space-between;
}
.sv_list li{
	width: 47.5%;
}
.sv_img img{
	width: 100%;
}
.sv_img_box{
	margin-bottom: 15px;
	position: relative;
}
.arrow01{
	position: absolute;
	display: inline-block;
	background-color: #ffffff;
	border: solid 1px #0a82d2;
	width: 52px;
	height: 52px;
	bottom: 15px;
	right: 15px;
	transition: all 0.3s ease;
}
.sv_img_box a:hover .sv_img{
	opacity: 0.7;
}
.sv_img_box a:hover .arrow01{
	background-color: #0a82d2;
	color: #ffffff;
}
.arrow01::after{
	content: url("../img/common/arrow02_blue.png");
	position: absolute;
	bottom: 11px;
	right: 13px;
}
.sv_img_box a:hover .arrow01::after{
	content: url("../img/common/arrow02_white.png");
}
@media screen and (max-width: 1000px){
	.service{
		margin-bottom: 45px;
	}
}
@media screen and (max-width: 810px){
	.sv_list{
		flex-direction: column;
		align-items: center;
		grid-row-gap: 40px;
	}
	.sv_list li{
		width: 75%;
	}
}
@media screen and (max-width: 630px){
		.sv_list li{
		width: 100%;
	}
}
@media screen and (max-width: 530px){
	.arrow01{
		width: 42px;
		height: 42px;
	}
	.arrow01::after{
		bottom: 6px;
		right: 9px;
	}
	.sv_list{
		grid-row-gap: 25px;
	}
	.sv_img_box{
		width: 75%;
		margin-left: auto;
		margin-right: auto;
	}
}
/*
-----------------------------------------------
▼works
----------------------------------------------- */
.works{
background-color: #e0e2e2;
	padding-top: 70px;
	padding-bottom: 60px;
}
.works_list{
	display: flex;
	flex-wrap: wrap;
	column-gap: 2%;
	grid-row-gap: 3vw;
}
.works_list a{
	text-decoration: none;
}
.works_list p{
	color: #333333;
	margin-top: 0.4em;
	margin-bottom: 0.6em;
}
.works_list li a:hover .works_img{
	opacity: 0.7;
}
.works_list li a:hover .ttl-type05{
	background-color: #0a82d2;
	color: #ffffff;
}
.works_list li{
	width: 23.5%;
}
.works_img img{
	width: 100%;
}
.works_list li img{
	width: auto;
}
.works_btn{
	text-align: center;
	margin-top: 55px;
}
@media screen and (max-width: 1100px){
	.works_list{
		column-gap: 3%;
		grid-row-gap: 4vw;
	}
	.works_list li{
		width: 31.3%;
	}
}
@media screen and (max-width: 1000px){
	.works{
		padding-top: 55px;
		padding-bottom: 55px;
	}
}
@media screen and (max-width: 810px){
	.works_list{
		width: 75%;
		margin-left: auto;
		margin-right: auto;
	}
	.works_list li{
		width: 48.5%;
	}
}
@media screen and (max-width: 630px){
	.works_list{
		width: 100%;
		justify-content: center;
	}
}
@media screen and (max-width: 530px){
	.works_list li{
		width: 75%;
	}
}

/*
-----------------------------------------------
▼news
----------------------------------------------- */
.news{
	margin-top: 60px;
	margin-bottom: 80px;
}
.news_list{
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.news_list li a{
	display: flex;
	align-items: center;
	column-gap: 5%;
	border-bottom: dashed 1px #999999;
	padding-bottom: 1.5em;
	padding-left: 2em;
	text-decoration: none;
	padding-top: 1.5em;
}
.news_list li{
	transition: all 0.3s ease;
}
.news_list time{
	font-size: 1.6rem;
	font-weight: 700;
	color: #333333;
	width: 55%;
}
.news_list p{
	color: #333333;
}
.news_list li a:hover .ttl-type05{
		background-color: #0a82d2;
	color: #ffffff;
}
.news_list li:hover{
	background: rgba(204, 234, 251, 0.56);
}
.news_btn{
	text-align: center;
	margin-top: 35px;
}
.news_list_wrap{
	display: flex;
	align-items: center;
}
.news_list p{
	width: 70%;
}
.news_cat{
	width: 45%;
}
@media screen and (max-width: 1000px){
	.news{
		margin-top: 55px;
		margin-bottom: 55px;
	}
	.news_list time{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 810px){
	.news_list time{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 630px){
	.news_list li a{
		padding-left: 1em;
	}
}
@media screen and (max-width: 530px){
	.news_list li a{
		flex-direction: column;
	}
	.news_list_wrap{
		display: flex;
		align-items: center;
		column-gap: 10px;
		margin-bottom: 10px;
	}
	.news_list time{
		width: 50%;
	}
	.news_list li a{
		align-items: flex-start;
	}
	.news_list p{
		width: 100%;
	}
}
/*
-----------------------------------------------
▼footer
----------------------------------------------- */
footer{
	background-color: #0a82d2;
	padding-top: 60px;
	padding-bottom: 20px;
	position: relative;
}
footer::after{
	content: "";
	width: 100%;
	height: 10px;
	background-color: #ff3333;
	position: absolute;
	bottom: 0;
	left: 0;
}
.footer_con{
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
	max-width: 1100px;
}
.footer_logo{
	width: 184px;
}
.footer_logo a{
		transition: all 0.3s ease;
}
.footer_logo a:hover{
	opacity: 0.7;
}
.footer_logo img{
	width: 100%;
}
.tel_box{
	color: #ffffff;
}
.tel a{
	color: #ffffff;
	text-decoration: none;
}

.tel_box p{
	font-size: 2.3rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.footer_info{
	font-size: 1.6rem;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.6em;
}
.footer_inner{
	padding-left: 5%;
	padding-right: 5%;
}
.footer_small{
	text-align: right;
	color: #ffffff;
}
.footer_small small{
	font-size: 1.4rem;
	font-weight: 500;
	margin-right: 35px;
}
.pp_link{
	font-size: 1.6rem;
	font-weight: 500;
	color: #ffffff;
	text-decoration: none;
	position: relative;
	padding-left: 1.2em;
	display: inline-block;
}
.pp_link::before{
	content: "▶︎";
	position: absolute;
	left: 0;
	font-size: 13px;
	top: 50%;
	transform: translateY(-50%);
}
.pp_link:hover{
	text-decoration: underline;
	color: #ffffff;
}
.pp_link:hover::before{
	content: "\025bc";
}
@media screen and (max-width: 1150px){
	.tel_free{
		font-size: 2.8rem;
	}
	.tel_box p{
		font-size: 2rem;
	}
}
@media screen and (max-width: 1000px){
	footer{
		padding-top: 50px;
	}
}
@media screen and (max-width: 850px){
	.footer_con02{
		width: 38%;
	}
	.tel_box{
		width: 55%;
	}
	.footer_con{
		align-items: center;
	}
	p.f_detail{
		font-size: 1.4rem;
	}
	.f_detail_box{
		margin-top: 10px;
	}
	.footer_logo{
		width: 154px;
	}
	.footer_info address{
		font-size: 1.4rem;
		margin-top: 10px;
	}
	.tel_free{
		font-size: 3rem;
	}
	.pp_link{
		font-size: 1.5rem;
	}
	.footer_small small{
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 700px){
	.footer_con02{
		width: 45%;
	}
	.tel_box{
		width: 50%;
	}
}
@media screen and (max-width: 560px){
	.tel_box{
		width: 52%;
	}
	.tel_free{
		font-size: 2.7rem;
	}
	.tel_box p{
		font-size: 1.8rem;
	}
	.f_detail_box p{
		font-size: 1.3rem;
	}
	.footer_info address{
		font-size: 1.3rem;
	}
	.footer_small small{
		font-size: 1.1rem;
	}
	.pp_link{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 500px){
	.footer_con{
		flex-direction: column;
	}
	.footer_logo{
		margin-left: auto;
		margin-right: auto;
	}
	.footer_con02{
		width: 100%;
		text-align: center;
	}
	.tel_box{
		width: 100%;
		text-align: center;
	}
	.footer_con{
		grid-row-gap: 20px;
	}
	footer{
		padding-top: 15px;
	}
	.pp_link{
		margin-bottom: 30px;
	}
	.pp_box{
		text-align: right;
	}
	.footer_small{
		text-align: center;
	}
	.footer_small small{
		margin-right: 0;
	}
	.footer_con{
		margin-bottom: 40px;
	}
}
/*
-----------------------------------------------
▼page top
----------------------------------------------- */
.page-top{
	width: 50px;
	height: 50px;
	background-color: #ffffff;
	border: solid 1px #0a82d2;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 1000;
	cursor: pointer;
	  opacity: 0;
  visibility: hidden;
	transition: .2s;
}

.page-top p{
position: relative;
}
.page-top p::before{
	content: "\025b2";
	position: absolute;
	top: 50%;
	color: #0a82d2;
	transform: translate(-50%, -50%);
	z-index: 1000;
	font-size: 25px;
}
.page-top.is-active {
  opacity: 1;
  visibility: visible;
}
.page-top:hover{
	background-color: #0a82d2;
}
.page-top:hover p::before{
	color: #ffffff;
}
/* --------------------------
  ページャー
---------------------------*/

.pager{
text-align:center;
font-family: "Poppins", sans-serif;
font-weight: 700;
font-style: normal !important;
	margin-bottom: 40px;
}

.pager a:hover{
	color:#ccc;
}

a.page-numbers{
	background:rgba(0,0,0,0);
	border:solid 1px rgba(0,0,0,0.1);
	border-radius:4px;
	padding:4px 10px;
	margin:0 4px;
        text-decoration:none !important;
}

.pager .current{
	border-radius:4px;
	padding:4px 10px;
	margin:0 6px;
        text-decoration:none !important;
	background:rgba(0,166,217,1);
	border:solid 1px rgba(0,166,217,1);
	color:rgba(255,255,255,1);
}



.inner_main_txt{
	max-width: 760px;
	margin:60px auto 80px;
	padding-left: 20px;
	padding-right: 20px;
}

@media screen and (max-width: 767px){
.inner_main_txt{
	margin:30px auto 40px;
}
}

/*
-----------------------------------------------
▼top slide
----------------------------------------------- */
.main_vis_wrap .swiper-wrapper{
	width: 100%;
	height: 100%;
}

.main_vis_wrap .swiper-slide{
	width: 100%;
}







