@charset "utf-8";
.mainvisual{
	background:#E3DBFF;
  background: linear-gradient(180deg, #E3DBFF 0%, #E3DBFF 93%, #fff 93%, #fff 100%);
	position:relative;
	padding:5em 0 0;
}
.mainvisual_flex{
	max-width:1050px;
	margin: 0 auto;
	display:flex;
	justify-content:space-between;
}
@media all and (min-width: 881px) and (max-width: 1280px) {
.mainvisual_flex{
	max-width:90%;
	margin: 0 auto;
	display:flex;
	}
}

@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual{
	background:#E3DBFF;
	padding:0em 0 0;
	}
.mainvisual_flex{
	max-width:90%;
	flex-wrap:wrap;
	position: relative;
	}
}

.mainvisual_flex dl{
	margin:60px auto 0;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual_flex dl{
	max-width:90%;
	margin:30px auto 0;

	}
}

.mainvisual_flex dt{
	margin:0px 0 50px;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual_flex dt{
	margin:0px 0 10px;
	}
}
.mainvisual_flex dd{
	font-size:1.3em;
	line-height:2.5;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual_flex dd{
	line-height:2;
	}
}

.mainvisual_flex dt img{
	max-width:400px;

}	
@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual_flex dt img{
	max-width:75%;
	}
}
.mainvisual_flex .m_right img{
	max-width:550px;
}
@media all and (min-width: 881px) and (max-width: 1280px) {
.mainvisual_flex dt img{
	max-width:90%;
	}
.mainvisual_flex .m_right img{
	max-width:90%;
	}
.mainvisual_flex .m_right{
	text-align:center;
	}
}


@media all and (min-width: 320px) and (max-width: 880px) {
.mainvisual_flex .m_right{
	margin: 30px auto 0;
	text-align:center;
	display:none;
}
.mainvisual_flex .order{
	padding:0 0 28em;
	background:url(../images/m_img.svg) no-repeat 50% 90% ;
	background-size:85%;
	}
}
/*------------------------------------

メインコンテンツ

--------------------------------------*/
.wrapper{
	/*background:#ccc;*/
}
.contents{
/*	background:#f8f8f8;*/
	margin: 0 auto;
	max-width:1400px;
	padding:10em 0 0;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.contents{
	margin: 0 auto;
	max-width:90%;
	padding:0em 0 ;
	}
}
.subtitle{
	text-align:center;
	font-size:4.5em;
	color:#281C7A;
	margin:30px 0 120px;
	font-family: "myfont_eng", sans-serif;
	letter-spacing:3px;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.subtitle{
	margin:60px 0 30px;
	}

}

.flex_contents{
	display:flex;
	max-width:1000px;
	justify-content:center;
	margin: 0 auto 180px;
/*	background:#ccc;*/
}
@media all and (min-width: 320px) and (max-width: 880px) {
.flex_contents{
	flex-wrap:wrap;
	max-width:100%;
	margin: 0 auto 40px;
/*		background:#ccc;*/
	}
}

.flex_contents div{
	padding:0 30px;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.flex_contents div{
	padding:60px 0;
/*	background:#666;*/
	}
.order1{
	order:2;
	}
.spBox_hidden{
	display:none;
	}
}
.flexImg img{
	max-width:400px;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.flexImg img{
	max-width:85%;
	}
.flexImg{
	text-align:center;
	}

}

.flex_contents dt{
	font-size:2.7em;
	margin: 0 0 60px;
	font-family: "myfont_bold", sans-serif;
	color:#231815;
	letter-spacing:2px;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.flex_contents dt{
	font-size:2.5em;
	margin: -30px 0 40px;
	text-align:center;
	}
}

.flex_contents dd{
	max-width:330px;
	line-height:2.5;
}

@media all and (min-width: 320px) and (max-width: 880px) {
.flex_contents dd{
	max-width:100%;
	}
}

/*-------------------------------------------

紫背景

----------------------------------------------*/
.purple_bg{
	background:#E8E6FF;
	padding:0em 0 10em;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.purple_bg{
	padding:.5em 0 3em;
	}
}
/*-------------------------------------------

新着情報

----------------------------------------------*/
.topnews{
	max-width:800px;
	margin: 0 auto;
	border-bottom:1px solid #231815;
	padding:60px 0 60px 0;
	color:#231815;
}


.topless{
	padding:0px 0 60px 0;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.topnews{
	padding:30px 0 30px 0;
	}
.topless{
	padding:0px 0 30px 0;
	}

}
.lastborder{
	border-bottom:none;
}
.topnews dl{
	display:flex;
}
@media all and (min-width: 320px) and (max-width: 880px) {
.topnews dl{
	display:block;
	}
}

.topnews dl dt{
	padding:0 100px 0 0;
	line-height:2.3;
font-family: "Arial", "メイリオ";
}
@media all and (min-width: 320px) and (max-width: 880px) {
.topnews dl dt{
	padding:0 0px 15px 0;
	}
}

.topnews dl dt .mouth{
	display:block;
	margin:-12px 0 0;
}

.topnews dl dd{
	line-height:2.3;
}
/*-----------------------------------------------

スクロール促す

------------------------------------------------*/
.scroll {
    position  : absolute;
    font-size : 13px;
    writing-mode : vertical-rl;
    bottom : 23%!important;
    left : 2%;
   transform: rotate(180deg);
   z-index:2;
   color:#333;
}
@media all and (min-width: 767px) and (max-width: 120em) {
.scroll {
	bottom : 0%;
	}
}

.scroll::after {
    content : '';
    display : inline-block;
    position : absolute;
    background-color: #333;
    right : 50%;
    bottom : -160px;
    transform : translateX(-50%);
    width : 1px;
    height : 150px;
    animation: scroll 1.5s infinite;
}
@media all and (min-width: 320px) and (max-width: 880px) {

.scroll::after {
    content : '';
    display : inline-block;
    position : absolute;
    background-color: #333;
    right : 50%;
    bottom : -60px;
    transform : translateX(-50%);
    width : 1px;
    height : 50px;
    animation: scroll 1.5s infinite;
	}
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 0%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 0%;
  }
}
@media all and (min-width: 881px) and (max-width: 120em) {
.spOnlyImg{
	display:none;
	}
}
@media all and (min-width: 320px) and (max-width: 880px) {
.spOnlyImg{
	margin:0px 0 40px;
	}
}