@charset "utf-8";

@media screen and (max-width: 768px) {
	.main-wrap1 {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap1 .content {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .inner-wrap {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .slidefr {
		width: 100%;
		position: relative;
		margin: 0;
		border-radius: 10px;
		overflow: hidden;
	}
	.ipad .main-wrap1 .slidefr,
	.mobile.yoko .main-wrap1 .slidefr {
		width: 800px;
	}
	.main-wrap1 .slidefr .slidemain {
		width: 100%;
		height: 130vw;
		overflow: hidden;
		margin: 0 auto 0 auto;
		position: relative;
		background-color: #aaa;
		z-index: 1;
	}
	.ipad .main-wrap1 .slidefr .slidemain,
	.mobile.yoko .main-wrap1 .slidefr .slidemain {
		height: 467px;
	}
	.main-wrap1 .slidefr .slidemain .slider {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
		z-index: 50;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg1 {
		background-image: url("../img/mv_01_sp.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg2 {
		background-image: url("../img/mv_02_sp.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg3 {
		background-image: url("../img/mv_03_sp.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidernavfrlist {
		width: 100%;
		padding: 5px 0 0 0;
		text-align: center;
		position: absolute;
		z-index: 1000;
		bottom:10px;
		left: 50%;
		transform: translateX(-50%);
	}
	.main-wrap1 .slidernavfrlist span {
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 15px 0 15px;
		cursor: pointer;
		border-radius: 50%;
		background-color: #fff;
	}
	.main-wrap1 .slidernavfrlist span.active {
		background-color: #1e2380;
	}	
	.main-wrap2 {
		width: 100%;
		margin: 0;
		padding: 60px 0 0 0;
		position: relative;
	}
	.main-wrap2 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap2 .content {
        width: 90%;
        margin: 0 auto;
	}
	.main-wrap2 .image img {
		width: 100%;
		border-radius: 15px;
		margin: 0 0 60px 0;
	}
	.main-wrap2 h5 {
		width: 100%;
	}
	.main-wrap2 p {
		width: 100%;
		margin-top: 30px;
	}
	.main-wrap2 p span{
		width: 100%;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
	}
	.main-wrap3 {
		width: 100%;
		margin: 0;
		padding: 60px 0 0 0;
		position: relative;
	}
	.main-wrap3 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap3 .boxfr {
		width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m3-bg-sp.jpg) no-repeat left 5vw top 19vw;
		background-color: 100%;
		background-size: 100% auto;
		min-height: 81vw;
	}
	.main-wrap3 .boxinner {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap3 .box {
		display: block;
		width: 95%;
		position: relative;
		padding: 8vw 25px;
		margin: 0 auto;
		background: #1e2380;
		border-radius: 30px;
		text-align: center;
	}
	.main-wrap3 .box .heading img{
		width: 100%;
	}
	.main-wrap3 .box p{
		margin: 15px 0 0 0;
		color: #fff;
	}
	.main-wrap3 .content {
        width: 90%;
        margin: 0 auto;
	}
	.main-wrap3 .content .titleimg{
		width: 100%;
	}
	.main-wrap3 .content .name1 {
		text-align: center;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
		margin: 30px 0 30px 0;
		line-height: 1.5em;
	}
	.main-wrap3 .content .name2 {
		text-align: center;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
		margin: 30px 0 0 0;
		line-height: 1.5em;
	}
	.main-wrap3 .content .txt {
		text-align: center;
		margin: 0 0 30px 0;
	}
	.main-wrap3 .content ul.philosophy-list {
		width: 100%;
		list-style: none;
		font-size: 0;
	}
	.main-wrap3 .content ul.philosophy-list li {
		display: inline-block;
		width: 100%;
		vertical-align: top;
		margin: 50px 0 0 0;
	}
	.main-wrap3 .content ul.philosophy-list li:nth-child(1) {
		margin-top: 0;
	}
	.main-wrap3 .content ul.philosophy-list li .image {
		width: 100%;
	}
	.main-wrap3 .content ul.philosophy-list li .image img {
		width: 100%;
		border-radius: 15px;
	}
	.main-wrap3 .content ul.philosophy-list li .heading-s {
		width: 100%;
		margin: 30px auto 0 auto;
		font-size: 20px;
		text-align: center;
	}
	.main-wrap3 .content ul.philosophy-list li .heading-s span {
		color: #1e2380;
	}		
	.main-wrap4 {
		width: 100%;
		margin: 0;
		padding: 60px 0 0 0;
		position: relative;
	}
	.main-wrap4 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap4 .boxfr {
		width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m4-bg-sp.jpg) no-repeat right 5vw top 19vw;
		background-color: 100%;
		background-size: 100% auto;
		min-height: 81vw;
	}
	.main-wrap4 .boxinner {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap4 .box {
		display: block;
		width: 95%;
		position: relative;
		padding: 8vw 25px;
		margin: 0 auto;
		background: #1e2380;
		border-radius: 30px;
		text-align: center;
	}
	.main-wrap4 .box .heading img{
		width: 100%;
	}
	.main-wrap4 .box p{
		margin: 15px 0 0 0;
		color:#fff;
	}
	.main-wrap4 .content {
        width: 90%;
        margin: 0 auto;
	}
	.main-wrap4 .content ul.philosophy-list {
		width: 100%;
		list-style: none;
		font-size: 0;
	}
	.main-wrap4 .content ul.philosophy-list li {
		display: inline-block;
		width: 100%;
		vertical-align: top;
		margin: 50px 0 0 0;
	}
	.main-wrap4 .content ul.philosophy-list li:nth-child(1) {
		margin-top: 0;
	}
	.main-wrap4 .content ul.philosophy-list li .image {
		width: 100%;
	}
	.main-wrap4 .content ul.philosophy-list li .image img {
		width: 100%;
		border-radius: 15px;
	}
	.main-wrap4 .content ul.philosophy-list li .heading-s {
		width: 100%;
		margin: 30px auto 0 auto;
		font-size: 20px;
		text-align: center;
	}
	.main-wrap4 .content ul.philosophy-list li .heading-s span {
		color: #1e2380;
	}
	.main-wrap4 .content ul.philosophy-list li p {
		color: #000;
		margin-top: 10px;
		font-size: 14px;
		text-align: center;
		font-weight: 500;
		line-height: 1.5em;
	}
	.main-wrap5 {
		width: 100%;
		margin: 0;
		padding: 60px 0 0 0;
		position: relative;
	}
	.main-wrap5 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap5 .boxfr {
		width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m5-bg-sp.jpg) no-repeat left 5vw top 19vw;
		background-color: 100%;
		background-size: 100% auto;
		min-height: 81vw;
	}
	.main-wrap5 .boxinner {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap5 .box {
		display: block;
		width: 95%;
		position: relative;
		padding: 8vw 25px;
		margin: 0 auto;
		background: #1e2380;
		border-radius: 30px;
		text-align: center;
	}
	.main-wrap5 .box .heading img{
		width: 100%;
	}
	.main-wrap5 .box p{
		margin: 15px 0 0 0;
		color:#fff;
	}
	.main-wrap5 .content {
        width: 90%;
        margin: 0 auto;
	}
	.main-wrap5 .content h4 {
		margin: 40px 0 20px 0;
	}
	.main-wrap5 .listwrap {
		border-top: 2px solid #1e2380;
	}
	.main-wrap5 .listwrap dl {
		display: table;
		width: 100%;
		border-bottom: 2px solid #1e2380;
	}
	.main-wrap5 .listwrap dl dt {
		display: table-cell;
		padding: 24px 10px 24px 0;
		font-weight: bold;
		width: 70px;
	}
	.main-wrap5 .listwrap dl dd {
		display: table-cell;
		padding: 24px 0;
	}
	.main-wrap5 .listwrap dl dd a{
		color: #000;
		border-bottom:1px solid #000;
       	padding-bottom: 3px;
	}
	.main-wrap5 .listwrap dl dd a:hover{
		text-decoration: none;
		color: #1e2380;
		border-bottom:1px solid #1e2380;
	}
	.main-wrap5 .content .gmapfr {
		width: 100%;
		height: 100vw;
		background-color: #fff;
		border: 2px solid #1e2380;
		border-radius: 16px;
		overflow: hidden;
	}
	.main-wrap5 .content .gmapfr .gmap {
		width: 100%;
		height: 100%;
	}
	.main-wrap6 {
		width: 100%;
		margin: 0;
		padding: 60px 0 100px 0;
		position: relative;
	}
	.main-wrap6 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap6 .content {
        width: 90%;
        margin: 0 auto;
	}
	.main-wrap6 .content .banner {
		width: 100%;
		background-color: #fff;
		border-radius: 16px;
		overflow: hidden;
		text-align: center;
	}
	.main-wrap6 .content .banner img{
		width: 100%;
		background-color: #fff;
		border-radius: 16px;
		overflow: hidden;
	}
	.main-wrap6 .content .banner h4{
		color:#1e2380;
		font-weight: bold;
		font-size: 20px;
    	letter-spacing: 0.2em;
		line-height: 1.5em;
		margin:20px 0 15px 0;
	}
	.main-wrap6 .content .banner p{
		font-size: 14px;
		font-weight: bold;
		letter-spacing: 0.1em;
    	line-height: 1.6em;
	}
}

@media screen and (min-width: 769px) {
	.main-wrap1 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0 50px 0 50px;
		position: relative;
	}
	.main-wrap1 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap1 .content {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .inner-wrap {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.main-wrap1 .slidefr {
		width: 100%;
		position: relative;
		margin: 0;
		border-radius: 10px;
		overflow: hidden;
	}
	.ipad .main-wrap1 .slidefr,
	.mobile.yoko .main-wrap1 .slidefr {
		width: 100%;
	}
	.main-wrap1 .slidefr .slidemain {
		width: 100%;
		height: 700px;
		overflow: hidden;
		margin: 0 auto 0 auto;
		position: relative;
		z-index: 1;
	}
	.ipad .main-wrap1 .slidefr .slidemain,
	.mobile.yoko .main-wrap1 .slidefr .slidemain {
		height: 467px;
	}
	.main-wrap1 .slidefr .slidemain .slider {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg1 {
		background-image: url("../img/mv_01_pc.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg2 {
		background-image: url("../img/mv_02_pc.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidefr .slidemain .hero-bg3 {
		background-image: url("../img/mv_03_pc.jpg");
		background-position-x: center;
		background-position-y: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.main-wrap1 .slidernavfrlist {
		width: 100%;
		padding: 0 0 0 0;
		text-align: center;
		position: absolute;
		z-index: 1000;
		bottom:0;
		left: 50%;
		transform: translateX(-50%);
	}
	.main-wrap1 .slidernavfrlist span {
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 25px 0 25px;
		cursor: pointer;
		border-radius: 50%;
		background-color: #fff;
	}
	.main-wrap1 .slidernavfrlist span.active {
		background-color: #1e2380;
	}
	.main-wrap2 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 120px 0 0 0;
		position: relative;
	}
	.main-wrap2 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap2 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap2 .image img {
		width: 100%;
		border-radius: 15px;
		margin: 0 0 60px 0;
	}
	.main-wrap2 h5 {
		width: 100%;
	}
	.main-wrap2 p {
		width: 100%;
		margin-top: 30px;
	}
	.main-wrap2 p span{
		width: 100%;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
	}
	.main-wrap3 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 80px 0 0 0;
		position: relative;
	}
	.main-wrap3 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap3 .boxfr {
        width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m3-bg.jpg) no-repeat right top 90px;
		background-size: 1450px 400px;
	}
	.main-wrap3 .boxinner {
		width: 1000px;
		margin: 0 auto;
		min-height: 490px;
		position: relative;
	}
	.main-wrap3 .box {
		display: block;
		width: 550px;
		min-height: 244px;
		position: relative;
		padding: 35px;
		margin: 0 0 0 30px;
		background: #1e2380;
		border-radius: 30px;
	}
	.main-wrap3 .box .heading img {
		width: 100%;
	}
	.main-wrap3 .box p{
		width: 100%;
		margin: 15px 0 0 0;
		color: #fff;
	}
	.main-wrap3 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap3 .content .titleimg{
		width: 100%;
	}
	.main-wrap3 .content .name1 {
		text-align: center;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
		margin: 0 0 30px 0;
	}
	.main-wrap3 .content .name2 {
		text-align: center;
		font-weight: bold;
		font-size: 20px;
		letter-spacing: 0.2em;
		margin-top: 40px;
	}
	.main-wrap3 .content .txt {
		text-align: center;
		margin: 0 0 30px 0;
	}
	.main-wrap3 .content ul.philosophy-list {
		width: 100%;
		list-style: none;
		font-size: 0;
	}
	.main-wrap3 .content ul.philosophy-list li {
		display: inline-block;
		width: 320px;
		vertical-align: top;
		margin: 50px 0 0 20px;
	}
	.main-wrap3 .content ul.philosophy-list li:nth-child(3n-2) {
		margin-left: 0;
	}
	.main-wrap3 .content ul.philosophy-list li:nth-child(1) {
		margin-top: 0;
	}
	.main-wrap3 .content ul.philosophy-list li:nth-child(2) {
		margin-top: 0;
	}
	.main-wrap3 .content ul.philosophy-list li:nth-child(3) {
		margin-top: 0;
	}
	.main-wrap3 .content ul.philosophy-list li .image {
		width: 100%;
	}
	.main-wrap3 .content ul.philosophy-list li .image img {
		width: 100%;
		border-radius: 15px;
	}
	.main-wrap3 .content ul.philosophy-list li .heading-s {
		width: 100%;
		margin: 30px auto 0 auto;
		font-size: 20px;
		text-align: center;
	}
	.main-wrap3 .content ul.philosophy-list li .heading-s span {
		color: #1e2380;
	}
	.main-wrap4 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 80px 0 0 0;
		position: relative;
	}
	.main-wrap4 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap4 .boxfr {
        width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m4-bg.jpg) no-repeat left top 90px;
		background-size: 1450px 400px;
	}
	.main-wrap4 .boxinner {
		width: 1000px;
		margin: 0 auto;
		min-height: 490px;
		position: relative;
	}
	.main-wrap4 .box {
		display: block;
		width: 550px;
		min-height: 244px;
		position: relative;
		padding: 35px;
		margin: 0 0 0 30px;
		background: #1e2380;
		border-radius: 30px;
	}
	.main-wrap4 .box .heading img {
		width: 100%;
	}
	.main-wrap4 .box p{
		width: 100%;
		margin: 15px 0 0 0;
		color:#fff;
	}
	.main-wrap4 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap4 .content ul.philosophy-list {
		width: 100%;
		list-style: none;
		font-size: 0;
	}
	.main-wrap4 .content ul.philosophy-list li {
		display: inline-block;
		width: 320px;
		vertical-align: top;
		margin: 50px 0 0 20px;
	}
	.main-wrap4 .content ul.philosophy-list li:nth-child(3n-2) {
		margin-left: 0;
	}
	.main-wrap4 .content ul.philosophy-list li:nth-child(1) {
		margin-top: 0;
	}
	.main-wrap4 .content ul.philosophy-list li:nth-child(2) {
		margin-top: 0;
	}
	.main-wrap4 .content ul.philosophy-list li:nth-child(3) {
		margin-top: 0;
	}
	.main-wrap4 .content ul.philosophy-list li .image {
		width: 100%;
	}
	.main-wrap4 .content ul.philosophy-list li .image img {
		width: 100%;
		border-radius: 15px;
	}
	.main-wrap4 .content ul.philosophy-list li .heading-s {
		width: 100%;
		margin: 30px auto 0 auto;
		font-size: 20px;
		text-align: center;
	}
	.main-wrap4 .content ul.philosophy-list li .heading-s span {
		color: #1e2380;
	}
	.main-wrap4 .content ul.philosophy-list li p {
		color: #000;
		margin-top: 10px;
		font-size: 16px;
		text-align: center;
		font-weight: 500;
		line-height: 2.0em;
	}
	.main-wrap5 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 80px 0 0 0;
		position: relative;
	}
	.main-wrap5 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap5 .boxfr {
        width: 100%;
		margin: 0 auto 40px auto;
		background: url(../img/m5-bg.jpg) no-repeat right top 90px;
		background-size: 1450px 400px;
	}
	.main-wrap5 .boxinner {
		width: 1000px;
		margin: 0 auto;
		min-height: 490px;
		position: relative;
	}
	.main-wrap5 .box {
		display: block;
		width: 550px;
		min-height: 244px;
		position: relative;
		padding: 35px;
		margin: 0 0 0 30px;
		background: #1e2380;
		border-radius: 30px;
	}
	.main-wrap5 .box .heading img {
		width: 100%;
	}
	.main-wrap5 .box p{
		width: 100%;
		margin: 15px 0 0 0;
		color:#fff;
	}
	.main-wrap5 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap5 .content h4 {
		margin: 40px 0 20px 0;
	}
	.main-wrap5 .listwrap {
		border-top: 2px solid #1e2380;
	}
	.main-wrap5 .listwrap dl {
		display: table;
		width: 100%;
		border-bottom: 2px solid #1e2380;
	}
	.main-wrap5 .listwrap dl dt {
		display: table-cell;
		padding: 30px 10px 30px 0;
		font-weight: bold;
		width: 200px;
	}
	.main-wrap5 .listwrap dl dd {
		display: table-cell;
		padding: 30px 0;
	}
	.main-wrap5 .listwrap dl dd a{
		color: #000;
		border-bottom:1px solid #000;
       	padding-bottom: 3px;
	}
	.main-wrap5 .listwrap dl dd a:hover{
		text-decoration: none;
		color: #1e2380;
		border-bottom:1px solid #1e2380;
	}
	.main-wrap5 .content .gmapfr {
		width: 100%;
		height: 700px;
		background-color: #fff;
		border: 2px solid #1e2380;
		border-radius: 16px;
		overflow: hidden;
	}
	.main-wrap5 .content .gmapfr .gmap {
		width: 100%;
		height: 100%;
	}
	.main-wrap6 {
		min-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 80px 0 180px 0;
		position: relative;
	}
	.main-wrap6 .content-wrap {
		width: 100%;
		margin: 0 auto;
	}
	.main-wrap6 .content {
		width: 1000px;
		margin: 0 auto;
	}
	.main-wrap6 .content .banner {
		width: 100%;
		background-color: #fff;
		border-radius: 16px;
		overflow: hidden;
		text-align: center;
	}
	.main-wrap6 .content .banner img{
		width: 100%;
		background-color: #fff;
		border-radius: 16px;
		overflow: hidden;
	}
	.main-wrap6 .content .banner h4{
		margin: 30px 0 10px 0;
		color: #1e2380;
		font-weight: bold;
		font-size: 20px;
		line-height: 1.5em;
	}
	.main-wrap6 .content .banner p{
		font-size: 24px;
		font-weight: bold;
		letter-spacing: 0.1em;
		line-height: 1.4em;
	}
}