@charset "UTF-8";
/* CSS Document */

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2.5s forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.loading__logo {
  opacity: 0;
  animation: logo_fade 2s 0.5s forwards;
  width: 266px;
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  60% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
  }
}


.video {
  width: 110%;
  height: auto;
 
  border-bottom: 1px solid #ededed;
}

.video video {
  display: block;
  width: 100%;
  height: auto;
}




/* main-img-top */

.main-img-top {
	width: 100%;
	overflow: hidden;
	text-align: center;
	position: relative;
}



/*slider*/

div.slider-wrap {
	clear: both;
	width: 100%;
	height: auto;
}

.slider {
	width: 100%;
	height: auto;
	overflow:visible;
}

.slider .box {
	list-style-type: none;
	margin: 0px;
	height: auto;
	width: 100%;
}

.slider .box > img {
	height: auto;
	width: 100%;
}

/* title-top */

.title-top {
	position: absolute;
right: 0px;
bottom: 150px;
	display: inline-block;
	background-color: #FFF;
	border-radius: 18px 0px 0px 18px;
	padding: 40px 60px;
	text-align: left;
}

.title-top h4, .title-top h5 {
	font-family: 'Zen Maru Gothic', sans-serif;
color: #42210b;
line-height: 1.2;
font-weight: normal;
}

.title-top h4 {
font-size: 39px;
	font-weight: 600;
	margin: 20px 0px;
}

.title-top h5 {
font-size: 17px;
	letter-spacing: 0.2em;
}

.title-top h5::before {
	content: "ー ";
}

.title-top h5::after {
	content: " ー";
}


/* contents-top */

.contents-top {
	width: 100%;
}

/* contents01 */

.contents01 {
	width: 100%;
	background-image: url("top/images/bg-01.png");
background-position: center bottom;
background-repeat: no-repeat;
	margin: 70px auto;
	text-align: center;
}

.contents01 h2 {
	display: flex;
    align-items: center;
	margin-bottom: 25px;
}

.contents01 h2::before,
.contents01 h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("top/images/line01.png");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 15px;
	position: relative;
	top: -20px;
}
 
.contents01 h2::before {
    margin-right: 30px;
	background-position: right top;
}
 
.contents01 h2::after {
    margin-left: 30px;
	background-position: left top;
}


.contents01 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 1000px;
	margin-bottom: 40px;
}

.contents01 .box {
	width: 230px;
	margin: 0px 10px;
}

.contents01 .box img {
	width: 100%;
height: auto;
aspect-ratio: 1 / 0.65;
 object-fit: cover; 

}

.contents01 h4, .contents01 h5, .contents01 p {
font-family: 'Zen Maru Gothic', sans-serif;
	line-height: 1.2;
	font-weight: normal;
}

.contents01 h4 {
color: #b5aab5;
letter-spacing: 0.05em;
	margin: 15px 0px 8px;
	font-size: 18px;
}

.contents01 h5, .contents01 h5 a {
color: #FFF;
}

.contents01 h5 ul li:nth-child(1), .contents01 h5 ul li:nth-child(2) {
	display: none;
}

.contents01 .box-in-fixed h5 ul li:nth-child(3) {
	display: none;
}

.contents01 h5 {
	color:#000;
	display: inline-block;
	border-radius: 60px;
	padding: 3px 20px;
}

.contents01 p {
color: #4d4d4d;
	line-height: 1.4;
	margin: 10px 0px 20px;
	text-align:left;
}

.contents01 .box h6 a {
	font-size: 15px;
color: #42210b;
line-height: 1.2;
font-weight: normal;
	position: relative;
	padding-right: 85px;
}

.contents01 .box h6 a:hover {
	opacity: 1;
}

.contents01 .box h6 a::after {
	content: "";
	position: absolute;
right: 10px;
top: 5px;
	background-image: url("common/images/link-arrow01.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 64px;
	height: 9px;
	margin-right: 0px;
	transition: .5s;
}

.contents01 .box h6 a:hover::after {
	right: 0px;
}


/* contents02 */

.contents02 {
	width: 100%;
	height: 860px;
	background-image: url("top/images/back02.jpg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: cover;
}

.contents02 .box-in {
	position: absolute;
right: 5%;
top: 80px;
	width: 600px;
	text-align: center;
}

.contents02 .box {
	background-color: rgba(255,255,255,0.8);
	padding: 50px 0px;
	margin-top: 40px;
}

.contents02 .box p {
color: #42210b;
line-height: 2;
font-weight: normal;
	margin-bottom: 40px;
}

.contents01 > h6 a, .contents02 h6 a, .contents03 h6 a, .contents04 h6 a {
color: #42210b;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: normal;
	display: inline-block;
	border-style : solid;
border-color : #42210b;
border-width : 1px;
	border-radius: 60px;
	padding: 10px 35px;
	width: 230px;
	position: relative;
	text-align: left;
}

.contents01 > h6 a:hover, .contents02 h6 a:hover, .contents03 h6 a:hover, .contents04 h6 a:hover {
	opacity: 1;
}

.contents01 > h6 a::after, .contents02 h6 a::after, .contents03 h6 a::after, .contents04 h6 a::after {
	content: "";
	position: absolute;
right: 35px;
top: 0px;
	background-image: url("common/images/link-arrow02.svg");
background-position: right center;
background-repeat: no-repeat;
	background-size: auto 11px;
	width: 49px;
	height: 100%;
	transition: .5s;
}

.contents01 > h6 a:hover::after, .contents02 h6 a:hover::after, .contents03 h6 a:hover::after, .contents04 h6 a:hover::after {
right: 25px;
}


/* contents03 */

.contents03 {
	width: 100%;
	background-image: url("top/images/back03.jpg");
background-position: center top;
background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 0px 100px;
	text-align: center;
}

.contents03 .midashi-box {
	margin-bottom: 40px;
	padding-bottom: 60px;
	position: relative;
}



.contents03 h2 {
	font-size: 36px;
color: #66CAEE;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 500;
	font-family: 'Zen Maru Gothic', sans-serif;
	display: flex;
    align-items: center;
}

.contents03 h2::before,
.contents03 h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("top/images/midashi02-back.svg");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 25%;
	height: 66px;
	position: relative;
	top: 20px;
}
 
.contents03 h2::before {
    margin-right: 70px;
	background-position: right top;
}
 
.contents03 h2::after {
    margin-left: 70px;
	background-position: left top;
}

.contents03 .box-in {
   display: flex;
  justify-content: flex-end;
	width: 1080px;
	
}

.contents03 .box01 {
	width: 482px;
	position: relative;
}

.contents03 .box01::after {
	content: "";
	position: absolute;
right: 0px;
top: 50px;
	background-image: url("top/images/icon01.png");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 655px;
	height: 334px;
	margin-right: -20px;
}

.contents03 .box01 img {
	width: 100%;
height: auto;
	border-radius: 50%;
}

.contents03 .box02 {
	text-align: left;
	width: 430px;
	margin-left: 40px;
	padding-top: 20px;
}

.contents03 h4 {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 29px;
color: #42210b;
line-height: 1.4;
letter-spacing: 0.05em;
font-weight: 500;
	margin: 40px 0px 30px;
}

.contents03 p {
color: #4d4d4d;
line-height: 2;
}

.contents03 h6 {
	padding-top: 30px;
	text-align: right;
}


/* contents04 */

.contents04 {
	width: 100%;
	background-image: url("top/images/bg-02.png");
background-position: center center;
background-repeat: no-repeat;
	margin-bottom: 70px;
	text-align: center;
}

.contents04 h2 {
	display: flex;
    align-items: center;
}

.contents04 h2::before,
.contents04 h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("top/images/midashi03-back.svg");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 16px;
}
 
.contents04 h2::before {
    margin-right: 30px;
	background-position: right top;
}
 
.contents04 h2::after {
    margin-left: 30px;
	background-position: left top;
}

.contents04 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 1000px;
	margin-bottom: 20px;
	margin-top:-20px;
}

.contents04 .box {
	width: 400px;
	margin: 0px 30px;
	margin-bottom: 0;
}

.contents04 .box img {
	width: 100%;
height: auto;
aspect-ratio: 1 / 0.65;
object-fit: cover; 

}

.contents04 h3, .contents04 h4, .contents04 h5 {
	font-family: 'Zen Maru Gothic', sans-serif;
line-height: 1.2;
	font-weight: normal;
}

.contents04 h3 {
	font-size: 20px;
color: #42210b;
letter-spacing: 0.1em;
font-weight: 500;
	margin: 20px 0px 30px;
}

.contents04 h4 {
	font-size: 24px;
	margin: 10px 0px;
	font-weight: 500;
}

.contents04 .box:nth-child(1) h4 {
color: #d8df21;
}

.contents04 .box:nth-child(2) h4 {
color: #f895a5;
}

.contents04 .box:nth-child(3) h4 {
color: #d693bd;
}

.contents04 .box:nth-child(4) h4 {
color: #76bba5;
}

.contents04 .box:nth-child(5) h4 {
color: #faaf3b;
}

.contents04 h5 {
color: #FFF;
	padding: 3px 20px;
	border-radius: 60px;
	display: inline-block;
}

.contents04 .box:nth-child(1) h5 {
	background-color: #d8df21;
}

.contents04 .box:nth-child(2) h5 {
	background-color: #f895a5;
}

.contents04 .box:nth-child(3) h5 {
	background-color: #d693bd;
}

.contents04 .box:nth-child(4) h5 {
	background-color: #76bba5;
}

.contents04 .box:nth-child(5) h5 {
	background-color: #faaf3b;
}

.contents04 p {
color: #4d4d4d;
line-height: 2;
	width: 900px;
	margin-bottom: 50px;
}



    .sp-view {
        display: none;
    }