@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;
		padding: 0 0 40px;
	}
	.main-wrap4 .content {
		width: 90%;
		margin: 0 auto;
	}
	.main-wrap4 .heading-s {
		font-size: 18px;
		text-align: center;
	}
	.main-wrap5 {
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
	}
	.main-wrap5 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 60px 0;
	}
	.main-wrap5 .content {
		width: 90%;
		margin: 0 auto;
	}
	.main-wrap5 .philosophy-table,
	.main-wrap5 .philosophy-table tbody,
	.main-wrap5 .philosophy-table tr,
	.main-wrap5 .philosophy-table th,
	.main-wrap5 .philosophy-table td {
		display: block;
		width: 100%;
		text-align: center;
	}
	.main-wrap5 .philosophy-table {
		border-top: 2px solid #141414;
	}
	.main-wrap5 .philosophy-table td {
		border-bottom: 2px solid #141414;
		font-weight: bold;
		padding: 40px 0 50px 0;
	}
	.main-wrap5 .philosophy-table th {
		font-size: 18px;
		padding: 10px 0;
		font-weight: bold;
	}
    .main-wrap6{
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
	}
	.main-wrap6 .content-wrap{
        width: 100%;
		padding: 60px 0 60px 0;
		margin: 0 auto 0 auto;
	}
	.main-wrap6 .content {
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	.main-wrap6 .heading {
		font-size: 18px;
	}
	.main-wrap6 .heading:after {
		content: "";
		height: 2px;
		width: 25px;
		background: #d23732;
		display: block;
		margin: 10px auto;
	}
	.main-wrap7 {
		width: 100%;
		margin:  0 auto;
		padding: 0;
		position: relative;
	}
	.main-wrap7 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 60px 0;
	}
	.main-wrap7 .content {
		width: 90%;
		margin: 0 auto;
	}
	.main-wrap7 .philosophy-table,
	.main-wrap7 .philosophy-table tbody,
	.main-wrap7 .philosophy-table tr,
	.main-wrap7 .philosophy-table th,
	.main-wrap7 .philosophy-table td {
		display: block;
		width: 100%;
		text-align: center;
	}
	.main-wrap7 .philosophy-table {
		border-top: 2px solid #141414;
	}
	.main-wrap7 .philosophy-table td {
		border-bottom: 2px solid #141414;
		font-weight: bold;
		padding: 40px 0 50px 0;
	}
	.main-wrap7 .philosophy-table th {
		font-size: 18px;
		padding: 10px 0;
		font-weight: bold;
	}
}

@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: 1000px;
		margin: 0 auto;
	}
	.main-wrap4 .content {
		padding: 20px 0 50px 0;
	}
	.main-wrap4 .heading-s {
		font-size: 24px;
		text-align: center;
	}
	.main-wrap5 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap5 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 20px 0;
	}
	.main-wrap5 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap5 .philosophy-table {
		width: 800px;
		margin: 0 auto;
		border-top: 2px solid #141414;
	}
	.main-wrap5 .philosophy-table th,
	.main-wrap5 .philosophy-table td {
		border-bottom: 2px solid #141414;
		padding: 32px;
	}
	.main-wrap5 .philosophy-table th {
		font-size: 24px;
		width: 480px;
		font-weight: bold;
	}
	.main-wrap5 .philosophy-table td {
		font-weight: bold;
	}
	.main-wrap6 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap6 .content-wrap {
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 100px 0;
	}
	.main-wrap6 .content {
		width: 1000px;
		margin: 0 auto;
		text-align: center;
	}
	.main-wrap6 .heading {
		font-size: 36px;
	}
	.main-wrap6 .heading:after {
		content: "";
		height: 4px;
		width: 50px;
		background: #d23732;
		display: block;
		margin: 10px auto;
	}
	.main-wrap6 .lead {
		font-size: 24px;
		font-weight: bold;
	}
	.main-wrap7 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap7 .content-wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0 0 180px 0;
	}
	.main-wrap7 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap7 .philosophy-table {
		width: 800px;
		margin: 0 auto;
		border-top: 2px solid #141414;
	}
	.main-wrap7 .philosophy-table th,
	.main-wrap7 .philosophy-table td {
		border-bottom: 2px solid #141414;
		vertical-align: middle;
	}
	.main-wrap7 .philosophy-table th {
		font-size: 24px;
		padding: 32px 60px 32px 90px;
		font-weight: bold;
	}
	.main-wrap7 .philosophy-table td {
		padding: 32px 32px 32px 60px;
		font-weight: bold;
	}
}
