@charset "UTF-8";
/* CSS Document */
*{
  transition: 0.5s;
}

input[type="text"],
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}


input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
dl, dt, dd, ol, ul, li
{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
	box-sizing: border-box;
	letter-spacing: 0.02em;
}

div,section{
	box-sizing: border-box;
	letter-spacing: 0.02em;
	color:#ffdfa8;
}

body {
 	line-height:1.5;
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  background: #6a0b81;
  color:#ffdfa8;
}

ul {
  list-style:none;
}

a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
transition: 0.5s;
}

a:hover{
	opacity: 0.8;
}

/* change colours to suit your needs */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000; 
  font-style:italic;
   font-weight:bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;   
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}

img{
	max-width: 100%;
}

.sp{
	display: none;
}

h2{
	font-family: 'ADAM.CG PRO', sans-serif;
	position: relative;
	padding-left: 35px;
	margin-bottom: 0;
	font-size: 48px;
	color:#f989c7;
	line-height: 1.25em;
}

.seza{
  font-family: "fot-cezanne-pron", sans-serif;
  font-weight: 500;
  font-style: normal;
}

h2:before {
    position: absolute;
    top: 0.5em;
    left: -1000px;
    width: 1000px;
    height: 2px;
    background-color: #f989c7;
    content: "";
}

h2._white,
h2._white small{
	color:#ffdfa8;
}

h2._white:before{
	background-color: #ffdfa8;
}

.eng,
.eng *{
	font-family: Times New Roman , serif;
}

/* main */
	.grd{
		background: linear-gradient(to right,#006fb0 0%,#35acf0 100%);
	}
	
	header{
		position: fixed;
		height: 70px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 30px;
		width: 100%;
		box-sizing: border-box;
		z-index: 100;
	}
	

.mainImage{
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.mainImage::before {
   content: '';
   display: block;
   width: 100%;
   height: 100%;
   background-image: url("../images/main.webp");
   background-size: cover;
   background-position: center;
  position: fixed;
   background-repeat: no-repeat;
   -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards;
}

.bg_up{
  position: relative;
  height: auto;
  opacity: 1;
  overflow: hidden;
}

.bg_up div{
   display: block;
   width: 100%;
   height: 100%;
   background-repeat: no-repeat;
   animation: zoom02 1s 1;
   animation-fill-mode: forwards;
}

.bg_up div img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}



	.mainText{
		width: 100%;
		position: fixed;
		bottom:120px;
    text-align: center;
    z-index: 1;
    left: 0;
	}

	.mainText .main01{
		color:#ffdfa8;
		font-size: 66px;
    text-shadow: 0 0 8px rgba(0 0 0 / 20%),0 0 8px rgba(0 0 0 / 20%);
	}	

	.mainText .main02{
		color:#ffdfa8;
		font-size: 28px;
    text-shadow: 0 0 8px rgba(0 0 0 / 20%),0 0 8px rgba(0 0 0 / 20%);
	}	

	.content{
		width: 1000px;
		margin: auto;
	}

  .scNav{
    position: absolute;
    bottom:20px;
    text-align: center;
    left: 0;
    width: 100%;
    z-index: 10;
    color:#ffffff;
    text-decoration: none;
  }  
  
  .headLink{
    display: flex;
    justify-content: space-between;
    width: 125px;
  }
  
  .headLink .select{
    display: flex;
    align-items: center;
    justify-content: center;
    color:#ffdfa8;
    height:55px;
    width:55px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: bold;
    background:#251714;
    text-align: center;
  }
  
  .headLink a{
    display: flex;
    align-items: center;
    justify-content: center;
    color:#ffdfa8;
    height:55px;
    width:55px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }
  
  .headLink a:hover{
    background:#251714;
  }
  
  .headLink span{
    font-size: 16px;
  }
	
	  #sec01{
    padding-top: 230px;;
  }
  
  main{
    position: relative;
    z-index: 2;
    background:#6a0b81;
  }

#intro{
  background:#91c2b7;
  aspect-ratio:1/0.83;
  display: flex;
  align-items: center;
}

.wrap01{
  background: linear-gradient(to bottom,#91c2b7,#648769);
  padding-top: 150px;
}

.wrap02{
  background: linear-gradient(to bottom,#950080 0% 80%,#000000 95% 100%);
}

.wrap03{
  background: linear-gradient(to bottom,#648769 0% 80%,#91c2b7 95% 100%);
}

  .inWrap{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio:1070 / 320;
  }
  
  .intro_img{
    position: absolute;
    left: 0;
    z-index: 0;
    top:10%;
  }
  
  .intro_cont{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 3;
  }
  
  .back{
    height:40%;
     position: absolute;
    width: 100%;
    left: 0;
    top:30%;
    background: #6a0b81;
    mix-blend-mode: multiply;
    z-index: 0;
  } 
  
  .inCont_inner{
    position: relative;
    z-index: 5;
  }
  
  #intro .in_text01{
    font-size: 26px;
    text-shadow: 0 0 10px #991d67;
    margin-bottom: 30px;
  }
  
  #intro .in_text02{
    font-size: 15px;
    text-shadow: 0 0 10px #991d67;
    line-height: 2em;
  }

.itemImg{
  display: flex;
  padding-right: 11vw;
}

.itemImg02{
  display: flex;
  padding-left: 11vw;
  margin-top: 100px;
}

.itemImg10{
  display: flex;
  padding-left: 56vw;
  margin-top: 100px;
}

  .cont01{
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  
  .text01{
    color:#ffdfa8;
    font-size: 20px;
    line-height: 56px;
    margin-right: 10%;
  }
  
  .img03,.img02{
    display: flex;
    justify-content: center;
  }
  
  .cont02{
    display: flex;
    margin-top: 150px;
    justify-content: space-between;
    width: 100%;
  }

  .cont02.pt02{
    flex-flow: row-reverse;
  }
  
  .cont02 .box{
    padding-right: 10vw;
    padding-left: 30px;
    text-align: right;
  }
  
  .text02 .pt01{
    font-size: 32px;
  }
  
  .text02 .pt02{
    font-size: 16px;
    margin-top: 25px;
    line-height: 1.75em;
  }
  
  .text02 .pt06 a.btn{
    font-size: 21px;
    margin-top: 45px;
    text-decoration: none;
    color:#ffffff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    width: 280px;
    height: 60px;
  }
  
  .cont02.pt02{
    flex-flow: row-reverse;
  }
  
  .cont02 .box02{
    padding-top: 170px;
    padding-left: 90px;
    padding-right: 30px;
    text-align: left;
  }

  .img04{
    height: 40vw;
  }
  
  .cont02_b{
    display: flex;
    margin-top: 80px;
    width: 100%;
    padding-left: 10vw;
    padding-right: 5vw;
    padding-bottom: 100px;
  }
  
  .cont02_b .pt06 a.btn{
    margin-top: 0 !important;
    margin-left: 200px;
  }
  
  .cont02_b > *:not(:first-child){
    margin-left: 50px;
  }

  .sec04Wrap{
    position: relative;
  }
  
  .sec04Title{
    position: absolute;
    right: 10vw;
    bottom:80px;
    text-align: right;
    display: flex;
    flex-flow: row-reverse;
    align-items: center;
  }
  
  .sec04Title .no{
    margin-left: 20px;
    padding-top: 20px;
  }
  
  .img08{
    height: 40vw;
  }

  .cont03{
    display: flex !important;
    justify-content: space-between;
    max-width: 700px;
    align-items: center;
    margin: auto;
    margin-top: 40px;
    width: 100%;
  }
  
  .text02 .pt06 a.btn.pt01{
    background: #c6913b;
    box-shadow:3px 3px 8px 0 rgba(0 0 0 / 30%);
  }
  
  .text02 .pt06 a.btn.pt02{
    background: #c6913b;
    box-shadow:3px 3px 8px 0 rgba(0 0 0 / 30%);
  }
  
  .text02 .pt06 a.btn.pt03{
  }

  #sec05{
    margin-top: 250px;
  }
  
  .cont02_b.pt02{
    padding-right: 10vw;
    padding-left: 5vw;
    flex-flow: row-reverse;
  }
  
  .cont02_b.pt02 > *:not(:first-child){
    margin-right: 30px;
    margin-left: 0;
    text-align: right;
  }
  
  .cont02_b.pt02 .pt06 a.btn{
    margin-right: 200px;
    margin-left: 0;
  }

.text02.tx_lf *{
  text-align: left;
}
  

.img14{
  margin: auto;
  margin-bottom: 100px;
}

  .wrap03 .cont02{
    padding-left: 5vw;
    margin-top: 0;
    padding-top: 150px;
  }
  
  #sec06 .itemImg{
    margin-top: 100px;
    margin-bottom: 150px;
  }

  footer{
    z-index: 3;
    padding-bottom: 60px;
    position: relative;
  }  
  
  .footerCont{
    text-align: center;
    width: 100%;
  }

  .footerCont .pt01 a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 280px;
    margin-bottom: 100px;
    border-radius: 4px;
    text-decoration: none;
    color:#ffffff;
    font-size: 21px;
    background: #c6913b;
    box-shadow:3px 3px 8px 0 rgba(0 0 0 / 30%);
  }
  
  .footerCont .pt03{
    margin-top: 10px;
    font-size: 12px;
    color:#000000;
  }


#pageTop{
  position: fixed;
  bottom:30px;
  right:30px;
  z-index: 10;
}