@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#helo {
	background-image: url("../images/general-produce/h_bg.webp");
	height: 30vw;
	background-position: center bottom;
	background-size: cover;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#helo h1 {
	padding-top: 4vw;
	font-size: 60px;
	color: #003752;
}
#helo h1 img {
	width: 208px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 28px;
}
#about h2 {
	font-size: 36px;
	color: #003752;
	margin-top: 90px;
}
#about h2+p {
	font-size: 14px;
	margin-top: 60px;
}
#about h2+p a {
	color: #000;
}


main .yellow {
	color: #f0c032;
}
main .red {
	color: #ff0000;
}


#zero {
	margin-top: 70px;
	background-color: #003951;
	padding-top: 55px;
	padding-bottom: 50px;
	color: #fff;
}
#zero h2 {
	width: 238px;
	margin-left: auto;
	margin-right: auto;
}
#zero h2+p {
	font-size: 24px;
	line-height: 1.6em;
	margin-top: 50px;
	margin-bottom: 50px;
}
#zero h3 {
	font-size: 24px;
	color: #f0c032;
}
#zero h3 span {
	font-size: 30px;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
#zero h3+p {
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 35px;
}
#zero h3+p+h4 {
	margin-top: 80px;
}
#zero h4 {
	font-size: 24px;
	color: #ff0000;
}
#zero h4 span {
	font-size: 30px;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
#zero h4+p {
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 35px;
}



#zirei {
	padding-top: 70px;
}
#zirei h2 {
	font-size: 48px;
	color: #003951;
	margin-bottom: 60px;
}
#zirei h2 span {
	font-size: 24px;
	display: block;
	margin-bottom: 30px;
}
#zirei h2+ul {
	width: 662px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 60px;
}
#zirei h2+ul li {
	font-size: 24px;
	color: #003951;
	margin-bottom: 15px;
}
#zirei h2+ul li span {
	color: #c1272d;
	padding-left: 40px;
	width: 470px;
	display: inline-block;
	letter-spacing: -0.05em;
}
#zirei h2+ul li a {
	font-size: 14px;
	color: #000;
	font-weight: bold;
}

#zirei .box {
	background-color: #F2F5F6;
	margin-bottom: 80px;
}
#zirei .box .inner {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 50px;
}
#zirei .box .inner h3 {
	font-size: 21px;
	color: #003850;
}
#zirei .box .inner h3 span {
	display: block;
	font-size: 36px;
	margin-bottom: 15px;
}
#zirei .box .inner h3+p {
	font-size: 36px;
	color: #c1272d;
	margin-top: 20px;
	margin-bottom: 30px;
}
#zirei .box .inner h3+p+p span {
	font-size: 36px;
	color: #003951;
	margin-top: 20px;
	display: inline-block;
}
#zirei .box .inner h3+p+p {
	margin-bottom: 55px;
}
#zirei .box .inner+figure {
	margin-bottom: 10px;
}
#zirei .box .inner+figure+p {
	margin-bottom: 50px;
}
#zirei .box .inner+figure+.flex {
	margin-top: 80px;
}
#zirei .box .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
#zirei .box .flex:nth-child(odd) {
	flex-direction: row-reverse;
}
#zirei .box .flex.right {
	flex-direction: row;
}
#zirei .box .flex figure {
	width: 66%;
}
#zirei .box .flex p {
	width: 33%;
}
#zirei .box .flex+p {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5em;
	padding-bottom: 40px;
}
#zirei .box .flex+p .red {
	color: #c1272d;
}
#zirei .box .alpha {
	background-color: #fff;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
	padding-top: 50px;
}
#zirei .box .alpha.bk {
	background-color: #F2F5F6;
	margin-top: 0px;
	padding-top: 0px;
	padding-bottom: 55px;
}
#zirei .box .alpha figure {
	width: 1042px;
	margin-left: auto;
	margin-right: auto;
}
#zirei .box .alpha p {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	line-height: 1.4em;
	margin-top: 40px;
}



#yorisoi {
	margin-bottom: 80px;
}
#yorisoi h2 {
	font-size: 36px;
	color: #003752;
	line-height: 1.7em;
	margin-bottom: 40px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
#helo {
	background-image: url("../images/general-produce/h_bg.webp");
	height: 60vw;
	background-position: center bottom;
	background-size: cover;
	width: 100%;
}
#helo h1 {
	padding-top: 30vw;
	font-size: 7vw;
	color: #003752;
}
#helo h1 img {
	width: 30vw;
	margin-top: 3vw;
}



#about h2 {
	font-size: 6vw;
	color: #003752;
	margin-top: 10vw;
	line-height: 1.4em;
}
#about h2+p {
	margin-top: 5vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#about h2+p a {
	color: #000;
}


main .yellow {
	color: #f0c032;
}
main .red {
	color: #ff0000;
}


#zero {
	margin-top: 10vw;
	background-color: #003951;
	padding-top: 10vw;
	padding-bottom: 10vw;
	color: #fff;
}
#zero h2 {
	width: 40vw;
	margin-left: auto;
	margin-right: auto;
}
#zero h2+p {
	font-size: 5vw;
	line-height: 1.6em;
	margin-top: 5vw;
	margin-bottom: 8vw;
}
#zero h3 {
	font-size: 5vw;
	color: #f0c032;
}
#zero h3 span {
	font-size: 7vw;
	font-weight: bold;
	display: block;
	margin-bottom: 2vw;
}
#zero h3+p {
	margin-top: 3vw;
	margin-bottom: 8vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#zero h3+p+h4 {
	margin-top: 80px;
}
#zero h4 {
	font-size: 5vw;
	color: #ff0000;
}
#zero h4 span {
	font-size: 7vw;
	font-weight: bold;
	display: block;
	margin-bottom: 3vw;
}
#zero h4+p {
	margin-top: 3vw;
	margin-bottom: 8vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}



#zirei {
	padding-top: 15vw;
}
#zirei h2 {
	font-size: 6vw;
	color: #003951;
	margin-bottom: 8vw;
}
#zirei h2 span {
	font-size: 4vw;
	display: block;
	margin-bottom: 3vw;
}
#zirei h2+ul {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 8vw;
}
#zirei h2+ul li {
	color: #003951;
	margin-bottom: 5vw;
	margin-left: 5vw;
}
#zirei h2+ul li span {
	color: #c1272d;
	display: block;
	letter-spacing: -0.05em;
	font-size: 4vw;
}
#zirei h2+ul li a {
	color: #000;
	font-weight: bold;
	display: block;
	text-align: right;
	margin-right: 5vw;
}

#zirei .box {
	background-color: #F2F5F6;
	margin-bottom: 15vw;
}
#zirei .box .inner {
	margin-left: 5vw;
	margin-right: 5vw;
	text-align: left;
	padding-top: 8vw;
}
#zirei .box .inner h3 {
	font-size: 5vw;
	color: #003850;
}
#zirei .box .inner h3 span {
	display: block;
	font-size: 6vw;
	margin-bottom: 15px;
}
#zirei .box .inner h3+p {
	font-size: 6vw;
	color: #c1272d;
	margin-top: 5vw;
	margin-bottom: 5vw;
	line-height: 1.2em;
}
#zirei .box .inner h3+p+p span {
	font-size: 6vw;
	color: #003951;
	margin-top: 5vw;
	display: inline-block;
}
#zirei .box .inner h3+p+p {
	margin-bottom: 5vw;
}
#zirei .box .inner+figure {
	margin-bottom: 3vw;
}
#zirei .box .inner+figure+p {
	margin-bottom: 5vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#zirei .box .inner+figure+.flex {
	margin-top: 80px;
}
#zirei .box .flex {
	margin-bottom: 8vw;
}
#zirei .box .flex p {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3vw;
}
#zirei .box .flex+p {
	font-size: 5vw;
	font-weight: 500;
	line-height: 1.5em;
	padding-bottom: 5vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#zirei .box .flex+p .red {
	color: #c1272d;
}
#zirei .box .alpha {
	background-color: #fff;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10vw;
	padding-top: 10vw;
}
#zirei .box .alpha.bk {
	background-color: #F2F5F6;
	margin-top: 0px;
	padding-top: 0px;
	padding-bottom: 10vw;
}
#zirei .box .alpha figure {
	margin-left: auto;
	margin-right: auto;
}
#zirei .box .alpha p {
	font-size: 4vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	font-weight: 500;
	text-align: center;
	line-height: 1.4em;
	margin-top: 5vw;
}



#yorisoi {
	margin-bottom: 10vw;
}
#yorisoi h2 {
	font-size: 6vw;
	color: #003752;
	line-height: 1.7em;
	margin-bottom: 3vw;
}
#yorisoi h2+p {
	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------------------------------------------- {
}

}
