@charset "utf-8";

@media screen and (max-width: 768px) {
	.main-wrap1 {
		width: 100%;
		position: relative;
		overflow: hidden;
	}
	.main-wrap1 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 5px 0;
	}
	.main-wrap1 .content {
		padding: 37px 0 35px;
		position: relative;
	}
	.main-wrap1 .content h2.page-title {
		text-align: center;
		position: relative;
		z-index: 10;
	}
	.main-wrap1 .content h2.page-title span.en {
		display: block;
		margin-bottom: 6px;
	}
	.main-wrap1 .content h2.page-title span.en img{
		width: 100%;
	}
	.main-wrap1 .content h2.page-title span.jp {
		display: block;
		font-size: 16px;
		font-weight: 600;
	}
	.main-wrap1 .bg-1 {
		width: 100%;
		height: 100px;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.main-wrap1 .bg-1::before {
		position: absolute;
		top: 0;
		right: 80vw;
		display: block;
		content: " ";
		background-color: #d23732;
		height: 100%;
		width: 100%;
		transform: skew(-45deg);
	}
	.main-wrap1 .bg-2 {
		width: 100%;
		height: 100px;
		margin: 0 auto;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.main-wrap1 .bg-2::before {
		position: absolute;
		top: 0;
		left: 80vw;
		display: block;
		content: " ";
		background-color: #f0f0f0;
		height: 100%;
		width: 100%;
		transform: skew(-45deg);
	}
    .main-wrap2{
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
		background-color: #fff;
	}
	.main-wrap2 .content-wrap{
        width: 100%;
		margin: 0 auto 0 auto;
	}
	.main-wrap2 .content {
		width: 90%;
		overflow-x: scroll;
		overflow-y: hidden;
		white-space: nowrap;
		margin: 0 auto 0 auto;
		position: relative;
        padding: 2px 0 2px 0;
		-webkit-overflow-scrolling: touch;
	}
    .main-wrap2 .content .breadcrumbfr{
		width:auto;
		list-style: none;
	}
	.main-wrap2 .content .breadcrumb{
		display: inline-block;
		margin:0 0 3px 0;
	}
	.main-wrap2 .content .breadcrumb .breadcrumblnk{
		color:#1e1e1e;
		padding:0 10px;
		vertical-align: middle;
		display: inline-block;
        font-weight: 600;
    }
    .main-wrap2 .content .breadcrumb:first-child .breadcrumblnk{
        padding:0 10px 0 0;
    }
	.main-wrap2 .content .breadcrumb span.breadcrumbborder{
		vertical-align: middle;
		display: inline-block;
		position: relative;
		top:0px;
	}
	.main-wrap2 .content .breadcrumb span.breadcrumbborder img{
		vertical-align: middle;
        width: 15px;
	}
    .main-wrap3{
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
	}
	.main-wrap3 .content-wrap{
        width: 100%;
		padding: 60px 0 60px 0;
		margin: 0 auto 0 auto;
	}
	.main-wrap3 .content {
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	.main-wrap3 .heading {
		font-size: 18px;
	}
	.main-wrap3 .heading:after {
		content: "";
		height: 2px;
		width: 25px;
		background: #d23732;
		display: block;
		margin: 10px auto;
	}
	.main-wrap4 {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		position: relative;
	}
	.main-wrap4 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap4 .content {
		width: 90%;
		margin: 0 auto;
	}
	.main-wrap4 .twocolumn-wrap .image-area-sp {
		margin-bottom: 56px;
	}
	.main-wrap4 .twocolumn-wrap .image-area-sp img{
		width: 100%;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner {
		margin-bottom: 50px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner .heading-s {
		margin: 0;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p {
		margin-top: 34px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p:nth-of-type(1) {
		margin-top: 20px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p.name {
		margin: 40px 0 0 0;
		text-align: right;
		font-weight: bold;
	}
	.image-area-pc{
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.main-wrap1 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
		overflow: hidden;
	}
	.main-wrap1 .content-wrap {
		width: 1000px;
		margin: 0 auto;
		padding: 0 0 10px 0;
	}
	.main-wrap1 .content {
		padding: 70px 0 70px;
		position: relative;
	}
	.main-wrap1 .content h2.page-title {
		text-align: center;
		position: relative;
		z-index: 10;
	}
	.main-wrap1 .content h2.page-title span.en {
		display: block;
		margin-bottom: 12px;
	}
	.main-wrap1 .content h2.page-title span.en img{
		width: 100%;
	}
	.main-wrap1 .content h2.page-title span.jp {
		display: block;
		font-size: 24px;
		font-weight: 600;
	}
	.main-wrap1 .bg-1 {
		width: 1000px;
		height: 200px;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.main-wrap1 .bg-1::before {
		position: absolute;
		top: 0;
		right: 810px;
		display: block;
		content: " ";
		background-color: #d23732;
		height: 100%;
		width: 1000%;
		transform: skew(-45deg);
	}
	.main-wrap1 .bg-2 {
		width: 1000px;
		height: 200px;
		margin: 0 auto;
		position: absolute;
		bottom:0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	.main-wrap1 .bg-2::before {
		position: absolute;
		top: 0;
		left: 810px;
		display: block;
		content: " ";
		background-color: #f0f0f0;
		height: 100%;
		width: 1000%;
		transform: skew(-45deg);
	}
	.main-wrap2{
        min-width: 1200px;
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
		background-color: #fff;
	}
	.main-wrap2 .content-wrap{
		margin: 0 auto 0 auto;
		padding: 0 0 0 0;
	}
	.main-wrap2 .content {
		width: 1000px;
		margin: 0 auto 0 auto;
		position: relative;
        padding: 0;
	}
    .main-wrap2 .content .breadcrumbfr{
		width:auto;
		list-style: none;
	}
	.main-wrap2 .content .breadcrumb{
		color:#1e1e1e;
		display: inline-block;
		float: left;
		margin:0 0 3px 0;
	}
    .main-wrap2 .content .breadcrumb .breadcrumblnk{
		color:#1e1e1e;
		padding:0 20px;
		vertical-align: middle;
		display: inline-block;
        font-weight: 600;
    }
    .main-wrap2 .content .breadcrumb:first-child .breadcrumblnk{
        padding:0 20px 0 0;
    }
	.main-wrap2 .content .breadcrumb span.breadcrumbborder{
		vertical-align: middle;
		display: inline-block;
		position: relative;
		top:0;
	}
	.main-wrap2 .content .breadcrumb span.breadcrumbborder img{
        vertical-align: middle;
        width: 15px;
    }
	.main-wrap3 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap3 .content-wrap {
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 100px 0;
	}
	.main-wrap3 .content {
		width: 1000px;
		margin: 0 auto;
		text-align: center;
	}
	.main-wrap3 .heading {
		font-size: 36px;
	}
	.main-wrap3 .heading:after {
		content: "";
		height: 4px;
		width: 50px;
		background: #d23732;
		display: block;
		margin: 10px auto;
	}
	.main-wrap3 .lead {
		font-size: 24px;
		font-weight: bold;
	}
	.main-wrap4 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap4 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 20px 0 100px;
	}
	.main-wrap4 .content {
		width: 1000px;
		margin: 0 auto;
		font-size: 0;
	}
	.main-wrap4 .twocolumn-wrap .text-area {
		display: inline-block;
		vertical-align: top;
		width: 540px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner {
		margin-bottom: 56px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner .heading-s {
		margin: 0;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p {
		margin-top: 40px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p:nth-of-type(1) {
		margin-top: 20px;
	}
	.main-wrap4 .twocolumn-wrap .text-area .text-inner p.name {
		display: block;
		margin: 40px 0 0 0;
		text-align: right;
		font-weight: bold;
	}
	.main-wrap4 .twocolumn-wrap .image-area-pc {
		display: inline-block;
		vertical-align: top;
		width: 380px;
		padding: 0;
		margin: 0 0 0 80px;
	}
	.main-wrap4 .twocolumn-wrap .image-area-pc img{
		width: 100%;
	}
	.image-area-sp{
		display: none;
	}
}