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

html,body,p{
	font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #333333;
	line-height: 1.8;
	font-size:16px;
}
html { scroll-behavior: smooth;}

.pc_view{
  display: block;
}

.sp_view{
  display: none;
}

@media screen and (max-width: 767px) {
    .pc_view{
      display: none;
    }

    .sp_view{
      display: block;
    }
}

@media screen and (max-width: 767px) {
	html,body,p{
		font-size:14px;
	}
}

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

/* 幅 */
.w30{width: 30%;}
.w40{width: 40%;}
.w50{width: 50%;}
.w60{width: 60%;}
.w70{width: 70%;}

/* マージン */
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}

/* ドロワー */
@media screen and (min-width: 768px) {
	.openbtn{
		display: none;
	}
}
.openbtn{
	position:fixed;
	top:20px;
	right: 20px;
	z-index: 9999;/*ボタンを最前面に*/
	cursor: pointer;
    width: 40px;
    height:40px;
	background:#fff;
	border: 1px solid #003AA6;
	border-radius: 100px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .3s;
    position: absolute;
    left: 10px;
    height: 2px;
    border-radius: 2px;
	background-color: #003AA6;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:12px;	
}

.openbtn span:nth-of-type(2) {
	top:18px;
}

.openbtn span:nth-of-type(3) {
	top:24px;
}

.openbtn.active span:nth-of-type(1) {
    top: 12px;
    left: 10px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 24px;
    left: 10px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}

/* ヘッダーナビゲーション */
@media screen and (max-width: 767px) {
	.gnavi__wrap ul{
		display: none;
	}
}
.header{
	min-height: 80px;
	z-index: 100;
}
.header_wrapper{
	justify-content: space-between;
	align-items: center;
	padding: 20px;
}
.gnavi__wrap ul{
	gap:20px;
}
.gnavi__wrap a{
	color: #fff;
	font-weight: 500;
	font-size: 14px;
}
.gnavi__wrap.subpage a{
	color:#00367D;
}
.gnavi__wrap a:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.gnavi__wrap a.navi-contact{
	color: #003AA6;
	background: #fff;
	padding: 10px 30px;
	border-radius: 20px;
}
.gnavi__wrap a.navi-contact.subpage{
	color: #fff;
	background:#00367D;
}

@media screen and (max-width: 767px) {
	.header_wrapper h1 img{
		height: 30px;
	}
}


/* フッター */
footer{
	overflow: hidden;
}
.footer_wrapper{
	padding: 70px;
	max-width: 1480px;
	justify-content: space-between;
	margin: 0 auto;
}
.company_info .flex{
	flex-direction: column;
}
.footer_wrapper .company_info p{
	font-size: 14px;
	margin: 20px 20px 0 0;
}
.footer_wrapper .company_info img{
	width: 340px;
}
.footer_wrapper .footer_menu{
	flex-direction: column;
}
.footer_wrapper .footer_menu ul{
	gap:15px;
	font-size: 13px;
}
.footer_wrapper .copyright{
	font-size: 11px;
	text-align: right;
}

@media screen and (max-width: 767px) {
	.footer_wrapper{
		padding: 50px 20px 120px 20px;
	}
	.footer_wrapper .company_info img{
	width: 300px;
}
	.footer_wrapper.flex,
	.company_info .flex{
		flex-direction: column;
	}
	.footer_menu ul{
		display: none;
	}
	.copyright{
		margin-top: 20px;
	}
	.footer-tel{
		font-size:20px;
	}
	.footer-tel a{
		text-decoration:underline;
		color:#0C5EA4;
	}
}

/* ボタン */
a.pml_btn{
	background: rgb(18,123,197);
	background: linear-gradient(90deg, rgba(18,123,197,1) 0%, rgba(6,66,134,1) 100%);
	font-size: 14px;
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 300;
	padding: 22px 22px;
	width: 300px;
	border-radius: 50px;
	display: inline-block;
	margin-top: 60px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.pml_btn:hover{
	opacity: 0.7;
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	a.pml_btn{
		width: 100%;
		margin-top: 40px;
	}
}

a.pml_btn_w{
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(220,224,232,1) 100%);
	font-size: 14px;
	color: #0C5EA4;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 300;
	padding: 22px 67px;
	border-radius: 50px;
	display: inline-block;
	width: 300px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
a.pml_btn_w:hover{
	opacity: 0.7;
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	a.pml_btn_w{
		width: 100%;
	}
}

#floating-list div{
	width: 100%;
}
#floating-list {
	border-bottom: 1px solid #0C5EA4;
	margin-bottom: 20px;
	gap:10px;
}
.floating_contact{
	padding: 0 20px;
}
.floating_contact,
.floating_contact p,
.floating_contact a{
	color:#0C5EA4;
	text-align: center;
}
.floating_contact-btn span{
	display: none;
	font-size: 0;
}
.between p{
	text-align: left;
}
@media screen and (max-width: 767px) {
	.floating_contact-box{
		gap:10px;
		display: flex;
		flex-direction: column;
		margin-top: 20px;
	}
	.floating_contact-box > .flex{
		justify-content: space-between;
	}
	.floating_contact a{
		display: block;
	}
	.floating_contact-btn{
		width: calc(100% - 105px);
	}
	.between{
		justify-content: space-between;
	}
	.floating_contact-btn span{
		font-size: 10px;
		display: block;
	}
}

.floating_contact .flex{
	align-items: center;
	gap:15px;
}
.floating_contact a.tel{
	font-size:24px;
	color:#0c5ea4;
}
.floating_contact a.tel:before{
	content:'';
	background-image: url("../img/icon_tel.svg");
	background-size: contain;
	display: inline-block;
	width: 26px;
	height: 26px;
	vertical-align: middle;
	margin-right: 5px;
}
@media screen and (max-width: 767px) {
	.floating_contact a.tel{
		font-size:24px;
		line-height: 16px;
	}
}

@media screen and (max-width: 767px) {
	.floating_contact a.tel:before{
		width: 16px;
        height: 16px;
        margin-bottom: 4px;
	}
}

a.toumei:hover{
	opacity: 0.7;
	transition: 0.3s;
}
a.floating_btn1{
	background: rgb(214,91,0);
	background: linear-gradient(90deg, rgba(214,91,0,1) 0%, rgba(221,55,132,1) 100%);
	font-size: 14px;
	color: #fff;
	padding: 20px;
	border-radius: 50px;
	display: block;
	width: 100%;
}
a.floating_btn2{
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(220,224,232,1) 100%);
	font-size: 14px;
	color: #0C5EA4;
	font-weight:500;
	padding: 20px;
	border-radius: 50px;
	display: block;
	width: 100%;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
a.floating_btn2:after{
	content:'';
	background: url("../img/icon_pdf.svg");
	background-size: cover;
	display: inline-block;
	width: 16px;
	height: 20px;
	top:-4px;
	margin-left: 10px;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	a.floating_btn1,
	a.floating_btn2{
		padding:14px 20px;
	}
}

/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}

/* スマホのみtelリンク有効 */
@media (min-width: 751px) {
a[href*="tel:"]:not(.entry_btn) {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.br-sp {
    display: none;
}

@media (max-width: 600px) {
    .br-sp {
        display: block;
    }
}

.sp-none{
	display:inline-block;
}
@media (max-width: 600px) {
    .sp-none {
        display: none;
    }
}
.footer-map{
	border:1px solid #0C5EA4;
	padding:3px 4px 4px 4px;
	margin-left: 6px;
	border-radius: 4px;
}
.footer-map a{
	display: inline-block;
	color:#0C5EA4;
	font-size: 10px;
}