@charset "UTF-8";

.top .sec {
	width: 100%;
	position: relative;
	z-index: 1;
	min-width:1100px;	
	margin: auto;
}

@media screen and (max-width: 768px) {
.top .sec {
	width: 100%;
	position: relative;
	z-index: 1;
	min-width:100%;	
	margin: auto;
}	
}

/*--------------------------------------------------
  mv
--------------------------------------------------*/
.top .mv {
	width: 100%;
	position: relative;
	min-width:1160px;
	height:100vh;
  margin-top: 130px;
}





.top .mv .f-box .image-box {
	width: 100%;
}


.img-frame{
   position: relative;
   width: 100%;
	 height: 100%;
   overflow: hidden;
   margin: 0 auto;
}


.img-frame{
	width: 100%;
	height:100vh;
	border-radius: 200px 200px 0 0;
}

.img-01, .img-02, .img-03{
   position: absolute;
   left:0;
   width: 100%;
	 height:100vh;
   background-size: cover;
   background-repeat: no-repeat;
}


.img-01{
background: url("../images/mv-img01.jpg") center 0 no-repeat;
   animation: slide-animation-01 24s infinite;
	background-size: cover;
	height: 100%;	
	width: 100%;	
	border-radius: 200px 200px 0 0;
}
.img-02{
background: url("../images/mv-img02.jpg") center 0 no-repeat;
   animation: slide-animation-02 24s infinite;
		background-size: cover;
		width: 100%;	
	border-radius: 200px 200px 0 0;
	width: 100%;
}
.img-03{
background: url("../images/mv-img03.jpg") center 0 no-repeat;
   animation: slide-animation-03 24s infinite;
		background-size: cover;
	width: 100%;
	width: 100%;
	border-radius: 200px 200px 0 0;
}


@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.15);}
  90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
  30% {opacity: 0; transform: scale(1.1);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}



.top .mv .box {
	position: relative;
}
.top .mv .box .text-box {
	position: absolute;
	bottom: 220px;
	left: 60px;
	z-index: 2;
}
.top .mv .mv-txt01 {
	font-size: 90px;
	color: #fff;
}

.top .mv .mv-txt02 {
	color: #fff;
	line-height: 1.5;
	margin-top: 15px;
	letter-spacing: 0.15em;
	font-size: 40px;
	font-weight: bold;
}


.top .mv .scroll {
	position: absolute;
	right:0;
	bottom: 0;
	z-index: 1;
	width: 527px;
}







@media screen and (max-width: 768px) {
.top .mv {
	width: 100%;
	position: relative;
	min-width:100%;
	margin-top: 60px;
	height:100vh;
}


.top .mv .f-box .image-box {

	width: 100%;
}


	

	
	
.img-frame{
	width: 100%;
	height:100vh;
	border-radius: 60px 60px 0 0;
}



.img-01, .img-02, .img-03{
   position: absolute;
   left:0;
   width: 100%;
	 height:100vh;
   background-size: cover;
   background-repeat: no-repeat;
}


.img-01{
  background: url("../images/sp-mv-img01.jpg") center 0 no-repeat;
  animation: slide-animation-01 24s infinite;
  background-size: cover;
  height: 100%;	
	border-radius: 60px 60px 0 0;
  width: 100%;	
}
.img-02{
  background: url("../images/sp-mv-img02.jpg") center 0 no-repeat;
   animation: slide-animation-02 24s infinite;
		background-size: cover;
		width: 100%;	
  height: 100%;	
	border-radius: 60px 60px 0 0;
}
.img-03{
  background: url("../images/sp-mv-img03.jpg") center 0 no-repeat;
  animation: slide-animation-03 24s infinite;
  background-size: cover;
  width: 100%;
  height: 100%;	
	border-radius: 60px 60px 0 0;
}

	
.top .mv .box {
	position: relative;
}
.top .mv .box .text-box {
	position: absolute;
	bottom: 120px;
	left: 20px;
	z-index: 2;
}
.top .mv .mv-txt01 {
	font-size: 9.5vw;
	color: #fff;
}

.top .mv .mv-txt02 {
	color: #fff;
	line-height: 1.5;
	margin-top: 5px;
	letter-spacing: 0.15em;
	font-size: 4.6vw;
	font-weight: bold;
}


.top .mv .scroll {
	position: absolute;
	right:0;
	bottom: 0;
	z-index: 1;
	width: 200px;
}


	
}



/*--------------------------------------------------
  sec01
--------------------------------------------------*/

.top .sec01 {
	width: 100%;
	min-width: 1160px;
	overflow: hidden;
	background: #fff;
	padding-top: 150px;
	position: relative;
	z-index: 2;
	padding-bottom: 160px;
	border-radius: 0 0 220px 0;
}

.top .sec01 .fix-box {
	  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; 
}

.top .sec01 .text-box {
	width: 50%;
}

.top .sec01 .image-box {
	width: 47%;
}
.top .sec01 .title01 {
	font-weight: bold;
	font-size: 56px;
	line-height: 1.5;
	margin-top: 35px;
}
.top .sec01 .text-box .txt {
	font-size: 18px;
	line-height: 2.8;
	margin-top: 40px;
}
.top .sec01 .image-box .image {
	position: relative;
	z-index: 1;
}
.top .sec01 .image-box .image img{
	border-radius: 25px;
}

.top .sec01 .image-box .image::before {
	content: "";
	position: absolute;
	top: -100px;
	left: -120px;
	width: 267px;
	height: 267px;
	margin-top: -12px;
	z-index: -1;
	background: url("../images/img-bg01.png") 0 0 no-repeat;
	background-size: 100% auto;			
}
.top .sec01 .image-box .image::after {
	content: "";
	position: absolute;
	bottom: -130px;
	right: -120px;
	width: 383px;
	height: 383px;
	margin-top: -12px;
	z-index: -1;
	background: url("../images/img-bg02.png") 0 0 no-repeat;
	background-size: 100% auto;			
}


@media screen and (max-width: 768px) {
.top .sec01 {
	width: 100%;
	min-width: 100%;
	overflow: hidden;
	background: #fff;
	padding-top: 70px;
	position: relative;
	z-index: 2;
	padding-bottom: 70px;
	border-radius: 0 0 70px 0;
}

.top .sec01 .fix-box {
	  display: block;
  justify-content: space-between;
  flex-wrap: wrap; 
}

.top .sec01 .text-box {
	width: 100%;
	position: relative;
	z-index: 2;
}

.top .sec01 .image-box {
	width: 100%;
	margin-top: 36px;
}
	
	.top .sec01 .title-box {
	position: relative;
	z-index: 2;		
	}
.top .sec01 .title01 {
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	margin-top: 20px;
}
.top .sec01 .text-box .txt {
	font-size: 15px;
	line-height: 2.3;
	letter-spacing: 0.05em;
	margin-top: 25px;
	position: relative;
	z-index: 2;	
}
.top .sec01 .image-box .image {
	position: relative;
	z-index: 1;
}
.top .sec01 .image-box .image img{
	border-radius: 20px;
}

.top .sec01 .image-box .image::before {
	content: "";
	position: absolute;
	top: -55px;
	left: -60px;
	width: 167px;
	height: 167px;
	margin-top: -12px;
	z-index: -1;
	background: url("../images/img-bg01.png") 0 0 no-repeat;
	background-size: 100% auto;			
}
.top .sec01 .image-box .image::after {
	content: "";
	position: absolute;
	bottom: -100px;
	right: -100px;
	width: 283px;
	height: 283px;
	margin-top: -12px;
	z-index: -1;
	background: url("../images/img-bg02.png") 0 0 no-repeat;
	background-size: 100% auto;			
}	
}

/*--------------------------------------------------
  sec02
--------------------------------------------------*/

.top .sec02 {
	background: #5fc3aa;
	min-width: 1160px;
	margin-top: -200px;
	padding-top: 340px;
	padding-bottom: 160px;
	border-radius: 0 0 0 220px;	
}
.top .sec02 .title-box {
	text-align: center;
}
.top .sec02 .title-box .eng-t .icon02 {
	width: 91px;
	display: inline-block;
	position: relative;
	top:4px;
	margin-right: 10px;
}

.top .sec02 .title-box .eng-t {
	font-size: 120px;
	color: #fff;
	margin-right: 30px;
}

.top .sec02 .title02 {
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	margin-top: -5px;
}


.top .sec02 .box_a {
	margin-top: 80px;
}

.top .sec02 .box_b {
	margin-top: 100px;
}

.sticky {
  postion: -webkit-sticky;
  position: sticky;
  top: 180px;
}

.top .sec02 .left {
	width: 43%;
	float:left
}

.top .sec02 .right {
	width: 50%;
	float: right;
}


.top .sec02 .left h4 {
	color: #fff;
	font-weight: bold;
	font-size: 45px;
	position: relative;
	padding-left: 35px;
}

.top .sec02 .left h4::before {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	border-radius: 100px;
	background: #dede7e;
	left: 0;
	top: 16px;
	display: inline-block;
}

.top .sec02 .box_b .left h4::before {
	content: "";
	background: #94e1ce;
}

.top .sec02 .left .txt {
	color: #fff;
	margin-top: 30px;
	font-size: 18px;
	line-height: 2.4;
	padding-left: 35px;
}

.top .sec02 .right .item {
	background: #fff;
	border-radius: 30px;
	margin-bottom: 40px;
}

.top .sec02 .right .item .i-inner {
	padding: 40px;
}

.top .sec02 .right .item_a .i-inner {
	padding: 5px 40px 30px;
}




.top .sec02 .right .item img {
	border-radius: 30px;	
}

.top .sec02 .right .item h5 {
	font-size: 24px;
	font-weight: bold;
	margin-top: 7px;
}

.top .sec02 .right .item .nmv {
	font-weight: 200;
	font-size: 60px;
	position: relative;
	top: 7px;
	margin-right: 12px;
	display: inline-block;
}

.top .sec02 .box_a .right .item .nmv {
	color: #dede7e;
}
.top .sec02 .box_b .right .item .nmv {
	color: #5fc3aa;
}

.top .sec02 .right .item .txt {
	font-size: 16px;
	margin-top: -10px;
}


.top .sec02 .link {
	margin: auto;
	text-align: center;
	margin-top: 60px;
}
.top .sec02 .link a {
	border: solid 2px #fff;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 30px 0;
	display: inline-block;
	border-radius: 100px;
	width: 420px;
	position: relative;
}
.top .sec02 .link a::before {
	content: "";
	position: absolute;
  top:20px;
	right: 10px;;
	margin: auto;
	width: 35px;
	height: 35px;
	display: block;
	background: url("../images/arrow02.png") center 0 no-repeat;
	background-size: 100% auto;		
}


@media screen and (max-width: 768px) {
	
.top .sec02 {
	background: #5fc3aa;
	min-width: 100%;
	margin-top: -100px;
	padding-top: 160px;
	padding-bottom: 70px;
	border-radius: 0 0 0 70px;	
}
.top .sec02 .title-box {
	text-align: center;
}
.top .sec02 .title-box .eng-t .icon02 {
	width: 37px;
	display: inline-block;
	position: relative;
	top:1px;
	margin-right: 8px;
}

.top .sec02 .title-box .eng-t {
	font-size: 45px;
	color: #fff;
	margin-right: 15px;
}

.top .sec02 .title02 {
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	margin-top: 3px;
}


.top .sec02 .box_a {
	margin-top: 40px;
}

.top .sec02 .box_b {
	margin-top: 60px;
}

.sticky {
  postion: -webkit-sticky;
  position: relative;
  top: 0;
}

.top .sec02 .left {
	width: 100%;
	float:none;
}

.top .sec02 .right {
	width: 100%;
	float: none;
}


.top .sec02 .left h4 {
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	position: relative;
	padding-left: 18px;
}

.top .sec02 .left h4::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 100px;
	background: #dede7e;
	left: 0;
	top: 6px;
	display: inline-block;
}

.top .sec02 .box_b .left h4::before {
	content: "";
	background: #94e1ce;
}

.top .sec02 .left .txt {
	color: #fff;
	margin-top: 15px;
	font-size: 14px;
	line-height: 2.2;
	padding-left: 18px;
	margin-bottom: 30px;
}

.top .sec02 .right .item {
	background: #fff;
	border-radius: 20px;
	margin-bottom: 25px;
}

.top .sec02 .right .item .i-inner {
	padding: 20px;
}

.top .sec02 .right .item_a .i-inner {
	padding: 5px 20px 20px;
}




.top .sec02 .right .item img {
	border-radius: 20px;	
}

.top .sec02 .right .item h5 {
	font-size: 18px;
	font-weight: bold;
	margin-top: 5px;
}

.top .sec02 .right .item .nmv {
	font-weight: 200;
	font-size: 40px;
	position: relative;
	top: 4px;
	margin-right: 10px;
	display: inline-block;
}

.top .sec02 .box_a .right .item .nmv {
	color: #dede7e;
}
.top .sec02 .box_b .right .item .nmv {
	color: #5fc3aa;
}

.top .sec02 .right .item .txt {
	font-size: 14px;
	margin-top: -10px;
	letter-spacing: 0.05em;
}


.top .sec02 .link {
	margin: auto;
	text-align: center;
	margin-top: 40px;
}
	
.top .sec02 .link a {
	border: solid 2px #fff;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
	display: inline-block;
	border-radius: 100px;
	width: 90%;
	font-size: 14px;
	position: relative;
}
	
.top .sec02 .link a::before {
	content: "";
	position: absolute;
  top:15px;
	right: 10px;;
	margin: auto;
	width: 25px;
	height: 25px;
	display: block;
	background: url("../images/arrow02.png") center 0 no-repeat;
	background-size: 100% auto;		
}
	
}






/*--------------------------------------------------
  sec03
--------------------------------------------------*/
.top .sec03 {
	margin-top: 160px;
	position: relative;
	min-width: 1160px;
	width: 100%;
}
.top .sec03::after {
	content: "";
	position: absolute;
	background: url("../images/sec03-bg.png") 0 0 no-repeat;
	background-size: 100% auto;
	right: 0;
	top: -90px;
	width: 717px;
	height: 797px;
	z-index: -1;
}
.top .sec03 .title-box {
	border-bottom: solid 1px #e0e0e0;
	padding-bottom: 40px;
	box-sizing: border-box;
}
.top .sec03 .title01 {
	font-weight: bold;
	font-size: 45px;
	margin-top: 30px;
}

.top .sec03 .fix-box {
	 display: flex;
  justify-content: space-between;
  flex-wrap: wrap; 
	margin-top: 50px;	
}

.top .sec03 .fix-box .image {
	width: 41%;
}

.top .sec03 .fix-box .image img {
	border-radius: 50px;
}

.top .sec03 .fix-box .text-box {
	width: 52%;
}

.top .sec03 .fix-box .text-box h4 {
	font-weight: bold;
	font-size: 34px;
	margin-bottom: 30px;
	line-height: 1.4;
}

.top .sec03 .fix-box .text-box .txt {
	margin-bottom: 20px;
	line-height: 2;
}



.top .sec03 .fix-box .text-box .n-txt {
	font-size: 14px;
	text-align: right;
	margin-top: 55px;
}
.top .sec03 .fix-box .text-box .n-txt .name {
	width: 208px;
	display: inline-block;
	position: relative;
	top: -30px;
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
.top .sec03 {
	margin-top: 70px;
	position: relative;
	min-width: 100%;
	width: 100%;
}
.top .sec03::after {
	content: "";
	position: absolute;
	background: url("../images/sec03-bg.png") 0 0 no-repeat;
	background-size: 100% auto;
	right: 0;
	top: -50px;
	width: 250px;
	height: 280px;
	z-index: -1;
}
.top .sec03 .title-box {
	border-bottom: solid 1px #e0e0e0;
	padding-bottom: 25px;
	box-sizing: border-box;
}
.top .sec03 .title01 {
	font-weight: bold;
	font-size: 30px;
	margin-top: 15px;
}

.top .sec03 .fix-box {
	 display: block;
  justify-content: space-between;
  flex-wrap: wrap; 
	margin-top: 20px;	
}

.top .sec03 .fix-box .image {
	width: 100%;
}

.top .sec03 .fix-box .image img {
	border-radius: 20px;
}

.top .sec03 .fix-box .text-box {
	width: 100%;
}

.top .sec03 .fix-box .text-box h4 {
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 20px;
	line-height: 1.4;
}

.top .sec03 .fix-box .text-box .txt {
	margin-bottom: 0;
	line-height: 2;
	letter-spacing: 0.05em;
	margin-top: 20px;
}



.top .sec03 .fix-box .text-box .n-txt {
	font-size: 12px;
	text-align: right;
	margin-top: 25px;
}
.top .sec03 .fix-box .text-box .n-txt .name {
	width: 130px;
	display: inline-block;
	position: relative;
	top: 10px;
	margin-left: 15px;
}	
}
/*--------------------------------------------------
  sec04
--------------------------------------------------*/
.top .sec04 {
	background: #ecf9f6;
	min-width: 1160px;
	margin-top: 100px;
	padding-top: 100px;
	padding-bottom: 220px;
	border-radius: 0 220px 0 0;	
}

.top .sec04 .title-box {
	text-align: center;
}

.top .sec04 .title-box .eng-t {
	margin-right: 18px;
}
.top .sec04 .title-box .title01 {
	font-weight: bold;
	font-size: 38px;
	margin-top: 10px;
}
.top .sec04 .info {
	margin-top: 60px;
}
.top .sec04 .right {
	float: right;
	width: 45%;
}

.top .sec04 .left {
	float: left;
	width: 50%;
}


.top .sec04 .map {
    position: relative;
    width: 100%;
    padding-top:75.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.top .sec04 .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border-radius: 30px;
}

.top .sec04 li {
	position: relative;
	border-bottom: solid #444 1px;
	box-sizing: border-box;
	padding-bottom: 22px;
	margin-bottom: 22px;
}
.top .sec04 li:before{
  content: '';
  position: absolute;
  bottom: -1px;
  width: 30%;
  height: 2px;
  background: #5fc3aa;/*左：ピンク*/
}

.top .sec04 dl {
	display: table;
	width: 100%;
}

.top .sec04 dt {
	display: table-cell;
	width: 30%;
	font-size: 18px;
	vertical-align: middle;
}

.top .sec04 dd {
	display: table-cell;
	width: 68%;
	padding-left: 2%;
	line-height: 1.5;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
.top .sec04 {
	background: #ecf9f6;
	min-width: 100%;
	margin-top: 70px;
	padding-top: 60px;
	padding-bottom: 160px;
	border-radius: 0 70px 0 0;	
}

.top .sec04 .title-box {
	text-align: center;
}

.top .sec04 .title-box .eng-t {
	margin-right: 18px;
}
.top .sec04 .title-box .title01 {
	font-weight: bold;
	font-size: 26px;
	margin-top: 7px;
}
.top .sec04 .info {
	margin-top: 30px;
}
.top .sec04 .right {
	float: none;
	width: 100%;
}

.top .sec04 .left {
	float: none;
	width: 100%;
}


.top .sec04 .map {
    position: relative;
    width: 100%;
    padding-top:75.25%;
    /* 16:9のアスペクト比 */
    height: 0;
	margin-bottom: 30px;
}

.top .sec04 .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border-radius: 20px;
}

.top .sec04 li {
	position: relative;
	border-bottom: solid #444 1px;
	box-sizing: border-box;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.top .sec04 li:before{
  content: '';
  position: absolute;
  bottom: -1px;
  width: 30%;
  height: 2px;
  background: #5fc3aa;/*左：ピンク*/
}

.top .sec04 dl {
	display: table;
	width: 100%;
	margin-top: 15px;
}

.top .sec04 dt {
	display: table-cell;
	width: 30%;
	font-size: 15px;
	vertical-align: middle;
	line-height: 1.4;
}

.top .sec04 dd {
	display: table-cell;
	width: 68%;
	padding-left: 2%;
	line-height: 1.5;
	font-size: 14px;
}
	
}

#anc01 , #anc02 {
	padding-top: 130px;
 margin-top:-130px;
}

@media screen and (max-width: 768px) {
#anc01 , #anc02 {
	padding-top: 60px;
 margin-top:-60px;
}	
}