@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width: 769px) {
#pc------------------------------------------- {
}
main .snav ul {
	width: 74.67vw;        /* 1020px */
}
main .snav ul li a {
	width: 13.76vw;        /* 188px */
}
main .snav ul li:nth-of-type(3) a {
	background-color: #005DA5;
	color: #fff;
	transition: 0.3s;
}





#office h2 {
	font-size: 1.757vw;    /* 24px */
	color: #0D57A7;
	margin-bottom: 2.929vw; /* 40px */
}
#office .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 74.93vw;        /* 1024px */
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 4.392vw; /* 60px */
	padding-bottom: 4.392vw; /* 60px */
	border-bottom: 0.073vw solid #808080; /* 1px */
}
#office .flex figure {
	width: 37.33vw;        /* 510px */
}
#office .flex div {
	width: 32.95vw;        /* 450px */
	text-align: left;
}
#office .flex div h3 {
	font-size: 1.465vw;    /* 20px */
	margin-bottom: 1.465vw; /* 20px */
}
#office .flex div h3+p {
	font-size: 1.098vw;    /* 15px */
	line-height: 1.8em;
}
#office .flex div a {
	color: #000;
	text-decoration: none;
}
#office .flex div .btn a {
	display: block;
	width: 5.857vw;        /* 80px */
	height: 2.197vw;       /* 30px */
	line-height: 2.562vw;  /* 35px */
	text-align: center;
	color: #fff;
	text-decoration: none;
	background-color: #0D57A7;
	border-radius: 100px;
	font-size: 1.025vw;    /* 14px */
	font-family: "Josefin Sans", sans-serif;
	margin-top: 1.465vw;   /* 20px */
}
#office .flex div .btn a:hover {
	opacity: 0.8;
}
#office .flex2 {
	display: flex;
	width: 74.93vw;        /* 1024px */
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 2.562vw;  /* 35px */
	padding-bottom: 2.562vw; /* 35px */
	border-bottom: 0.073vw solid #808080; /* 1px */
	align-items: center;
}
#office .flex+.flex2 {
	padding-top: 0;
	margin-top: -1.465vw;  /* -20px */
}
#office .flex2 h3 {
	width: 21.96vw;        /* 300px */
	font-size: 1.465vw;    /* 20px */
}
#office .flex2 p {
	font-size: 1.098vw;    /* 15px */
	line-height: 1.8em;
}
#office .flex2 p a {
	color: #000;
	text-decoration: none;
}
#office .flex2.last {
	border-bottom: none;
	padding-bottom: 5.857vw; /* 80px */
}
#office .inner {
	background-color: #CFDEEC;
	padding-top: 5.857vw;  /* 80px */
	margin-bottom: -8.222vw; /* -85px */
}
#office .inner h3 {
	line-height: 1.8em;
}
#office .inner .icon {
	width: 1.025vw;        /* 14px */
	position: relative;
	top: 0.512vw;          /* 7px */
	margin-left: 0.732vw;  /* 10px */
}

}




/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
main .snav ul li:nth-of-type(3) a {
	background-color: #005DA5;
	color: #fff;
	transition: 0.3s;
}




#office h2 {
	font-size: 6vw;
	color: #0D57A7;
	margin-bottom: 40px;
}
#office .flex {
	margin-left: 5vw;
	margin-right: 5vw;
	margin-bottom: 10vw;
	padding-bottom: 10vw;
	border-bottom: 1px solid #808080;
}
#office .flex figure {
}
#office .flex div {
	text-align: left;
	margin-top: 3vw;
}
#office .flex div h3 {
	font-size: 5vw;
	margin-bottom: 3vw;
}
#office .flex div h3+p {
	line-height: 1.8em;
}
#office .flex div a {
	color: #000;
	text-decoration: none;
}
#office .flex div .btn a {
	display: block;
	width: 30vw;
	height: 10vw;
	line-height: 11vw;
	text-align: center;
	color: #fff;
	text-decoration: none;
	background-color: #0D57A7;
	border-radius: 100px;
	font-family: "Josefin Sans", sans-serif;
	margin-top: 5vw;
}
#office .flex div .btn a:hover {
	opacity: 0.8;
}
#office .flex2 {
	margin-left: 5vw;
	margin-right: auto;
	text-align: left;
	padding-top: 10vw;
	padding-bottom: 10vw;
	border-bottom: 1px solid #808080;
	align-items: center;
}
#office .flex+.flex2 {
	padding-top: 5vw;
	margin-top: -5vw;
}
#office .flex2 h3 {
	font-size: 5vw;
	margin-bottom: 3vw;
}
#office .flex2 p {
	line-height: 1.8em;
}
#office .flex2 p a {
	color: #000;
	text-decoration: none;:
}
#office .flex2.last {
	border-bottom: none;
	padding-bottom: 10vw;
}
#office .inner {
	background-color: #CFDEEC;
	padding-top: 10vw;
	margin-bottom: -20vw;
}
#office .inner h3 {
	line-height: 1.8em;
}
#office .inner .icon {
	width: 4vw;
	position: relative;
	top: 2vw;
	margin-left: 1vw;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}