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

/* -------------------------------
  visualArea
---------------------------------*/
#visualArea{
	width: 100vw;
	min-height: 100vh;
	z-index: 1;
	position: relative;
	margin-top: -50px;
	margin-bottom: 0;
}

.mainVisual{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 5;
	opacity: 1;
	top: 0;
	left: 0;
}

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

@supports (-webkit-touch-callout: none) {
#visualArea {
    min-height: -webkit-fill-available;
  }
}

@media screen and (max-width: 1024px) {
	
#visualArea{
	margin-top: -60px;
}
}
/*---画像設定用--
.mainVisual{
	background-image: url("../../images/kv_pc01.png");
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	-webkit-background-position: 0;
	-webkit-background-size: cover;
	-webkit-background-repeat: no-repeat;
	z-index: 3;
}


@media screen and (max-width: 1024px) {
	
#visualArea{
	margin-top: -70px;
}

.mainVisual{
	background-image: url("../../images/kv_tab.png");
}	
}

@media screen and (max-width: 539px) {
.mainVisual{
	background-image: url("../../images/kv_sp.png");
}
}

@media screen and (max-width: 375px) {
.mainVisual{
	background-image: url("../../images/kv_mb01.png");
}
}

.vCopyCont{
	width: 65.1%;
	height: auto;
	padding-top: 0;
	margin: 0 auto;
	text-align: center;
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
}

/* Firefox 
@-moz-document url-prefix() {
	.vCopyCont{
		width: 52%;
		padding-top: 3rem;
}
}

.vAreaCopy{
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	text-align: center;
}

/* mac 
.mac {
.vAreaText{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 1rem 0;
	text-align: center;
}
	
h2.vAreaText p{
	font-size: clamp(1.1rem, -0.045rem + 1.79vw, 2.1rem);
	line-height: clamp(1.8rem, 0.426rem + 2.15vw, 3rem);
}
}

/*--------------------------------
 　section01
---------------------------------*/
#section01 {
	background-color: #fff;
	padding-top: 60px; 
	margin-top: clamp(-30rem, -38.017rem + 12.51vw, -23rem);
}

#section01 h2.section_ti{
	color: #231815;
}

#section01 > .wrapper{
	width: 100%;
	padding-top: 0; 
}

#section01 > .wrapper ul{
	display: flex;
	flex-flow: wrap row;
	justify-content: space-between;
	align-items: stretch;
}

#section01 > .wrapper ul .imgCont{
	width: 45%;
	padding: 2rem;
}

#section01 > .wrapper ul .textCont{
	 width: 55%;
	 padding: 1rem ;
	 background-color: #FFFFFF;
}
#section01 > .wrapper ul .textCont h3{
	padding: 1.6rem 0;
}

#section01 > .textCont > .youkenCont{
	font-size: clamp(0.9rem, 0.556rem + 0.54vw, 1.2rem);
	line-height: clamp(1.6rem, 1.142rem + 0.72vw, 2rem);
	padding: 1rem 0;
	text-align: left;
}

#section01 > .wrapper ul .imgCont img{
	border-bottom: none;
}

#section01 > .wrapper ul .textCont p{
	font-size: clamp(0.9rem, 0.556rem + 0.54vw, 1.2rem);
	line-height: clamp(1.6rem, 1.142rem + 0.72vw, 2rem);
}

.buttonArea{
	width: 100%;
	margin: 0;
	padding-top: 2rem;
	text-align: center;
}

@media screen and (max-width:1024px) {
	
#section01{
	margin-top: clamp(-3rem, -12rem + 18.75vw, 0rem);
}	
	
#section01 .wrapper{
	padding-top: 3rem;
	padding-bottom: 5rem;
}	
	
#section01 >.wrapper ul{
	width: 100%;
	display: flex;
	margin: 0 auto;
	flex-flow: column;
	justify-content: center;
	}
	
#section01 > .wrapper ul li{
	margin: 0;
	padding-top: 3rem;
}
	
 #section01 > .wrapper ul .imgCont{
	width: 100%;
	padding-top: 2rem;
}

 #section01 > .wrapper ul .textCont{
	width: 100%;
	padding: 2rem;
}	
}

@media screen and (max-width: 768px) {
#section01{
	margin-top: -3rem;
}

#section01 .wrapper{
	padding-top: 3rem;
	padding-bottom: 3rem;
}
}

@media screen and (max-width:540px) {
#section01{
	margin-top: clamp(-23rem, -30.8rem + 32vw, -20rem);
	padding: 2rem 0 0 0;
}
#section01 .wrapper{
	padding-bottom: 0;
}	
}

@media screen and (max-width:480px) {
	
#section01 > .wrapper ul .textCont{
	width: 100%;
	padding: 0;
}	
}

@media screen and (max-width:389px) {
#section01{
	margin-top: -25rem;
	padding: 0;
}
}


	
/* -------------------------------
 　section02
---------------------------------*/
#section02{
	background-image: url("../../images/section02_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	padding-top: 0;
	padding-bottom: 3rem;
}

.imgWrap{
	width: 100%;
	margin: 0 auto;
}

.imgCont{
	width: 100%;
}

.kaiketsuCont{
	width: 90%;
	margin: 0 auto;
	padding: 2rem;
	border: solid #b10020 10px;
	border-radius: 20px;
	background-color: #FFFFFF;
}

.youkenWrap{
	width: 98%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.youkenCont{
	width: 100%;
	display: table;
	border-collapse: 15px 0;
	padding-bottom: 1rem;
}

.youkenCont li.number{
	width: 28%;
	display: table-cell;
	vertical-align: middle;
	background-color: #3a5da2;
	padding: 0.1rem 1rem 0.1rem 0;
	color: #FFFFFF;
	text-align: right;
	font-family: "klee-one_bold", "sans-serif";
	font-size: clamp(1rem, 0.866rem + 0.28vw, 1.2rem);
}

.youkenCont li.youken{
	width: 70%;
	display: table-cell;
	vertical-align: middle;
	text-align: left;
}

.youkenCont li.youken h3{
	font-family: "klee-one_bold", "sans-serif";
	font-weight: 300;
	color: #3a5da2;
	font-size: clamp(1rem, 0.866rem + 0.28vw, 1.2rem);
}

@media screen and (max-width:768px) {
.kaiketsuCont{
	width: 100%;
	border: solid #b10020 5px;
}

.youkenWrap{
	width: 100%;
}	
	
.youkenCont li.number{
	font-size: clamp(1rem, 0.866rem + 0.28vw, 1.2rem);
}
	
.youkenCont li.youken h3{
	font-size: clamp(1rem, 0.866rem + 0.28vw, 1.2rem);
}	
}

.youkenWrap .textCont{
	width: 95%;
	margin: 0 auto;
	padding: 1rem;
	text-align: center;
}

.buttonCont{
	width: 100%;
	display: table;
}

.buttonCont li.buttonObject{
	width: 49%;
	display: table-cell;
}

@media screen and (max-width:540px) {
	
.kaiketsuCont{
	padding: 2rem 1.5rem;
}	
	
.youkenCont li.number{
	font-size: clamp(0.5rem, 0.064rem + 2.18vw, 0.8rem);
}
	
.youkenCont li.youken h3{
	font-size: clamp(0.5rem, 0.064rem + 2.18vw, 0.8rem);
}		
	
.buttonCont{
	width: 100%;
	margin: 0;
	display: flex;
	flex-flow: column;
	justify-content: center;
	text-align: center;
}

.buttonCont li.buttonObject{
	width: 90%;
	margin: 0 auto;
	padding-bottom: 1rem;
}
}

@media screen and (max-width:480px) {
	
.kaiketsuCont{
	padding: 2rem 0.8rem;
}
}
/*--------------------------------
 　section03
---------------------------------*/

#section03{
	background-color: #e0dfe1;
}

#section03 > .wrapper ul{
	display: flex;
	flex-flow: wrap row;
	justify-content: space-between;
	align-items: stretch;
}

 #section03 > .wrapper ul .imgCont{
	width: 40%;
	padding-top: 2rem;
}

 #section03 > .wrapper ul .textCont{
	width: 60%;
	padding: 0 2rem 0 2rem;
}


.imgCont img{
	border-bottom: none;
}

.textCont h3.cont_ti{
	padding-bottom: 0.5rem;
}

.textCont .cont_ti p{
	font-size: 0.8rem;
	letter-spacing: 0.1rem;
	display: inline-block;
}

.textCont p{
	font-size: clamp(0.9rem, 0.556rem + 0.54vw, 1.2rem);
	line-height: clamp(1.6rem, 1.142rem + 0.72vw, 2rem);
	padding-bottom: 1rem;
}

@media screen and (max-width:768px) {
	
#section03 .wrapper{
	width: 100%;
	padding-top: 1rem;
	padding-bottom: 3rem;
}	
	
#section03 .wrapper ul{
	width: 100%;
	display: flex;
	margin: 0 auto;
	flex-flow: column-reverse;
	justify-content: center;
	}
	
#section03 .wrapper ul li{
	margin: 0;
	padding-top: 3rem;
}
	
 #section03 .wrapper ul > .imgCont{
	width: 100%;
	padding-top: 2rem;
}

 #section03 .wrapper ul > .textCont{
	width: 100%;
	padding: 2rem 0;
}	
}

.movieLink{
	width: 95%;
	margin: 0 auto;
	padding-top: 2rem;
	text-align: center;
}

.movieLink p{
	font-size: clamp(0.8rem, 0.571rem + 0.36vw, 1rem);
	line-height: clamp(1.4rem, 1.114rem + 1.43vw, 1.8rem);
	text-align: left;
	display: inline-block;
}

/*--------------------------------
 　section04
---------------------------------*/

#section04 .wrapper .sectionDiscription {
	padding: 0;
	text-align: center;
}

#section04 .wrapper .sectionDiscription h3 p{
	display: inline-block;
	text-align: left;
	font-weight: 300;
	font-size: clamp(0.9rem, 0.556rem + 0.54vw, 1.2rem);
}

#section04 .wrapper ul{
	padding-top: 3rem;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}	
	
#section04 .wrapper ul li{
	width: 48%;
	padding-bottom: 2rem;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe,.youtube img{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.youtube iframe,.youtube img{
	margin: 0;
	padding: 0.25rem;
	border: 1px solid #E1E1E1;
	border-radius: 10px;
}

#section04 .wrapper ul li img{
	margin: 0;
	padding: 0.25rem;
	border: 1px solid #E1E1E1;
	border-radius: 10px;
}

.movieDiscription{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0.75rem;
	text-align: center;
}

.movieDiscription p{
	display: inline-block;
	text-align: left;
	font-size: clamp(0.8rem, 0.571rem + 0.36vw, 1rem);
}

.movieDiscription p span{
	color: #FF0033;
	font-weight: bold;
}

@media screen and (max-width:768px) {

#section04 .wrapper .sectionDiscription {
	width: 100%;
}	
	
#section04 .wrapper ul{
	width: 100%;
	margin: 0 auto;
	flex-flow: column;
	justify-content: space-between;
}	
	
#section04 .wrapper ul li{
	width: 100%;
	margin: 0;
	padding-bottom: 2rem;
}
}

/*--------------------------------
 　section05
---------------------------------*/
#section05 .wrapper{
	width: 100%;
	min-height: 450px;
	padding-top: 3rem;
	background-image: url("../../images/section05_bg_img.jpg");
	background-size: cover;
}


.infoCont{
	width: 65%;
	max-width: 768px;
	float: right;
	padding: 2rem 2rem 2rem 3rem;
	background-color: rgba(255,255,255,0.7);

}

.infoCont h3 .cont_ti{
	width: 100%;
	text-align: center;
}

.infoCont h3.cont_ti p{
	letter-spacing: 0.3rem;
	font-size: clamp(0.9rem, 0.556rem + 0.54vw, 1.2rem);
	line-height: clamp(1.6rem, 1.142rem + 0.72vw, 2rem);
}

.infoCont ul li p{
	font-size: clamp(0.9rem, 0.785rem + 0.18vw, 1rem);
	line-height: clamp(2rem, 0.855rem + 1.79vw, 3rem);
}

@media screen and (max-width:1024px) {
	
#section05 .wrapper {
	padding-top: 2rem;
}

.infoCont{
	width: 100%;
	padding: 2rem 2rem;
}	
	
.infoCont h3 .cont_ti p{
	font-size: clamp(0.9rem, 0.785rem + 0.18vw, 1rem);
	line-height: clamp(1.6rem, 1.142rem + 0.72vw, 2rem);
}

.infoCont ul li p{
	font-size: 0.8rem;
	line-height: clamp(1.2rem, 1.018rem + 0.91vw, 1.6rem);
	padding-bottom: 1.6rem;
}	
}

@media screen and (max-width:539px) {
	
#section05 .wrapper {
	min-height: 510px;
	padding-bottom: 0;
}