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


/* 全体装飾ここから
---------------------------------------*/
html {
  -webkit-box-sizing: border-box;/*borderまでを含めたサイズをwidthとして指定する*/
  box-sizing: border-box;
  font-size: 62.5%;/*標準16pxの62.5%=10px*/
  scroll-behavior: smooth;/*スムーズスクロール。旧iosでは非対応。どうしても必要な場合はjs*/
}
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;/*文字のアンチエイリアス設定*/
  -moz-osx-font-smoothing: grayscale; /*Firefox用の文字のアンチエイリアス設定*/
  font-feature-settings: "palt"; /*文字詰め*/
  letter-spacing: 0; /*文字間の設定*/
  line-height: 1.75; /*行間の設定*/
  width: 100%;
}
.sitewrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
}
main {
  flex: 1;
  height: 100vw;
}
img {
  max-width: 100%;
  height: auto;/*高さは幅に応じて*/
  vertical-align: bottom;/*画面下に謎に開く余白防止*/
}
li {
  list-style: none;
}
body {
	background-image: url(../img/backimage.jpg);
	background-repeat: repeat-y;
	background-size: contain;
	font-family: 'Noto Sans JP',sans-serif;
	line-height: 1.7;
	color: #00081a;
}
/* 全体装飾ここまで
---------------------------------------*/


/*headerデザインここから
---------------------------------------*/

.header {
	width: 100%;
	text-align: center;
	font-family: 'Sawarabi Mincho', serif;
	color: #00081a;
	background-image: url("../img/mv02.png"),url("../img/mv01.jpg"),url("../img/mv01.jpg"); 
	background-color: #AEA5BB ;
	background-repeat: no-repeat ;
	background-size: 100%;
	background-position: top center,top center,bottom center;
	white-space: nowrap;
  padding : 210px 0;
}

.mv01-1 {
	width: 100%;
}

.mv01-2 {
	width: 100%;
}

.mv02 {
	width: 100%;
}


.title2 {
	font-size: 9rem;
	letter-spacing: 7px;
	color: #00081a;

}

.title3 {
	font-size: 2.8rem;
	letter-spacing: 18px;
	color: #FFF;
	margin-bottom: 88px;
}

.none_500 {
	display: none;
}
/*headerデザインここまで
---------------------------------------*/


/*mainデザインここから
---------------------------------------*/

.main {
	background-color: #795C80; height: 1200px;
	color: #FFF;
	opacity: 97%;
	margin: 0 40px;
}

.about1 {
	font-family: 'Sawarabi Mincho', serif;
	font-size: min(3vw,48px);
	letter-spacing: 7px;
	content: '';
	border-bottom: solid 2px #fff;
	animation: border_anim 2s linear forwards;
}

@keyframes border_anim {
	0%{
		margin-left: -146vw;
	}
	100%{
		margin-left: 0;
	}
}

.exp_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 120px 0 40px;
}
.exp_wrap2 {
	margin: 0 auto;
}
.exp {
	padding: 0 60px;
}
h2 {
	font-weight: 600;
	font-size: 35px;
	text-align: center;
	padding: 28px 0;
}

article {
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: 3px;

}

.org {
	font-size: 25px;
	text-align: right;
}

p {
	font-family: 'Sawarabi Mincho' ;
	text-align: center;
	font-size: 40px;
	font-weight: 800;
}

.animation-img {
	width: 32%;
	max-width: 100%;
	height: auto;
}


.about2 {
	width: 100%;
}

.about3 {
	width: 100%;
}

.about4 {
	font-family: 'Sawarabi Mincho' ;
	font-size: 3vw;
	content: '';
	border-bottom: solid 2px gray;
	animation: border_anim 2s linear forwards;
}

.about {
	background-image: url(../img/mon.png);
	background-size: 30%;
	background-repeat: no-repeat;
	background-position: left bottom;
	padding-bottom: 120px;
}

@keyframes border_anim2 {
	0%{
		width: 0%;
	}
	100%{
		width: 100%;
	}
}


.button2 {
	position: relative;
}

.mv01-3 {
	width: 100%;
}

.article2 {
	color: #000000;
	background-color: #FFF;
	padding-bottom: 50px;
}

.article3 {
	color: #00081a;
	font-size: 22px;
	line-height: 1.7;
	text-align: left;
}

.family {
	font-weight: 800;
	font-size: 28px;
	font-family: 'Sawarabi Mincho' ;
	background:linear-gradient(transparent 60%, #ffff66 ) ;
}

.check {
	display: block;
	margin: 16px;
	font-weight: 800;
	font-size: 28px;
}

.end {
	display: block;
	margin-top: 30px;
	font-size: 25px;
	font-family: 'Sawarabi Mincho' ;
	font-weight: 800;
	letter-spacing: 3px;
	text-align: right;
}

.h201 {
	color: #00081a;
	opacity: 80%;
	font-size: 2.5rem;
	letter-spacing: 6px;
	font-weight: 700;
	line-height: 100px;
}
.exp2{
	flex: 1 1 60%;
}
.article_wrap{
	display: flex;
	justify-content: flex-end;
}
.img2{
	flex: 1 1 40%;

}
.mas01 {
	width: 35vw;
	display: block;
	text-align: center;
	max-width: 450px;
	height: auto;
	margin-left: 100px;
} 

.mas02 {
	width: 35vw;
	text-align: center;
	max-width: 450px;
	height: auto;
	margin-top: -70px;
}

.mv01-4 {
	width: 100%;
}

.article4 {
	background-color: #795C80;
	margin-top: 2vw;
	margin-bottom: 2vw;
}
h2.what_mas{
	border-bottom: solid 2px #fff;
	animation: border_anim3 3s linear forwards;
	padding-bottom: 0;
}
.h202 {
	font-size: min(2vw,35px);
	font-weight: 100;
	display: inline-block;

}

.how {
	font-family: 'Sawarabi Mincho' ;
	font-size: min(4vw,53px);
}

@keyframes border_anim3 {
	0%{
		transform: translateX(100%);
	}
	100%{
		transform: translateX(0%);
	}
}


h3 {
	font-size: 2.5rem;
	margin-top: 2vw;
	margin-bottom: 2vw;
}
.exp_wrap3 {
	flex-direction: row-reverse;
}
.img3 {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.article5 {
	line-height: 1.7;
	letter-spacing: 3px;
	font-size: 22px;
	text-align: left;
	padding-left: 44px;
}

.wiki {
	font-size: 16px;
}
.article4 h3 {
	padding-left: 44px;
}

.mas03 {
	display: block;
	width: 35vw;
	max-width: 450px;
}

.mas04 {
	display: block;
	width: 35vw;
	max-width: 450px;
	margin-top: -3vw;
	margin-right: 7vw;
}

.mv01-5 {
	width: 100%;
	opacity: 100%;
	margin-top: 2vw;
}


.about5 {
	color: #fff;
	text-align: center;
	font-size: 25px;
	background-color: #795C80;
	padding-top: 6vw;
	font-weight: 600;
	margin-bottom: 3vw;

}

.family1 {
	font-family: 'Sawarabi Mincho' ;
	font-size: 42px;
	letter-spacing: 8px;
	border-bottom: 3px solid #FFF;
	animation: border_anim 3s linear forwards;
}

.button3 {
	display: block;
	margin: 0 auto 4vw;

}

.mv01-6 {
	width: 100%;
}

footer {
	margin: 0 40px;
}

.QA_area {
	background-color: #FFF;
	text-align: center;
	color: #000000;
}

.QA {
	text-align: center;
	opacity: 95%;
	margin: 0 40px;
	font-size: 50px;
	padding-top: 100px;
}

.QA1 {
	text-align: center;
	font-size: 35px;
	line-height: 100px;
}


.que {
	color: #8D7493;
	padding-right: 1em;
}

.ans {
	color: #E35D5D;
	padding-right: 1em;
}

.ate {
	background-color: #FFF;
	padding: 60px;
}

.ate p {
	text-align: left;
	font-size: 22px;
}

.mv01-7 {
	width: 100%;
}

/*1.フェードインアニメーションの指定*/
.scrollanime {opacity: 0;} /*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 5s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}
 
/*2.上下の動きを指定*/
.updown {transform: translateY(-100px);}
.downup {transform: translateY(100px);}
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(200px);}
.slide-left {transform: translateX(-200px);}

/*mainデザインここまで
---------------------------------------*/

/*footerデザインここから
---------------------------------------*/
.headsup {
	font-size: 20px;
	text-align:left;
}

.ab {
	font-size: 20px;
}

.mv01-8 {
	width: 100%;
}

.headsup2 {
	font-size: 20px;
	text-align: left;
}

.end2 {
	text-align: center;
	background-color: #795C80;
	opacity: 92%;
	color: #FFF;
	padding-top: 1.3%;
	padding-bottom: 15px;
}

.end3 {
	font-size: 18px;
	font-weight: 400;
}

.ate2 {
	background-color: #FFF;
	padding: 60px;
}

.ate2 p {
	font-size: 22px;
	text-align: left;
}

small {
	color: #FFF;
	
}
/*footerデザインここまで
---------------------------------------*/


/*ボタンデザイン
---------------------------------------*/
.button a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 1.3vw 2.3em;
	max-width: 300px;
	width: 40vw;
	color: #FFF;
	font-size: min(2.5vw,20px);
	font-weight: 600;
	background-color: #E35D5D;
	box-shadow: 0 5px 0 #91372a;
	transition: 0.3s;
	letter-spacing: min(1vw,7.5px);
	border-radius: 20px;
	text-decoration: none;
}
.button-nega{
	margin: -11vw auto 4.3vw;
}

.button a::after {
	content: '';
	width: min(2vw,18px);
	height: min(2vw,18px);
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	transform: rotate(45deg);
}

.button a:hover {
  transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #91372A;
}


/*スライダー設定ここから
---------------------------------------*/

.slider {
	display: flex;
	animation: loop-slide 20s infinite linear 1s both;
	margin-top: 3.6vw;
}
 li.content{
	width:320px;
 }
.wrap {
	display: flex;
	align-items: center;
	overflow: hidden;
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/*-------------------------------------------------*/

.slider2 {
	display: flex;
	animation: loop-slide 20s infinite linear 1s both;
  
}
 
.wrap2 {
	display: flex;
	align-items: center;
	overflow: hidden;
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/*-------------------------------------------------*/

.slider3 {
	display: flex;
	animation: loop-slide2 20s infinite linear 1s both;
}
 
.wrap3 {
	display: flex;
	align-items: center;
	overflow: hidden;
	margin-top: 30px;
}

@keyframes loop-slide2 {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}

/*スライダー設定ここまで
---------------------------------------*/
@media(max-width:1280px){
	html{
		font-size: 50%;
	}
	.exp_wrap2 {
		flex-direction: column;
	}
	.mas01,.mas03 {
		margin-left: 32vw;
		margin-top: 2vw;
	} 
	
	.mas02,.mas04 {
		margin-top: -30vw;
	}
	.mas04 {
		margin-right: 30vw;
	}
}

@media(max-width:1024px){
	html{
		font-size: 40%;
	}
}

@media(max-width:800px){
	.about5 {
		font-size: 20px;
	}
	.family1 {
	  font-size: 26px;
	}
}

@media(min-width:769px){
	.pc_none {
		display: none;
	}
}

@media(max-width:768px){
	html{
		font-size: 30%;
	}
	.exp_wrap {
		flex-direction: column;
	}
	.animation-img {
		width: 60%;
		max-width: 100%;
		height: auto;
	}
	article {
		font-size: 16px;	
		}
		.exp {
			padding: 0 25px;
	}
	.main {
		margin: 0 20px;
	}
	.article3 {
    font-size: 16px;
	}
	.check {
		font-size: 18px;
	}
	.pc_only{
		display: none;
	}
	.family {
		font-size: 25px;
	}
	.end {
		font-size: 20px;
	}
	.h201 {
		font-size: 20px;
		line-height: 50px;
	}
	.about4 {
		font-size: 24px;
	}
	.h202 {
		font-size: min(4vw,30px);
	}
	.how {
		font-size: min(5.8vw,45px);
	}
	.article4 h3 {
		font-size: 23px;
		padding-left: 12px;
	}
	.article5 {
		font-size: 16px;
		padding-left: 12px;
	}
	.wiki {
		display: block;
		margin: 20px auto;
	}
	.img3 {
		margin-bottom: 35px;
	}
	.content img {
		width: 160px;
	}
	li.content {
		width: 160px;
	}
	.about5 {
		font-size: 20px;
	}
	.family1 {
		font-size: 35px;
	}
	.QA {
		font-size: 30px;
		padding-top: 50px;
	}
	.QA1 {
		font-size: 22px;
		line-height: 50px;
		text-align: left;
		margin-left: 25px;
	}

	.sumoug1 {
		width: 160px;
	}
	.headsup {
		font-size: 16px;
	}
	.ab {
		font-size: 16px;
	}
	.ate,.ate2 {
		padding: 20px;
	}
	footer {
		margin: 0 20px;
	}
	.end3 {
		font-size: 14px;
		text-align: left;
		padding: 20px;
	}
	.header {
		padding-bottom: 160px;
	}
	footer .end2 small {
		font-size: 14px;
	}
	.family1 {
		font-size: 18px;
		border-bottom: 1px solid #FFF;
	}
	.title3 {
		font-size: 18px;
	}
	.button a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
		padding: 1.3vw 2.3em;
		max-width: 300px;
		width: 37vw;
		height: 13vw;
		color: #FFF;
		font-size: min(2.5vw,20px);
		font-weight: 600;
		background-color: #E35D5D;
		box-shadow: 0 5px 0 #91372a;
		transition: 0.3s;
		letter-spacing: min(1vw,7.5px);
		border-radius: 20px;
		text-decoration: none;
	}
}

@media(max-width:600px){
	.title3 {
		font-size: 15px;
    margin: 2vw 5vw;
	}
	.pc_none {
		display: none;
	}
}

@media(max-width:500px){
	.title3 {
		font-size: 5vw;
	}
	.about1 {
		font-size: 6vw;
	}
	.about5 {
		font-size: 3vw;
	}
	.family1 {
		font-size: 3vw;
	}
	.none_500 {
		display: block;
	}
}

@media(max-width:375px){
	html{
		font-size: 20%;
	}
	.about5 {
		font-size: 15px;
	}
	.family1 {
		font-size: 18px;
	}
	.about1 {
		font-size: 16px;
	}
	.title3 {
		font-size: 14px;
	}
	.org {
		font-size: 19px;
		margin-bottom: 10vw;
	}
	.about4 {
		font-size: 20px;
	}
	.article4 h3 {
		font-size: 19px;
	}
	.about5 {
		font-size: 11px;
	}
	.family1 {
		font-size: 11px;
	}
}