@charset "utf-8";




/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
main img {
	width: auto;
}
#helo {
	height: 420px;
	background-image: url("../images/pc/content/h_bg.png");
	background-size: cover;
	position: relative;
	margin-bottom: 80px;
}
#helo p {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
}




#content h1 {
	margin-bottom: 25px;
}
#content h1+p {
	font-size: 18px;
	line-height: 1.8em;
}
#content .flex {
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}
#content .flex .box {
	background-color: #E5EBEE;
	height: 32.9428989751vw;
	min-height: 450px;
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#content .flex .box div {
	width: 70%;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}
#content .flex .box div h2 {
	font-size: 36px;
	font-weight: bold;
	line-height: 1.3em;
}
#content .flex .box div h2+p {
	font-size: 21px;
	font-weight: bold;
	line-height: 1.8em;
	margin-top: 15px;
}
#content .flex .box div h2+p+p {
	font-size: 16px;
	line-height: 1.7em;
	margin-top: 20px;
}
#content .flex figure {
	width: 50%;
	height: 32.9428989751vw;
	min-height: 450px;
	background-image: url("../images/pc/content/p01.png");
	background-position: center top;
	background-size: cover;
}
#content .flex1 .box,
#content .flex3 .box
{
	flex-direction: row-reverse;
}
/*#content .flex1 .box div,
#content .flex3 .box div
{
	margin-right: 90px;
}*/
#content .flex2,
#content .flex4
{
	flex-direction: row-reverse;
}
#content .flex2 .box,
#content .flex4 .box
{
	background-color: #FDF8EB;
}
/*#content .flex2 .box div,
#content .flex4 .box div
{
	margin-left: 90px;
}*/
#content .flex2 figure {
	background-image: url("../images/pc/content/p02.png");
}
#content .flex3 figure {
	background-image: url("../images/pc/content/p03.png");
}
#content .flex4 figure {
	background-image: url("../images/pc/content/p04.png");
}





#items {
	margin-top: 80px;
}
#items .flex {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
#items .flex div {
	width: 300px;
	height: 300px;
	background-color: #003951;
	color: #fff;
	margin-top: 150px;
}
#items .flex div figure {
	margin-top: -90px;
}
#items .flex div h3 {
	font-size: 18px;
	font-weight: bold;
	padding-top: 45px;
	margin-bottom: 35px;
}
#items .flex div p {
	font-size: 14px;
}





#hoken h3 {
	margin-top: 40px;
}
#hoken .flex {
	display: flex;
	justify-content: space-between;
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-top: 30px;
}
#hoken .flex div {
	width: 510px;
}
#hoken .flex div h4 {
	background-color: #003752;
	color: #fff;
	height: 75px;
	line-height: 75px;
	font-size: 30px;
	font-weight: bold;
}
#hoken .flex div h4+p {
	background-color: #B2C4CB;
	color: #003752;
	border: 2px solid #003752;
	font-size: 24px;
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 20px;
	position: relative;
	top: -2px;
}
#hoken .flex figure {
	position: absolute;
	left: 0px;
	right: 0px;
	top: 30px;
}
#hoken .flex+p {
	background-color: #FBEAC3;
	color: #003752;
	font-size: 21px;
	font-weight: bold;
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	padding-top: 40px;
	padding-bottom: 40px;
	line-height: 1.7em;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
main img {
	width: auto;
}
#helo {
	height: 50vw;
	background-image: url("../images/pc/content/h_bg.png");
	background-size: cover;
	background-position: right center;
	position: relative;
	margin-bottom: 10vw;
}
#helo p {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}





#content h1 {
	margin-bottom: 5vw;
}
#content h1+p {
	line-height: 1.8em;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
#content .flex {
	margin-top: 10vw;
}
#content .flex .box {
	background-color: #E5EBEE;
	text-align: left;
	padding: 5vw;
}
#content .flex .box div {
}
#content .flex .box div h2 {
	font-size: 5vw;
	font-weight: bold;
	line-height: 1.3em;
}
#content .flex .box div h2+p {
	font-size: 4vw;
	font-weight: bold;
	line-height: 1.8em;
	margin-top: 15px;
}
#content .flex .box div h2+p+p {
	line-height: 1.7em;
	margin-top: 20px;
}
#content .flex figure {
	height: 40vw;
	background-image: url("../images/pc/content/p01.png");
	background-position: center top;
	background-size: cover;
}
#content .flex2 figure {
	background-image: url("../images/pc/content/p02.png");
}
#content .flex3 figure {
	background-image: url("../images/pc/content/p03.png");
}
#content .flex4 figure {
	background-image: url("../images/pc/content/p04.png");
}





#items {
	margin-top: 80px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
#items .flex {
	margin-left: 5vw;
	margin-right: 5vw;
}
#items .flex div {
	background-color: #003951;
	color: #fff;
	margin-top: 25vw;
	padding-bottom: 5vw;
}
#items .flex div figure img {
	margin-top: -15vw;
}
#items .flex div h3 {
	font-size: 4.5vw;
	font-weight: bold;
	padding-top: 3vw;
	margin-bottom: 3vw;
}
#items .flex div p {
	font-size: 3.5vw;
}





#hoken {
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
#hoken h3 {
	margin-top: 15vw;
}
#hoken .flex {
	margin-left: 5vw;
	margin-right: 5vw;
	position: relative;
	margin-top: 4vw;
}
#hoken .flex div {
	margin-bottom: 10vw;
}
#hoken .flex div h4 {
	background-color: #003752;
	color: #fff;
	height: 15vw;
	line-height: 15vw;
	font-size: 5vw;
	font-weight: bold;
}
#hoken .flex div h4+p {
	background-color: #B2C4CB;
	color: #003752;
	border: 2px solid #003752;
	font-size: 4.5vw;
	font-weight: bold;
	padding-top: 3vw;
	padding-bottom: 3vw;
	position: relative;
	top: -2px;
}
#hoken .flex figure {
	position: absolute;
	left: 0px;
	right: 0px;
	top: 27.5vw;
	margin-left: auto;
	margin-right: auto;
	transform: rotate(90deg);
	width: 16vw;
}
#hoken .flex+p {
	background-color: #FBEAC3;
	color: #003752;
	font-weight: bold;
	width: 80%;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5vw;
	padding: 5vw;
	line-height: 1.7em;
}
.r_btn {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
}



/*===============================================
●画面の横幅が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------------------------------------------- {
}
}