@charset "UTF-8";

/*field_lead
----------------------------------------*/
.field_lead {
	background: #F8F7F7;
	color: #000;
	text-align: center;
	padding: 218px 20px 94px;
	margin: -162px 0 0;
}
.field_lead h2 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .05em;
	margin-bottom: 27px;
}
.field_lead h2::after {
	content: '';
	display: block;
	width: 70px;
	height: 1px;
	background: #E7380D;
	margin: 13px auto 0;
}
.field_lead p {
	font-size: 1.6rem;
	line-height: 2.1;
	letter-spacing: .05em;
	margin-bottom: 0;
}
.field_lead p.note {
	font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
	.field_lead {
		padding: 30px 6.9767% 50px;
		margin: 0;
	}
	.field_lead h2 {
		font-size: 2.1rem;
	}
	.field_lead p.note {
		text-align: left;
		line-height: 1.6;
		text-indent: -1em;
		margin-left: 1em;
	}
}

/*field_section
----------------------------------------*/
.field_section {
	padding: 7rem 2rem 0;
	color: #000;
}
.field_section .inner {
	max-width: 100rem;
	margin: 0 auto;
}
.field_section ul {
	max-width: 83.4rem;
	margin: 0 auto 6.2rem;
	display: flex;
	justify-content: space-between;
}
.field_section ul li {
	width: 24.2rem;
	text-align: center;
	padding: 0;
}
.field_section ul li h2 {
	background: #E7380D;
	color: #fff;
	text-align: center;
	font-size: 2rem;
	line-height: 1.5;
	padding: .2rem .5rem .3rem;
	font-weight: 500;
	letter-spacing: .05em;
	position: relative;
	margin-bottom: 3.8rem;
}
.field_section ul li h2::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .9rem .6rem 0;
	border-color: #E7380D transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.8rem;
	margin: 0 auto;
}
.field_section ul li figure {
	margin: 0 auto;
	width: 11.1rem;
	position: relative;
}
.field_section ul li:nth-child(1) figure {
	left: -1rem;
}
.field_section ul li:nth-child(3) figure {
	left: -.5rem;
}
.field_section ol {
	counter-reset: ol-num;
}
.field_section ol li {
	padding-left: 6.8rem;
	margin-bottom: 3.8rem;
	position: relative;
}
.field_section ol li h3 {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: .7rem;
}
.field_section ol li p {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: .05em;
	margin-bottom: 2.5rem;
}
.field_section ol li::before {
	content: counter(ol-num, decimal);
	display: block;
	counter-increment: ol-num;
	font-size: 2.4rem;
	color: #fff;
	font-weight: 700;
	width: 4.7rem;
	height: 4.7rem;
	border-radius: 50%;
	background: #E7380D;
	text-align: center;
	line-height: 4.7rem;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	position: absolute;
	left: 0;
	top: -.6rem;
}
@media screen and (max-width: 767px) {
	.field_section {
		padding: 5rem 6.9767% 0;
	}
	.field_section ul {
		margin-bottom: 4rem;
	}
	.field_section ul li {
		width: 30%;
	}
	.field_section ul li h2 {
		font-size: 1.5rem;
		line-height: 1.2;
		height: 4.1rem;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 2rem;
	}
	.field_section ul li figure {
		width: 8rem;
	}
	.field_section ol li {
		padding-left: 4.5rem;
		margin-bottom: 3rem;
	}
	.field_section ol li h3 {
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.field_section ol li p {
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}
	.field_section ol li::before {
		font-size: 1.8rem;
		width: 3.2rem;
		height: 3.2rem;
		line-height: 3.2rem;
		top: 0;
	}
}

/*field_noritz
----------------------------------------*/
.field_noritz {
	padding: 3.7rem 2rem 11rem;
	color: #000;
}
.field_noritz h2 {
	font-size: 3.4rem;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
	margin-bottom: 4.1rem;
}
.field_noritz .inner {
	max-width: 1000px;
	margin: 0 auto;
}
.field_noritz .navi {
	display: flex;
	justify-content: space-between;
}
.field_noritz .navi li {
	width: 47.9rem;
}
.field_noritz .navi li a {
	display: block;
	border: 1px solid #E7380D;
	text-align: center;
	color: #C4C4C4;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .05em;
	padding: 1.4rem 1rem 1.3rem;
	border-bottom: 0;
}
.field_noritz .navi li.current a {
	background: #E7380D;
	color: #fff;
	position: relative;
}
.field_noritz .navi li.current a::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.3rem .85rem 0;
	border-color: #E7380D transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.2rem;
	margin: 0  auto;
}
.field_noritz .item {
	border: 1px solid #E7380D;
	position: relative;
	display: none;
}
.field_noritz .item_box {
	height: 42.8rem;
	background: url(../assets/field_bg_01.png) no-repeat left bottom / 100% auto;
}
.field_noritz .item#life .item_box {
	background-image: url(../assets/field_bg_02.png);
}
.item.show {
	display: block;
}
.field_noritz .balloon li {
	width: 9.8rem;
	height: 10.6rem;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.3;
	padding-bottom: 5px;
}
.field_noritz .balloon li a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../assets/field_balloon_bg.svg) no-repeat left top / 100% auto;
	transform-origin: 4.9rem 4.9rem;
}
.field_noritz .balloon li span {
	position: relative;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 500;
	color: #000;
}
.field_noritz #society .balloon li:nth-child(1) {
	top: 11.1rem;
	left: 1.8rem;
}
.field_noritz #society .balloon li:nth-child(1) {
	top: 20.8rem;
	left: 8.2rem;
}
.field_noritz #society .balloon li:nth-child(2) {
	top: 7rem;
	left: 15.7rem;
}
.field_noritz #society .balloon li:nth-child(3) {
	top: 18.3rem;
	left: 29.4rem;
}
.field_noritz #society .balloon li:nth-child(4) {
	top: 8.7rem;
	left: 36.9rem;
}
.field_noritz #society .balloon li:nth-child(5) {
	top: 20.7rem;
	left: 42.3rem;
}
.field_noritz #society .balloon li:nth-child(6) {
	top: 13.3rem;
	left: 51.5rem;
}
.field_noritz #society .balloon li:nth-child(7) {
	top: 2.8rem;
	left: 63.8rem;
}
.field_noritz #society .balloon li:nth-child(8) {
	top: 17.5rem;
	left: 69.8rem;
}
.field_noritz #society .balloon li:nth-child(9) {
	top: 12.9rem;
	left: 87.7rem;
}
.field_noritz #life .balloon li:nth-child(1) {
	top: 28.6rem;
	left: 4rem;
}
.field_noritz #life .balloon li:nth-child(1) a::before {
	transform: rotate(-45deg);
}
.field_noritz #life .balloon li:nth-child(2) {
	top: 17.1rem;
	left: 27.3rem;
}
.field_noritz #life .balloon li:nth-child(2) a::before {
	transform: rotate(45deg);
}
.field_noritz #life .balloon li:nth-child(3) {
	top: 29.6rem;
	left: 29.5rem;
}
.field_noritz #life .balloon li:nth-child(3) a::before {
	transform: rotate(90deg);
}
.field_noritz #life .balloon li:nth-child(4) {
	top: 11.4rem;
	left: 39.3rem;
}
.field_noritz #life .balloon li:nth-child(4) a::before {
	transform: rotate(135deg);
}
.field_noritz #life .balloon li:nth-child(5) {
	top: 16.4rem;
	left: 60.9rem;
}
.field_noritz #life .balloon li:nth-child(6) {
	top: 28.8rem;
	left: 70.6rem;
}
.field_noritz #life .balloon li:nth-child(6) a::before {
	transform: rotate(60deg);
}
@media screen and (max-width: 767px) {
	.field_noritz {
		padding: 3.7rem 6.9767% 6rem;
	}
	.field_noritz h2 {
		font-size: 2.6rem;
		letter-spacing: 0;
		margin-bottom: 2rem;
	}
	.field_noritz .navi li {
		width: 48%;
	}
	.field_noritz .navi li a {
		font-size: 1.6rem;
		padding: .8rem .5rem;
	}
	.field_noritz .item {
		overflow: auto;
	}
	.field_noritz .item_box {
		width: 100rem;
	}
}

/*modal
----------------------------------------*/
.field_noritz_modal {
	display: none;
}
.modal-item {
	max-width: 616px;
	background: #fff;
	padding: 57px 33px;
	box-shadow: 0 0 10px rgba(0,0,0,.4);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: 'Noto Sans JP', sans-serif;
}
.modal-item img {
	max-width: 100%;
}
.modal-left {
	width: 42.1818%;
}
.modal-left.life02 {
	width: 32.1818%;
	margin-left: 3.6364%;
}
.modal-right {
	width: 54%;
	padding-top: 5px;
	margin-left: 3.8182%;
	text-align: left;
}
.modal-left.life02 + .modal-right {
	width: 49.0909%;
}
.modal-left.life04 + .modal-right {
	margin-bottom: -1rem;
}
.modal-right p {
	line-height: 1.5;
	margin-top: 10px;
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.modal-right h3 {
	font-size: 2rem;
	margin-bottom: 1.3rem;
	letter-spacing: .05em;
	font-weight: 500;
	color: #E7380D;
}
@media screen and (max-width: 767px) {
	.modal-right h3 {
		font-size: 1.7rem;
	}
	.modal-item {
		padding: 5.7rem 5% 3rem;
		display: block;
	}
	.modal-right p {
		font-size: 1.4rem;
	}
	.modal-left,
	.modal-right {
		width: 100% !important;
		margin-left: 0 !important;
	}
	.modal-left.life02 {
		width: 60% !important;
		margin: 0 auto 1rem !important;
	}
	.modal-left {
		margin-bottom: 1rem !important;
	}
}

/* colobox
----------------------------------------*/
#colorbox,
#cboxOverlay,
#colorbox #cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 19999;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	overflow: visible;
}
#colorbox #cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}
#colorbox #cboxMiddleLeft,
#colorbox #cboxBottomLeft {
	clear: left;
}
#colorbox #cboxLoadedContent {
	border-color: transparent;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#colorbox #cboxTitle {
	margin: 0;
}
#colorbox #cboxLoadingOverlay,
#colorbox #cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
#colorbox #cboxPrevious,
#colorbox #cboxNext,
#colorbox #cboxClose,
#colorbox #cboxSlideshow {
	cursor: pointer;
}
#colorbox .cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
#colorbox .cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox,
#colorbox #cboxContent,
#colorbox #cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
#colorbox #cboxLoadedContent {
	overflow: visible !important;
	display: inline-block;
	position: static;
	background: none;
}
#cboxOverlay {
	background: #000;
	opacity: 0;
	transition: opacity 1000ms;
}
#colorbox {
	opacity: 0;
}
#colorbox,
#colorbox #cboxPrevious:active,
#colorbox #cboxNext:active,
#colorbox #cboxSlideshow:active,
#colorbox #cboxClose:active {
	outline: 0;
}
#colorbox #cboxContent {
	overflow: visible;
	margin: 0;
	background: none;
}
#colorbox #cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#colorbox #cboxTitle {
	position: absolute;
	top: -22px;
	left: 0;
	color: #333;
}
#colorbox #cboxCurrent {
	position: absolute;
	top: -22px;
	right: 205px;
	text-indent: -9999px;
}
#colorbox #cboxPrevious,
#colorbox #cboxNext,
#colorbox #cboxSlideshow,
#colorbox #cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
}
#colorbox #cboxPrevious:focus,
#colorbox #cboxNext:focus,
#colorbox #cboxSlideshow:focus,
#colorbox #cboxClose:focus {
	outline: none;
}
#colorbox #cboxClose {
	-webkit-appearance: none;
	appearance: none;
	width: 2.3rem;
	height: 2.3rem;
	border: 0;
	background: none;
	position: absolute;
	right: 2.5rem;
	top: 2rem;
	cursor: pointer;
	transition: opacity .3s;
	opacity: 1;
}
#colorbox #cboxClose:focus {
	outline: none;
}
#colorbox #cboxClose:hover {
	opacity: .6;
}
#colorbox #cboxClose::before,
#colorbox #cboxClose::after {
	content: '';
	display: block;
	width: 3.2rem;
	height: 2px;
	background: #707070;
	position: absolute;
	top: 1rem;
	left: -.5em;
	transform: rotate(45deg);
}
#colorbox #cboxClose::after {
	transform: rotate(-45deg);
}
#colorbox #cboxPrevious,
#colorbox #cboxNext {
	top: 50%;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	height: 40px;
	margin-top: -20px;
}
#colorbox #cboxNext {
	right: -30px;
}
#colorbox #cboxPrevious {
	left: -30px;
}
#colorbox #cboxPrevious::before,
#colorbox #cboxNext::before {
	content: '';
	display: block;
	position: absolute;
	left: -9px;
	top: 8px;
	width: 20px;
	height: 20px;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#colorbox #cboxPrevious::before {
	left: 5px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}