@charset "UTF-8";
/* CSS Document */
/*
-----------------------------------------------
▼font
----------------------------------------------- */
.inter {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/*
-----------------------------------------------
▼main visual
----------------------------------------------- */
.main_visual {
  background-image: url("../img/top/seitohaken_main.jpg");
  background-size: 100%;
  height: 84.9vw;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  margin-top: 100px;
}
.seitohaken_logo01 {
  width: 37.85vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -2%;
}
.seitohaken_logo01 img {
  width: 100%;
}
@media screen and (max-width: 500px){
	.main_visual{
		margin-top: 80px;
	}
}
/*
-----------------------------------------------
▼policy
----------------------------------------------- */
.policy h2 {
  font-size: 8.0rem;
  font-weight: 700;
  margin-top: 10px;
  font-feature-settings: "palt";
}
.po_h3_01 {
  margin-top: 0.8em;
}
.po_img01 {
  width: 30%;
  margin-top: 10%;
}
.po_img01 img {
  width: 100%;
}
.po_txt p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8em;
  margin-top: 1.5em;
}
.po_txt01 {
  margin-top: 30px;
  width: 67%;
}
.po_img02 {
  width: 33%;
}
.po_img02 img {
  width: 100%;
}
.po_txt02 {
  width: 64%;
}
.po_box01 {
  margin-bottom: 125px;
}
.po_box02 {
  margin-bottom: 50px;
  column-gap: 3%;
}
.hokusan_field {
  margin-bottom: 75px;
}
.hokusan_field img {
  width: 100%;
}
@media screen and (max-width: 1080px){
	.policy h2{
		font-size: 6.2vw;
	}
}



@media screen and (max-width: 768px) {
  .po_box01 {
	margin-bottom: 70px;
  }
  .po_txt01 {
    width: 100%;
  }
  .policy h2 {
    font-size: 6.0rem;
	margin-top: 40px;
	margin-bottom: 50px;
  }
  .po_h3_01 {
    writing-mode: vertical-rl;
	    margin-top: 0;
	position: relative;
	  right: 13%;
  }
  .po_img01 {
    width: 56%;
    margin-top: 0;
  }
	.po_honbun01{
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1.8em;
		margin-top: 30px;
	}
	.po_txt02{
		width: 100%;
	}
	.po_h3_02{
		position: relative;
		left: 8%;
		writing-mode: vertical-rl;
	}
	.po_img02{
		width: 74%;
	}
}
@media screen and (max-width: 600px) {
	.policy h2{
		font-size: 5.0rem;
	}
}
@media screen and (max-width: 465px){
	.policy h2{
		font-size: 10vw;
		margin-top: 5vw;
		margin-bottom: 7vw;
	}
	.po_img01{
		width: 60%;
	}
	.po_honbun01{
		font-size: 1.5rem;
	}
	.po_box01{
		margin-bottom: 15vw;
	}
	.po_h3_02{
		left: 5%;
	}
	.po_txt p{
		font-size: 1.5rem;
	}
	.hokusan_field{
		margin-bottom: 40px;
	}
}
/*
-----------------------------------------------
▼タイトル
----------------------------------------------- */
.ttl_type01 {
  color: #f8b100;
  font-size: 3.0rem;
  position: relative;
  padding-left: 1.4em;
  display: inline-block;
  letter-spacing: 0.04em;
}
.ttl_type01::before {
  content: "";
  position: absolute;
  width: 0.8em;
  height: 5px;
  background-color: #f8b100;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.ttl-type02 {
  background-color: #f8b100;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  width: 132px;
  height: 28px;
  display: inline-block;
  line-height: 1.7em;
  text-align: center;
}
.ttl-type03{
  font-size: 2.0rem;
  font-weight: 700;
  display: inline-block;
  line-height: 2.0em;
  text-align: center;
  padding: 0.05em 0.7em;
}
.orange{
 background-color: #f8b100;
color: #ffffff;
}
.white{
background-color: #ffffff;
color: #f8b100;
}
.ttl-type04{
  color: #333333;
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
  width: 110px;
  height: 37px;
  line-height: 1.8em;
  border: solid 1px #333333;
  text-align: center;
}
.ttl-type05{
	color: #ffffff;
	background-color: #f8b100;
	font-size: 2.4rem;
	display: inline-block;
	text-align: center;
	letter-spacing: 0.05em;
	padding: 0.3em 1em;
}
.h-type01 {
  font-size: 4.4rem;
  font-weight: 700;
}
@media screen and (max-width: 1380px){
.h-type01 {
  font-size: 3vw;
  font-weight: 700;
}
}

.h-type02 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #ffffff;
}
.h-type03{
	font-size: 4.0rem;
	margin-top: 0.5em;
	margin-bottom: 0.4em;
}
.h-type04{
  font-size: 1.9rem;
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 1230px){
	.h-type03{
		font-size: 3.6rem;
		margin-top: 0.4em;
		margin-bottom: 0.5em;
	}
	.ttl-type05{
		font-size: 2.0rem;
	}
}
@media screen and (max-width: 1000px){
	.ttl-type03{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 768px) {
  .ttl_type01 {
    font-size: 2.2rem;
  }
  .h-type01 {
    font-size: 3.7rem;
  }
	.h-type02{
		font-size: 2.1rem;
	}
}
@media screen and (max-width: 767px){
	.ttl-type03{
		font-size: 1.4rem;
	}
	.ttl-type04{
		font-size: 1.7rem;
		line-height: 2em;
	}
	.h-type03{
		font-size: 2.8rem;
	}
	.ttl-type05{
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 670px){
	.h-type02{
		font-size: 2.8vw;
	}
}
@media screen and (max-width:600px){
	.h-type01{
		font-size: 3.0rem;
	}
}
@media screen and (max-width: 500px) {
  .ttl_type01 {
    font-size: 1.6rem;
  }
  .ttl_type01::before {
    height: 3px;
  }
	.h-type02{
		font-size: 3.8vw;
	}
	.ttl-type03{
		font-size: 3vw;
	}
	.ttl-type04{
		font-size: 1.5rem;
		width: 85px;
		height: 32px;
	}
	.h-type03{
		font-size: 4.5vw;
	}
	.ttl-type05{
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 465px){
	.h-type01{
		font-size: 6.45vw;
	}
	.ttl-type02{
		font-size: 1.4rem;
		line-height: 1.9em;
		width: 120px;
	}
}
/*
-----------------------------------------------
▼about
----------------------------------------------- */
.about {
  background-color: #f0f0f0;
  padding-top: 95px;
  padding-bottom: 100px;
}
.a_txt {
  width: 48.5%;
}
.a_img {
  width: 48.5%;
}
.a_img img {
  width: 100%;
}
.a_box {
  column-gap: 3%;
}
.a_link-menu {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.a_link-menu p {
  font-size: 2.8rem;
  font-weight: 700;
}
.a_link-menu a {
  text-decoration: none;
  color: #333333;
}
.arrow01 {
  font-size: 3.0rem;
}
.a_link-menu li {
  border-bottom: dashed 1px #666666;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.a_ttl {
  margin-bottom: 30px;
  align-items: flex-end;
}
.a_ttl h3{
	margin-left: 30px;
}
@media screen and (max-width: 768px){
	.a_box{
		flex-direction: column;
	}
	.a_ttl{
		flex-direction: column;
		align-items: flex-start;
	}
	.a_txt{
		width: 100%;
	}
	.a_link-menu{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.a_img{
		width: 70%;
		padding-top: 25px;
	}
}
@media screen and (max-width: 600px){
	.a_link-menu p{
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 465px){
	.a_link-menu{
		width: 100%;
	}
	.a_link-menu p{
		font-size: 2.0rem;
	}
	.about{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.a_img{
		width: 90%;
	}
	.a_ttl h3{
		margin-left: 0;
	}
}
/*
-----------------------------------------------
▼footer link
----------------------------------------------- */
.footer_link {
  background-image: url("../img/common/bg01.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding-top: 80px;
  padding-bottom: 80px;
}
.footer_link_btn{
	justify-content: space-between;
}
.footer_link_btn a {
  text-decoration: none;
  display: inline-block;
  background-color: rgba(248, 177, 0, 0.17);
  border: solid 1px #ffffff;
  /* width: 282px; */
  width:260px;
  height: 184px;
  text-align: center;
}
.footer_link_btn span {
  display: inline-block;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 18px;
}
.icon01 {
  width: 50px;
}
.icon02 {
  width: 65px;
}
.icon03 {
  width: 50px;
}
.icon04{
	width: 68px;
}
.footer_link_icon {
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.footer_link_icon img {
  width: 100%;
}
.footer_link_btn a.a01{
	padding-top: 30px;
}
.footer_link_btn a.a02{
	padding-top: 22px;
}
@media screen and (max-width: 1180px){
		.footer_link_btn a{
		width: 200px;
		height: 200px;
		padding-top: 25px;
	}
	.footer_link_btn{
		justify-content: center;
		column-gap: 2%;
		grid-row-gap: 2vw;
	}
	.footer_link_btn a.a01{
		padding-top: 30px;
	}
	.footer_link_btn a.a02{
		padding-top: 20px;
	}
	.footer_link {
		background-image: url("../img/common/sp-bg01.jpg");
	}
	.footer_link_btn span{
		margin-bottom: 20px;
	}
	.icon03{
		padding-top: 10px;
	}
}
@media screen and (max-width: 895px){
	.footer_link_btn{
		justify-content: center;
		column-gap: 3%;
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 768px){
	.footer_link_btn span{
		font-size: 1.5rem;
		margin-top: 5px;
		margin-bottom: 10px;
	}
	.icon01{
		width: 45px;
	}
	.icon02{
		width: 55px;
		padding-top: 10px;
	}
	.icon03{
		width: 38px;
		padding-top: 15px;
	}
	.footer_link_btn a.a01{
		padding-top: 30px;
	}
	.footer_link {
		background-image: url("../img/common/sp-bg01.jpg");
	}
}
@media screen and (max-width: 670px){
	.footer_link_btn a{
		width: 30vw;
		height: 30vw;
	}
	.footer_link_btn span{
		font-size: 2vw;
	}
	.icon01{
		width: 6vw;
	}
	.icon02{
		width: 7.3vw;
	}
	.icon03{
		width: 5vw;
	}
}
@media screen and (max-width: 570px){
	.footer_link_btn{
		width: 100%;
	}
}
@media screen and (max-width: 500px){
	.footer_link_btn a{
		width: 40vw;
		height: 40vw;
		padding-top: 4.5vw;
	}
	.footer_link_btn a.a01{
		padding-top: 5.7vw;
	}
	.footer_link_btn{
		justify-content: center;
		column-gap: 3%;
		grid-row-gap: 3vw;
	}
	.footer_link_btn span{
		font-size: 3vw;
		margin-top: 2vw;
		margin-bottom: 4vw;
	}
	.icon01{
		width: 9.5vw;
	}
	.icon02{
		width: 13vw;
	}
	.icon03{
		width: 9vw;
	}
}
@media screen and (max-width: 465px){
	.footer_link{
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
/*
-----------------------------------------------
▼footer
----------------------------------------------- */
.footer {
  background-color: #f8b100;
  padding-top: 60px;
}
.footer_banner {
  width: 65%;
  justify-content: flex-end;
}
.footer_banner li {
  width: 30%;
}
.footer_banner li img {
  width: 100%;
}
.hokusan_logo02 {
  width: 288px;
}
.hokusan_logo02 img {
  width: 100%;
}
.seitohaken_logo03 {
  width: 185px;
  margin-top: 15px;
  margin-left: auto;
  margin-right: auto;
}
.seitohaken_logo03 img {
  width: 100%;
}
.footer_logo p {
  font-size: 1.5rem;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 10px;
}
.footer_hokusan {
  display: inline-block;
}
.footer_banner {
  column-gap: 2%;
}
.footer_box {
  margin-bottom: 70px;
}
small {
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: 500;
  margin-bottom: 15px;
  display: inline-block;
}
@media screen and (max-width: 865px){
	.footer_box{
		flex-direction: column;
	}
	.footer_banner{
		width: 100%;
		margin-top: 30px;
		justify-content: center;
	}
	.footer_banner li{
		width: 32%;
	}
}
@media screen and (max-width: 768px){
	.footer{
		padding-top: 45px;
	}
	.footer_hokusan a{
		display: flex;
		align-items: center;
		column-gap: 3%;
	}
	.hokusan_logo02{
	}
	.seitohaken_logo03{
		margin-top: 0;
	}
	.footer_box{
		flex-direction: column;
		margin-bottom: 0;
		padding-bottom: 80px;
	}
	.footer_banner{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		margin-top: 25px;
	}
	.footer_banner img,
	.footer_banner li{
		width: 100%;
	}
	small{
		line-height: 1.7em;
		font-weight: 400;
	}
	.footer_logo{
		margin-bottom: 8px;
	}
	small span{
		font-size: 2.3rem;
		margin-bottom: 5px;
		display: inline-block;
	}
	.footer_banner li:not(:last-child){
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 500px){
		.hokusan_logo02{
		width: 55vw;
	}
	.seitohaken_logo03{
		width: 35vw;
	}
}
@media screen and (max-width: 465px){
	small span{
		font-size: 1.8rem;
	}
	small{
		font-size: 1.5rem;
	}
	.footer_logo{
		margin-bottom: 10px;
	}
	.footer_box{
		padding-bottom: 50px;
	}
	.footer{
		padding-top: 35px;
	}
}
/*
-----------------------------------------------
▼ボタン
----------------------------------------------- */
.btn01 a {
  background-color: #004ea2;
  color: #ffffff;
  display: inline-block;
  width: 254px;
  height: 57px;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 500;
  border-radius: 7px;
  text-align: center;
  padding: 1em;
  transition: 0.3s;
  border: solid 1px #004ea2;
}
/*
-----------------------------------------------
▼hover
----------------------------------------------- */
.a_link-menu li:hover {
  opacity: 0.7;
}
.a_link-menu li .arrow {
  position: relative;
  right: 0;
  transition: 0.3s;
}
.a_link-menu li:hover .arrow {
  right: -10px;
  transition: 0.3s;
}
.footer_link_btn a:hover {
  opacity: 0.7;
}
.footer_banner a:hover img, .footer_hokusan a:hover {
  opacity: 0.7;
}
.header_logo:hover {
  opacity: 0.7;
}
.btn01 a:hover {
  color: #004ea2;
  background-color: #ffffff;
  transition: 0.3s;
}














