@charset "utf-8";
/*----------------
[1]common
[2]headerContainer
[3]sideContainer
[4]footerContainer
[5]Container
[6]topContainer
[7]subContainer
[8]other
------------------ */

/* **********************************************************************************************
[1]common
************************************************************************************************ */
html{
	margin: 0;
	padding: 0;
}
body{
	line-height: 1.5;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	font-size: 14px;
	/* font-family:Roboto,\\6E38\30B4\30B7\30C3\30AF\4F53,YuGothic,\\30E1\30A4\30EA\30AA,Meiryo,Osaka,"\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF",MS PGothic,Verdana,sans-serif; */
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-variant: normal;
	font-weight: 300;
	color: #0b0b0a;
	letter-spacing: 1px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	min-width: 768px;
}
header {
	width: 100%;
	height: 92px;
	z-index: 99999999997;
	position: fixed;
	top: 0px;
	left: 0;
	/* background-color: #FFF; */
	box-sizing: border-box;
	transition: background-color .3s;
}

header.fixed {
	background-color: rgba(0,0,0,0.3);
	transition: background-color .3s;
}


#wrapper {
	width: 100%;
	position: relative;
	/* overflow: hidden; */
}

body {
  /*要素の高さを指定*/
  height: 100vh;
  /*上下方向にはみ出した要素ををスクロールさせる*/
  overflow-y: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
}

body::-webkit-scrollbar{
  display:none;
}
 
/* clear
----------------------------------------------- */
.clear { clear: both; }
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix { min-height: 1px; }
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* a 
----------------------------------------------- */
a,a:link { text-decoration: none; }
a img, img {
	border: none;
	line-height: normal;
	vertical-align: top;
}

/* img 
----------------------------------------------- */
img{
    max-width: 100%;
    height: auto;
    width /***/:auto;
}
.imgText {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.object-fit-img {
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;'
}

/* slide
----------------------------------------------- */
#topContent {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

#sliderbox {
	position: relative;
	width: 100%;
	overflow:  hidden;
	height: 100vh;
	padding: 0;
	top: 0px;
	margin: 0 auto;
	box-sizing: border-box;
}

.slidetxt {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	display:flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	text-align: center;
}

.slidetxt h2 {
	font-size: 30px;
	letter-spacing: 0.08em;
}
.slidetxt h2 span{
	display: inline-block;
	font-size: 16px;
	letter-spacing: 0.4em;
}

/* #sliderbox figure{
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 100vh;
}

#sliderbox figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
} */


.video_wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  background: url(img/video.jpg) no-repeat center center/cover;
}

.video_wrapper video {
  min-width: 100%;
  min-height: 100vh;
  position: absolute;
}

@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
  .video_wrapper video {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-aspect-ratio: 16/9) {
  .video_wrapper video {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}


/* **********************************************************************************************
[2]headerContainer
************************************************************************************************ */
header h1 {
	position: absolute;
	left: 40px;
	width: 129px;
	height: 58px;
	top: 20px;
	text-align: center;
	z-index: 99999999999;
}
header h1 a {
	display: block;
	background-repeat: no-repeat;
	background-position: left top;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	position:relative;
	width: 129px;
	height: 58px;
	background-size: contain;
	margin: 0 auto 0;
	box-sizing: border-box;
	background-image: url(images/logo.png);
	transition: opacity .3s;
}

.headerMainNav {
	position: absolute;
	top:20px;
	right: 80px;
	z-index: 999999999;
	text-align: right;
	transition: top .3s;
	font-size:0;
	font-family: 'Noto Serif JP', serif;
}

.headerMainNav .gnav001,
.headerMainNav .gnav002 {display: inline-block; vertical-align: top;}
.headerMainNav .gnav002 {margin: 10px 0 0 10px;}
.headerMainNav .gnav001 {text-align: left;}
.headerMainNav .gnav001 li,
.headerMainNav .gnav002 li {display: inline-block; vertical-align: top; position: relative; }
.headerMainNav .gnav001 li a{
	display: block;
	color: #FFF;
	padding: 0 10px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 500;
}

@media all and (max-width: 1350px) {
.headerMainNav .gnav001 {display: none;}
}


.headerMainNav .gnav002 li a{
	display: block;
	color: #FFF;
	padding: 0 2px;
	box-sizing: border-box;
	font-size: 13px;
	font-weight: 500;
	font-family: 'Lora', serif;
}
.headerMainNav .gnav002 li:nth-of-type(2) {margin: 0 5px;}
.headerMainNav .gnav002 li img {width: 20px;}

.headerMainNav .gnav001 li a span{
	display: inline-block;
	position: relative;
	padding: 10px 0;
	box-sizing: border-box;
}

.headerMainNav .gnav001 li a span:before{
	position: absolute;
	bottom:5px;
	left:0;
	right: 0;
	margin:0 auto;
	background-color: rgba(255,255,255,0.7);
	width: 0;
	height: 1px;
	content:"";
	transition: width .3s;
}

.headerMainNav .gnav001 li a:hover span:before{
	width: 100%;
	transition: width .3s;
}
.headerMainNav .gnav002 .addgnav {border-left: 1px solid #FFF; border-right: 1px solid #FFF; padding: 0 5px; box-sizing: border-box; margin-right: 5px;}
.headerMainNav .gnav002 .addgnav li {
	color: #FFF;
}
.headerMainNav .gnav002 li .addgnav li:nth-of-type(2) {margin: 0px;}

.headerMainNav .gnav002 .addgnav a.current,
.headerMainNav .gnav002 .gtranslate_wrapper a.gt-current-lang {position: relative;}
.headerMainNav .gnav002 .addgnav a.current:before,
.headerMainNav .gnav002 .gtranslate_wrapper a.gt-current-lang:before {
position: absolute;
top:0;
bottom:0;
left:0;
width: 100%;
margin: auto 0;
content:"";
background-color: #FFF;
height: 1px;
widht: 100%;
}


.headerMainNav .gnav002 .gtranslate_wrapper a{
	display: inline-block;
	padding: 0 5px;
}



.headerMainNav li.gnavBtn a:before{
	background-image: url(images/icon-yajirushi.png);
	background-repeat: no-repeat;
	background-position: left top;
	position: absolute;
	top: 35px;
	right: 0;
	height: 11px;
	width: 14px;
	content: "";
}
.headerMainNav li.gnavBtn li a:before{
	background-image: inherit;
	background-repeat: inherit;
	background-position: inherit;
	position: inherit;
	top: inherit;
	right: inherit;
	height: 0px;
	width: 0px;
	content: "";
}
.headerMainNav li.gnavBtn ul{
	width: 300px;
	position: absolute;
	display: none;
	left: 0px;
	top: 40px;
	z-index: 999999999;
	padding: 10px 10px 20px;
	box-sizing: border-box;
	height: auto;
}
/* .fixed .headerMainNav li.gnavBtn ul{background-color: rgba(0,0,0,0.3);} */

.headerMainNav li.gnavBtn li {margin: 0; display: block;}
.headerMainNav li.gnavBtn li a{
	padding: 3px 0 3px 15px;
	box-sizing: border-box;
	height: auto;
	font-size: 13px;
	position: relative;
	text-shadow:
    rgba(0,0,0,0.3) 1px 1px 3px, rgba(0,0,0,0.3) -1px 1px 3px,
    rgba(0,0,0,0.3) 1px -1px 3px, rgba(0,0,0,0.3) -1px -1px 3px;
}

.headerMainNav li.gnavBtn li a:before{
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	background-color: #fff;
	margin: auto 0;
	content:"";
	height: 1px;
	width: 8px;
	box-shadow: 0 0 2px rgba(0,0,0,0.5);
}

.headerMainNav li.gnavBtn li a:after{
	background-color: inherit;
	position: inherit;
	bottom: inherit;
	left: inherit;
	right: inherit;
	margin: 0 auto;
	height: 0;
	width: 0;
	content: "";
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}
.headerMainNav li.gnavBtn li a:hover:after{
	transform-origin: left top;
	transform: scale(0, 1);
}

.tuijyu {
	position: fixed;
	bottom:0;
	right:0;
	z-index:9999999;
}

.tuijyu a{
	padding: 30px;
	box-sizing: border-box;
	background-color: #7e807c;
	color: #FFF;
	font-size: 18px;
	font-family: 'Lora', serif;
	display: block;
	line-height: 1.2;
	border-top-left-radius : 10px;
	transition: background-color .3s;
}

.tuijyu a span{
	display: inline-block;
	font-size: 14px;
	font-family: 'Noto Serif JP', serif;
	position: relative;
}

.tuijyu a span:before{
	position: absolute;
	bottom:3px;
	right: -70px;
	width: 60px;
	height: 1px;
	content:"";
	background-color: #FFF;
}
.tuijyu a span:after{
	position: absolute;
	bottom:3px;
	right: -70px;
	width: 25px;
	height: 10px;
	content:"";
	background-image: url(images/yajirushi.png);
	transition: right .3s;
}

.tuijyu a:hover span:after{
	right: -75px;
	transition: right .3s;
}


.tuijyu a:hover{background-color: #090a09;transition: background-color .3s;}

/* **********************************************************************************************
[3]sideContainer
************************************************************************************************ */
.nav001 {
z-index: 9999999999999;
position: relative;

}

.nav001 li a{
display: block;
padding: 8px 10px;
box-sizing: border-box;
color: #0b0b0a;
font-size: 18px;
font-weight: 400;
font-family: 'Noto Serif JP', serif;
}
.nav001 li ul {/* margin-left: 15px; */
position: relative;
left: 15px;
}
.nav001 li li a{
display: block;
padding: 5px 20px;
box-sizing: border-box;
color: #0b0b0a;
font-size: 15px;
font-weight: 400;
position: relative;
}
.nav001 li li a:before,
.nav001 li li a:after{
position: absolute;
content:"";
}
.nav001 li li a:before{
top: -12px;
left: 0;
width: 1px;
height: 32px;
background-color: #959595;
}
.nav001 li li:last-child a:before{
top: -12px;
left: 0;
width: 1px;
height: 26px;
background-color: #959595;
}
.nav001 li li a:after{
top: 13px;
left: 0;
width: 14px;
height: 1px;
background-color: #959595;
}

.nav002 {margin-top: 20px; border-top: 1px solid #959595; padding-top: 20px; text-align: center;}
.nav002 li {display: inline-block;}
.nav002 li a{
display: block;
padding: 5px 0;
box-sizing: border-box;
color: #0b0b0a;
font-size: 14px;
font-weight: 400;
position: relative;
font-family: 'Lora', serif;
}
.nav002 li img {width: 20px;}
.nav002 li:nth-of-type(2) {margin: 0 8px;}


.nav002 {
z-index: 9999999999999;
position: relative;
}

.sideSpecial {position: relative;}
.sideSpecialImg {position: absolute; top: 40px; right: 0; width: 180px;}
.sideSpecialImg div{
float: left;
width: 50%;
padding: 2px;
box-sizing: border-box;
}

.sideSpecialImg figure {
	width: 100%;
	padding-top: 123.8%;
	position: relative;
	overflow: hidden;

}

.headerNav a:hover {color: #959595;}
.headerNav {padding-bottom: 120px;}

/* **********************************************************************************************
[4]footerContainer
************************************************************************************************ */
footer {
	position: relative;
	width: 100%;
	padding: 60px 40px 60px;
	box-sizing:  border-box;
	/* z-index: 9999999999; */
	background-color: #515551;
	color: #FFF;
}
footer.l-footer {
	position:inherit;
	bottom:inherit;
	left:inherit;
	right:inherit;
	-webkit-transform:translateX(0%);
	transform:translateX(0%);
	text-align:left;
	/* z-index: 9999999999; */
}

footer h2 {
	position: relative;
	width: 90.3px;
	height: 40.6px;
	margin-bottom: 10px;
}

footer h2 a{
	display: block;
	background-repeat: no-repeat;
	background-position: left top;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	position:relative;
	width: 90.3px;
	height: 40.6px;
	background-size: contain;
	margin: 0 auto 0;
	box-sizing: border-box;
	background-image: url(images/logo.png);
	transition: opacity .3s;
}


footer p {font-size: 13px;}
footer p span {font-size: 10px; display: inline-block;}

.fcontleft {float: left;}
.fcontright {float: right;}

.fnav002 {text-align: right;}
.fnav002 li {display: inline-block; font-family: 'Lora', serif; font-size: 13px; }
.fnav002 li:nth-of-type(1),
.fnav002 li:nth-of-type(2) {margin-right: 10px;}
.fnav002 li img {width: 20px;}


/* copyright
----------------------------------------------- */
.copyright {
	/* position: fixed;
	top: 0;
	left: 35px; */
	position:absolute;
	bottom: 60px;
	top: inherit;
	left: inherit;
	right: 40px;
	margin-left:0;
	font-size: 10px;
	text-align: right;
	padding: 0px;
	width: 300px;
	box-sizing: border-box;
    z-index: 99999999999;
    color: #FFF;
    font-family: 'Lora', serif;
    
	
}

/* pageTop
----------------------------------------------- */
#pageTop {
	position: fixed;
	bottom: 120px;
	right: 20px;
	color: #FFF;
	width: 20px;
	height: 90px;
	font-size: 10px;
	z-index: 999999999;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: 'Lora', serif;
	text-align: right;
}
#pageTop a{
	color: #7e807c;
	position: relative;
	width: 20px;
	height: 90px;
	display: block;
	box-sizing: border-box;
}
#pageTop a:after {
	position: absolute;
	background-color: #7e807c;
	width: 1px;
	height: 30px;
	left: 10px;
	margin: 0;
	bottom: 55px;
	content: "";
	transition:bottom .3s,height .3s;
}

#pageTop a:hover:after {
	 bottom: 55px;
	 height: 55px;
	 transition:bottom .3s,height .3s;
}


/* **********************************************************************************************
[5]Container
************************************************************************************************ */
#container {
	width: calc(100% - 80px);
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index:99999999;
	margin-top: 1px;
	background-color: #f4f4f4;
}
/* Ttl
----------------------------------------------- */
.mainTtl {
	position: relative;
	width: 100%;
	font-size: 25px;
	font-family: 'Lora', serif;
	margin-bottom: 20px;
	color: #0b0b0a;
}

.mainTtl span{
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	font-weight: 600;
}



/* Btn
----------------------------------------------- */
.btn,
.btn2,
.btn_area {text-align: center;}

/* .top002 .btn {text-align: left; display: block;} */

.btn a{
	display: inline-block;
	color: #7e807c;
	font-family: 'Lora', serif;
	font-size: 15px;
	padding: 10px 20px;
	box-sizing: border-box;
	width: 250px;
	text-align:center;
	border: 1px solid #7e807c;
	transition:color .3s,border .3s,background-color .3s;
	
}

.btn a:hover{
	color: #fff;
	border: 1px solid #090a09;
	background-color: #090a09;
	transition:color .3s,border .3s,background-color .3s;
}

.btn_area a,
.btn_area input {
	display: inline-block;
	color: #7e807c;
	font-size: 13px;
	padding: 10px 20px;
	box-sizing: border-box;
	width: 250px;
	text-align:center;
	border: 1px solid #7e807c;
	transition:color .3s,border .3s,background-color .3s;
	cursor:pointer;
}
.btn_area a:hover,
.btn_area input:hover{
	color: #fff;
	border: 1px solid #090a09;
	background-color: #090a09;
	transition:color .3s,border .3s,background-color .3s;
}


.btn2 a{
	display: inline-block;
	color: #090a09;
	font-size: 13px;
	padding: 10px 20px;
	box-sizing: border-box;
	width: 300px;
	text-align:center;
	border: 1px solid #7e807c;
	transition:color .3s,border .3s,background-color .3s;
	
}

.btn2 a:hover{
	color: #fff;
	border: 1px solid #090a09;
	background-color: #090a09;
	transition:color .3s,border .3s,background-color .3s;
}

.view a{
	display: block;
	position: relative;
	color: #7e807c;
	font-family: 'Lora', serif;
	font-size: 14px;
	width: 120px;
	text-align: right;
	transition:color .3s;
}

.view a:hover{
	color: #090a09;
	transition:color .3s;
}

.view a:before{
background-color: #7e807c;
height: 1px;
width: 100%;
position: absolute;
bottom:0;
left:0;
content:"";
transition:background-color .3s;
}

.view a:hover:before{
background-color: #090a09;
transition:background-color .3s;
}


/* **********************************************************************************************
[6]topContainer
************************************************************************************************ */
/* top001 */
.boxL {padding: 80px 0 80px 7.5%; box-sizing: border-box;}
.boxR {padding: 80px 7.5% 80px 0; box-sizing: border-box;}
.boxC { padding: 80px 7.5%; box-sizing: border-box;}

.newsL {float: left; width: 200px;}
.newsR {float: right; width: calc(100% - 200px);}

.view {
	position: absolute;
	bottom:100px;
	left:7.5%;
}

.section-lineup {
  overflow: hidden;
  width: 100%;
  padding: 0;
  opacity:1;
}
.section-lineup .inner {
  margin: 0 auto;
  width: calc(100% + 100px);
  padding-top: 25px;
  box-sizing: border-box;
}
.section-lineup .lineup {
  /* position: relative; */

}
.section-lineup .lineup-carousel li {
  text-align: left;
  margin-right: 30px;
}
.section-lineup .lineup-carousel img {
  display: block;
  margin-bottom: 0;
  width: 100%;
}
.section-lineup .slick-list {
  overflow: visible;
}

.section-lineup .lineup-carousel li p,
.products li p {
color:#9c9ea2;
font-size: 10px;
font-family: 'Lora', serif;
margin: 5px 0 10px;
}

.section-lineup .lineup-carousel li dt {
color:#0b0b0a;
font-size: 12px;
font-family: 'Lora', serif;
}

.section-lineup .lineup-carousel li dd,
.products li h3 {
color:#0b0b0a;
font-weight: 700;
font-size: 16px;
line-height: 1.3;
}

.products li p.price {
color:#000;
font-size: 14px;
font-family: 'Lora', serif;
margin: 5px 0 10px;
}

#memberpages div.loginbox {
	width: 80%;
	min-width: 280px;
	margin: 50px auto 0px auto;
	padding: 0px 30px 30px 30px;
	background-color: #F6F6F6;
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
}
#memberpages input.loginmail,
#memberpages input.loginpass {
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	line-height: 20px;
	box-sizing: border-box;
}

/*===================================
    slick 矢印
===================================*/

.slick-arrow {
  display: block;
  position: absolute;
  top: -25px;
  padding: 0;
  width: 20px;
  height: 20px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  background-color: transparent;
  border: none;
  z-index: 1;
}
.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::before,
.slick-prev::before {
  width: 15px;
  height: 1px;
  background: #0b0b0a;
}
.slick-next::after,
.slick-prev::after {
  width: 6px;
  height: 6px;
  border-top: 1px solid #0b0b0a;
  border-right: 1px solid #0b0b0a;
}

/* next */

.slick-next {
  left: 30px;
}
.slick-next::before {
  left: 0;
}
.slick-next::after {
  left: 10px;
  transform: rotate(45deg);
}

/* prev */

.slick-prev {
  left: 5px;
}
.slick-prev::before {
  left: 0;
}
.slick-prev::after {
  left: 0px;
  transform: rotate(-135deg);
}

.graybg {
background-color:#e4e5e5;
}

.aboutTxt {
	font-size: 16px;
	/* line-height: 2.4;
	margin: 50px 0;
	text-align: left; */
	line-height: 1.8;
	margin-bottom: 30px;
}

.view.view2 {
	position: absolute;
	bottom: inherit;
	left: inherit;
	/* right:0; */
}

.top002 .view.view2 {
	position: inherit;
}

.aboutBox {
	padding-left: 200px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 40px;
	width: 50%;
}

.aboutRight {
	position: absolute;
	top: -140px;
	right: 0;
	width: 50%;
	max-width: 660px;
}
/* .aboutLeft {position: relative;}
.top002 {margin-top: 40px; padding-bottom: 30px;} */

.aboutLeft {float: left; width: 48%;}
.aboutRight li{float: left; box-sizing: border-box; width: 33.333%; padding:0 10px;}
.top002 {margin-top: 40px; padding-bottom: 30px;}

.aboutRight li:nth-of-type(1){padding: 40px 10px 0 10px;}
.aboutRight li:nth-of-type(3){padding: 40px 10px 0 10px;}

.spno.pcno2 {display: none;}

@media all and (max-width: 1685px) {
.aboutBox {padding-left: 0px;}
}
@media all and (max-width: 1500px) {
.spno.pcno2 {display: block;}
.aboutRight {
	float: right;
	width: 50%;
	top: -100px;
}
.aboutRight li{padding:0 5px;}
.aboutRight li:nth-of-type(1){padding: 40px 5px 0 5px;}
.aboutRight li:nth-of-type(3){padding: 40px 5px 0 5px;}
}

.products {margin-bottom: 40px;}
.products li{ float: left; width: 25%; padding: 0 15px; box-sizing: border-box; }

.top007 {padding-bottom: 80px;}

.view.view3 {
	bottom: 0;
	left: inherit;
	right: 7.5%;
}

.winner li {float: left; width: 20%; padding: 5px; box-sizing: border-box;}
.winner li:nth-of-type(1) {width: 40%;}




.winner li div {position: relative;}
.winner li dl {
position: absolute;
top:10px;
left:0;
background-color: #FFF;
padding: 5px 10px 5px 5px; box-sizing: border-box;
}
.winner li dt {float: left; font-size: 14px; color: #808080;}
.winner li:nth-of-type(1) dt {font-size: 16px; color: #ac914a;}
.winner li dd {float: left; font-size: 13px; margin-left: 5px;}
.winner li:nth-of-type(1) dd {margin-top: 2px;}
.winner li dd span{display: inline-block; font-size: 11px;}

.winner li figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 100%;
	display: block;
}

.commoncontact li {float: left; padding: 1px; box-sizing: border-box; text-align: center; font-family: 'Lora', serif;}
.commoncontact li:nth-of-type(1) {width: 25%; font-size: 20px;}
.commoncontact li:nth-of-type(2),
.commoncontact li:nth-of-type(3),
.commoncontact li:nth-of-type(4) {width: 37.5%; font-size: 23px;}
.commoncontact li p{
 background-color: #e4e5e5;
 height: 200px;
 padding-top: 80px;
 box-sizing: border-box;
}
.commoncontact li img {width: 40px; vertical-align: middle;}
.commoncontact li a{
 background-color: #7e807c;
 height: 200px;
 display: block;
 color: #FFF;
 padding-top: 80px;
 box-sizing: border-box;
 transition:background-color .3s;
}
.commoncontact li a:hover{background-color:#090a09;transition:background-color .3s;}
.commoncontact li:nth-of-type(4) img {width: 30px; vertical-align: top;}
.commoncontact li:nth-of-type(4) span {display: inline-block; padding-top: 0px;}


.course {
  display: flex;
}

.courseL {
	background-color: #515551;
	width: 28.95%;
	color: #FFF;
	padding-right: 3%;
}
.courseR {
	background-color: #FFF;
	width: 71.05%;
	padding: 80px 7.5%;
	box-sizing: border-box;
}

.sticky {
position: sticky;
top:180px;

}

.stickyTtl {
position: sticky;
top:30px;
z-index: 999999;
}


.courseTtl{
	align-items: center;
    display: flex;
    justify-content: center;
}

.courseTtl .mainTtl{ width: 300px; }
.courseTtl .mainTtl span {font-size: 18px;}
.courseTtl p{ width: calc(100% - 300px); margin-bottom: 25px; font-size: 16px;}

.courseTtl ul {width: calc(100% - 300px); display: flex; align-items: center; text-align: center; border-top: 1px solid #ccc;  border-right: 1px solid #ccc;}
.courseTtl ul li {width: calc(100% / 5); border-bottom: 1px solid #ccc;  border-left: 1px solid #ccc; padding: 15px 5px; box-sizing: border-box; min-height: 100px; font-size: 16px; font-weight: 500; background-color: #FFF;}
.courseTtl ul li span {font-size: 13px;}

.courseTtl ul li:nth-of-type(1),
.courseTtl ul li:nth-of-type(2),
.courseTtl ul li:nth-of-type(3) { padding-top: 30px; }


.courseTtl ul.courseaddtime li {width: 18%;}
.courseTtl ul.courseaddtime li:nth-of-type(4) {width: 20%;}
.courseTtl ul.courseaddtime li:nth-of-type(5) {width: 26%;}

.courseTtl ul.courseaddtime li:nth-of-type(4) span{display: inline-block; font-size: 10px; line-height: 1.2;}
.courseTtl ul.courseaddtime li:nth-of-type(5) span{display: inline-block; font-size: 10px; line-height: 1.2;}

@media all and (max-width: 800px) {
.courseTtl ul.courseaddtime li:nth-of-type(4) span{font-size: 10px;}
.courseTtl ul.courseaddtime li:nth-of-type(5) span{font-size: 10px;}
}
@media all and (max-width: 1220px) {
.experience002 .courseTtl{
	align-items: center;
    display: block;
    justify-content: center;
}
.experience002 .courseTtl ul {width: 100%;}
}


.view.view4 {
	position: inherit;
	bottom: inherit;
	left: inherit;
	width: 100%;
	text-align: right;
}

.view.view4 a {display: inline-block;}

.courseBox {
	align-items: /* center */stretch;
    display: flex;
    justify-content: center;
}
.courseBox li {width: 25%; padding: 0 10px 50px; box-sizing: border-box;}
.courseBox li:nth-of-type(2n) {padding-top: 50px; box-sizing: border-box;}



.courseBox li dt {
	margin:10px 0 15px;
	font-size: 20px;
	line-height: 1.0;
}
.courseBox li dt span{
	font-size: 10px;
	font-family: 'Lora', serif;
	display: inline-block;
	line-height: 1.0;
	background-color: #515551;
	color: #FFF;
	padding: 5px;
	box-sizing: border-box;
	margin-bottom: 5px;
}
.courseBox li dt span.courcelistmin{
	background-color: #FFF;
	color: #515551;
}
.courseBox li dd {font-size: 14px; margin-bottom: 15px;}
.courseBox p {
	text-align: right;
	font-size: 13px;
	font-family: 'Lora', serif;
	position: relative;
	padding-right: 20px;
	box-sizing: border-box;
}

.courseBox p:before,
.courseBox p:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.courseBox p:before{
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 1px solid #515551;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.courseBox p:after{
	right: 6px;
	width: 5px;
	height: 5px;
	border-top: 1px solid #515551;
	border-right: 1px solid #515551;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.courseBox figure {
	width: 100%;
	padding-top: 81.25%;
	position: relative;
	overflow: hidden;

}

.newsBox {border-top: 1px solid #eee;}
.newsBox li{
padding: 20px;
border-bottom: 1px solid #eee;
box-sizing: border-box;
}

.newsBox li dl{
	align-items: /* center */stretch;
    display: flex;
    justify-content: center;
}

.newsBox li dt{
	width: 100px;
}
.newsBox li dd{
	width: calc(100% - 100px);
}

.courcetopimg {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 1;
	overflow: hidden;
	margin-bottom: 30px;
	margin-top: 20px;
}


/* **********************************************************************************************
[7]subContainer
************************************************************************************************ */
/* common
---------------------------------------------- */
#sub #topContent {height: auto;}

#submainbox {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
}
#submainbox div {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left:0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#submainbox figure {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
}
#submainbox figure img {
filter: grayscale(100%);
}
#submainbox h2 {
	position: relative;
	width: 100%;
	font-family: 'Lora', serif;
	font-size: 30px;
	text-align: center;
	color: #FFF;
	line-height: 1.0;
	padding-top: 50px;
	box-sizing: border-box;
}

#submainbox h2 span{
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
	text-align: center;
	display: inline-block;
}

.bgBlack {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	opacity 1;
	transition:opacity .3s;
}

.information001 figure.bginformation001 {
	position: relative;
	width: 60%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	left: 40%;
}

.information001 figure.bginformation001 img{
	opacity: 0.6;
}
.aboutTxt2 {
	position: absolute;
	top:0;
	left:7.5%;
	width: 50%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.aboutTxt2 p {
	font-size: 16px;
	line-height: 2.4;
    width: 100%;
}

@media all and (max-width: 1045px) {
.information001 figure.bginformation001 {
	position: relative;
	width: 95%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	left: 5%;
}
.aboutTxt2 {
	position: relative;
	top: 30px;
	left:0px;
	width: 80%;
	margin: 0 auto;
	height: auto;
	display: block;
	align-items: end;
	justify-content: center;
}

}

.staffBox {
	display: flex;
	align-items: center;
	justify-content: center;
}
.staffBox ul{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 5px;
}
.staffBox li{width: 25%; padding: 1px; box-sizing: border-box; position: relative;}
.staffBox li li{width: calc(100% / 3); padding: 1px; box-sizing: border-box; position: relative;}

.staffBox li a {color: #FFF;}
.staffBox li figure.staffImg {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow:hidden;
	margin-bottom: 5px;
}
.staffBox li li figure {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow:hidden;
}

.staffBox li figure.staffImg img {
	opacity: 0.8;
}

.staffBtn {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.staffBtn dl {text-align: center;}
.staffBtn dt {font-size: 20px;}
.staffBtn dt span{font-size: 12px; display: inline-block;}
.staffBtn dd {font-size: 10px; font-family: 'Lora', serif;}


.staffBox li a:hover figure span {opacity:0; transition:opacity .3s;}



.popupbg {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999999999997;
  top: 0;
  left: 0;
  display: none;
  cursor: pointer;
}

.popup_wrapper {
  width: 80vw;
  height: 60vh;
  position: fixed;
  top: 50%;
  left: 50%;
  margin: -30vh 0 0 -40vw;
  z-index: 999999999999;
  text-align: center;
  display: none;
}

@media screen and (orientation: portrait) {
	.popup_wrapper {
	height: 60vw;
	margin: -30vw 0 0 -40vw;
	}
}

.popup_wrapper .popup {
  position: relative;
}
.popup_wrapper .img {
  display: inline-block;
  /* width: 100%;
  height: 100%; */
}

.popup_wrapper .img{
    height: 100% !important;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.popup_wrapper .caption {
  padding: 10px;
  font-size: 14px;
  color: #fff;
}
.popup_wrapper .close_btn {
  line-height: 30px;
  position: absolute;
  right: -5vw;
  top: -15vh;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  color: #fff;
  margin: -15px -15px 0 0;
  font-size: 24px;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  background-color: #000;
}

@media screen and (orientation: portrait) {
	.popup_wrapper .close_btn {
  	right: 0;
  	top: 0;
  	
	}
}

.listTable li{ padding: 10px; box-sizing: border-box;}

.listTable dl { display: flex;
	align-items: start;
	justify-content: center;
}
.listTable dl {font-size: 15px;}
.listTable dt {width: 120px;}
.listTable dd {width: calc(100% - 120px);}


.ggmap {
position: relative;
width: 100%;
padding-top: 35%;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.layout {
	display: flex;
	align-items: start;
	justify-content: center;
	flex-direction: row-reverse;
}

.layoutL {width: 200px; font-family: 'Lora', serif;}
.layoutR {width: calc(100% - 200px);}

.layoutL h3 {font-size: 20px; margin-bottom: 20px;}
.layoutL ul li a{ padding: 8px 0;}

.winnerBox {
	display: flex;
	align-items: start;
	justify-content: center;
	padding: 0 10px 20px;
	box-sizing: border-box;

}
.winner3 {width: 45%;}
.winner2 {width: 55%;}
.winnerBox.winnerBoxDetail {flex-wrap: wrap;}
.winnerBox.winnerBoxDetail .winner3 {width: 100%;}
.winnerBox.winnerBoxDetail .winner2 {width: 100%;}

.winner2 li {float: left; width: 33.333%; padding: 0 5px 5px; box-sizing: border-box;}
.winner2 li:nth-of-type(4) {clear:both;}

.winner3 li {width: 100%; padding-right: 15px; box-sizing: border-box;}

.winner2 h3 {font-size: 18px; margin-bottom: 5px; color: #808080;}
.winner3 h3 {font-size: 18px; margin-bottom: 5px;  color: #ac914a;}


.winner2 li p {font-size: 13px; margin-bottom: 10px; text-align: center;}
.winner3 h3 .winnername {display: inline-block; font-size: 16px; padding-left: 5px; box-sziing: border-box; color: #000;}
.winner2 li p span{display: inline-block; font-size: 11px;}
.winner3 h3 .winnername span{display: inline-block; font-size: 11px;}

.winner2 li figure,
.winner3 li figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 3; 
	display: block;
	margin-bottom: 5px;
}


.winnerPost {
	padding-bottom: 20px;
	box-sizing: border-box;
	margin-bottom: 20px;

}

.winnerPost h2,
.newsPost h2{font-family: 'Lora', serif; font-size: 13px; margin-bottom: 10px; position: relative;}

.winnerPost h2 span,
.newsPost h2 span { display: inline-block; background-color: #FFF; position: relative; padding-right: 20px;}
.winnerPost h2:before,
.newsPost h2:before {
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	background-color: #000;
	height: 1px;
	width: 100%;
	content:"";
	margin: auto 0;
}
@media all and (max-width: 1240px) {
.winnerBox {display: block;}
.winner3 {width: 100%; margin-bottom: 20px;}
.winner2 {width: 100%;}
.winner3 li {padding-right: 0px;}
}

.newsTxtBox {
	display: flex;
	margin-bottom: 40px;
	position: relative;
}


.pager {
	text-align: center;
	margin: 4.5rem auto;
	padding-bottom: 7.5rem;
}
.newsDImg {width: 170px;}
.newsDTxt {width: calc(100% - 200px); margin-left: 30px; font-size: 12px;}
.newsDTxt .view {position: absolute; bottom:0; right:0;}

.pager1 {
	text-align: center;
	margin: 4.5rem auto;
	/* max-width: 1080px; */
	border-top: 1px dashed #ccc;
	padding-top: 4.5rem;
	padding-bottom: 7.5rem;
}
.pager1 span,
.pager span,
.pager a{
	background-color: #7e807c;
	color: #fff;
	cursor: pointer;
	padding: 5px 8px;
	font-size: 12px;
	letter-spacing: 0.5px;
	text-decoration:none;
	transition: background-color .3s, color .3s;
}

.pager span.next,
.pager1 span.next {float: right;}

.pager span.prev,
.pager1 span.prev {float: left;}


.pager span:hover,.pager1 span:hover,.pager a:hover{
	background-color: #000;
	color: #FFF;
	transition: background-color .3s, color .3s;
}

.pager.clearfix:after,
.pager1.clearfix:after,
.companyBox li dl.clearfix:after,
.privacyBox dl.clearfix:after,
.commonBox .blogTxt p:after,
.bloglist dl.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.pager.clearfix,
.pager1.clearfix,
.companyBox li dl.clearfix,
.privacyBox dl.clearfix,
.commonBox .blogTxt p,
.bloglist dl.clearfix { min-height: 1px; }
* html .pager.clearfix,
* html .pager1.clearfix,
* html .companyBox li dl.clearfix,
* html .privacyBox dl.clearfix,
* html .commonBox .blogTxt p,
* html .bloglist dl.clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}


.contactSubP {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Lora', serif;
	margin-bottom: 20px;
}


.contactSubP dt{
	width: 120px;
	font-size: 20px;
}
.contactSubP dd{
	width: calc(100% - 120px);
	font-size: 40px;
}

.contactOpen {
	border: 1px solid #CCC;
	padding: 20px;
	box-sizing: border-box;
	display: flex;
	align-items: start;
	justify-content: center;
	max-width: 400px;
}

.contactOpen dt {width: 80px;}
.contactOpen dd {width: calc(100% - 80px); border-left: 1px solid #ccc; padding-left: 20px;}

.mailTxt {margin-bottom: 30px;}
.mailTxt span {display: inline-block; padding-top: 20px; font-size: 12px;}

.listTable2 {border-top: 1px solid #ccc; margin-bottom: 20px; }
.listTable2 li{ padding: 20px; box-sizing: border-box; border-bottom: 1px solid #ccc;}

.listTable2 dl { display: flex;
	align-items: start;
	justify-content: center;
}
.listTable2 dl {font-size: 15px;}
.listTable2 dt {width: 200px;}
.listTable2 dt span {display: inline-block; font-size: 12px; color: #F00;}
.listTable2 dd {width: calc(100% - 200px);}

.mailTtl {font-size: 20px;}
.experience001 .courseBox,
.other001 .courseBox {margin-top: 30px;}
.experience001 .courseBox li,
.other001 .courseBox li {padding: 0 10px 0px;}
.experience001 .courseBox li:nth-of-type(2n),
.other001 .courseBox li:nth-of-type(2n) {padding-top: 0px;}
.experience001 .courseBox li dt,
.other001 .courseBox li dt {font-size: 16px;}
.experience001 .courseBox li dd,
.other001 .courseBox li dd {font-size: 12px;}
.experience001 .courseBox li dd.pricecourselist,
.other001 .courseBox li dd.pricecourselist {margin-top: 20px; text-align: center; font-size: 16px;}

.courseMainTtl {font-size: 20px; text-align: center; margin-bottom: 20px;}
.courseMainTxt {font-size: 16px; text-align: center;}

.cousedetail {
	display: flex;
	align-items: start;
	justify-content: center;
	margin-bottom: 30px;
}

.cousedetail figure {width: 480px; position: relative; overflow: hidden; aspect-ratio: 4 / 3;}
.cousedetail div {width: calc(100% - 480px); padding: 30px; box-sizing: border-box;}
.cousedetail div h3 {margin-bottom: 40px; font-size: 18px; text-align: justify;}
.cousedetail div h3.subcourseTtl2 {margin-bottom: 40px; margin-top:40px;}
.cousedetail div h3.subcourseTtl {margin-top: 20px;}
.cousedetail div p {margin-bottom: 40px;}
.cousedetail dl dt {display: inline-block; font-size: 14px; margin-right: 20px; vertical-align: top;}
.cousedetail dl dd {display: inline-block; font-size: 16px; vertical-align: top; line-height: 1.2;}
.cousedetail dl dd span {display: inline-block; font-size: 12px;}

.courseDetailImg {
	display: flex;
	align-items: start;
	justify-content: center;
}

.courseDetailImg li{width: 50%; box-sizing: border-box;}
.courseDetailImg li:nth-of-type(1) {padding: 5px 2px 5px 0;}
.courseDetailImg li:nth-of-type(2) {padding: 5px 0px 5px 2px;}
.courseDetailImg li figure {
	position: relative;
	width: 100%;
	aspect-ratio: 48 / 39;
	overflow: hidden;
}

.memberBox {
	display: flex;
	align-items: start;
	justify-content: center;
}

.memberBox li{ width: 33.33%; padding: 20px; box-sizing: border-box;}
.memberBox li dt {position: relative;}
.memberBox li dt .memberBoxEn {display: inline-block; background-color: #FFF; position: relative; padding-right: 20px;}
.memberBox li dt .memberBoxEn span {display: inline-block; font-size: 18px;}

.memberBox li dt:before {
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	margin: auto 0;
	background-color: #000;
	height: 1px;
	width: 100%;
	content:"";
}

.memberBox li dd {padding: 10px; box-sizing: border-box; line-height: 2.0; text-align: justify; text-align-last: left;}

.pricetable {
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	width: 100%;
	background-color: #FFF;
}

.pricetable th,
.pricetable td {
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 10px;
	box-sizing: border-box;
}

.pricetable tr:nth-of-type(1) th {background-color: #eee; text-align: center;}

.pricetable th {font-weight: 700; vertical-align: middle;}
.pricetable td {text-align: center; vertical-align: middle;}
.pricetable td span,
.pricetable th span{display: block; font-size: 12px;}

.cousedelist {margin-bottom: 30px;}

.cousedelist li {
	position: relative;
	padding-left: 15px;
}

.cousedelist li span{
	display: inline-block;
	font-size: 12px;
}

.cousedelist li:before {
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	content:"・";
}

.cousedelist li div {
	display: flex;
	align-items: start;
	justify-content: center;
	width: 100%;
	font-size: 10px;
	padding: 0;
	max-width: 624px;
}

.cousedelist li div p{
	width: 16.66%;
	padding: 2px;
	box-sizing: border-box;
	text-align: center;
}
.cousedetail div .cousedelist li div p {margin-bottom: 0;}
.cousedetail div h3.subcourseTtl {margin-bottom: 5px; font-size: 15px;}

.cousedetail div.nendo {width: 100%; padding: 0px; box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cousedetail div.nendo img {width: 100px;}
.cousedetail div.nendo dl {width: calc(100% - 100px); padding-left: 20px; box-sizing: border-box;}


@media all and (max-width: 990px) {
.cousedetail {
	display: block;
	align-items: start;
	justify-content: center;
	margin-bottom: 30px;
}

.cousedetail figure {/* width: 480px; */ width: 100%;}
.cousedetail div {width: 100%;}

}

.pricetable.scheduleBox tr:nth-of-type(1) th {font-family: 'Lora', serif;}
.pricetable.scheduleBox td {position: relative; height: 100px;}

.pricetable.scheduleBox td .day {
font-family: 'Lora', serif;
display: inline-block;
position: absolute;
top:5px;
left: 5px;
}

.pricetable.scheduleBox th.sun { color: #F00; }
.pricetable.scheduleBox td.sun { background-color: #fafafa; }
.pricetable.scheduleBox td.today {background-color: #eee;}
.pricetable.scheduleBox td.close { background-color: #7e807c; color: #FFF; }


.addabouttext li {
	display: flex;
	align-items: center;
	margin: 30px 0;
}

.addabouttext li:nth-of-type(2n) {
	flex-direction:row-reverse
}

.addabouttext li div {
	max-width: 640px;
	width: 40%;
}

.addabouttext li p span{
	display: block;
	font-size: 18px;
	font-weight: 700;

}
.addabouttext li p {
	/* max-width: calc(100% - 670px); */
	width: calc(60% - 30px);
}

.addabouttext li:nth-of-type(2n) p {
	margin-right: 30px;
}
.addabouttext li:nth-of-type(2n-1) p {
	margin-left: 30px;
}

.information001 div figure,
.curriculum002 div figure {
	position: relative;
	width: 100%;
	min-height: 250px;
	aspect-ratio: 64 / 30;
	overflow: hidden;
}

.aboutnend {
	margin-top: 40px;

}
.aboutnend p span {font-size: 13px;}


.atentionadd {margin-top: 40px;}
.curriculum001 .atentionadd {text-align: center;}
.table-scroll2 .atentionadd {margin-top: 0px;}

#itempage form {display: flex;}
#itempage .itemimg img {
width: auto;
height: auto;
max-width: 360px;
max-height: 360px;
}

#itempage .itemimg {margin-right: 40px;}
#itempage .itemdetail {width: calc(100% - 400px);}

.itemDetailTxt {margin: 40px auto; width: 100%;}

#itempage h3,
#itempage .assistance_item h3 {
	/* height: 18px; */
	margin-bottom:20px;
	/* margin-left: 210px; */
	padding: 3px 5px;
	/* background-color: #999999;
	color: #FFFFFF; */
	background-color: #FFF;
	color: #000;
	font-size: 18px;
	line-height: 18px;
	font-weight: 700;
	height: auto;
	margin-left: 0;
}

#itempage h3 span{
	display: inline-block;
	font-size: 13px;
	font-family: 'Lora', serif;
	font-weight: 400;
}


/* **********************************************************************************************
[8]other
************************************************************************************************ */
/* common
----------------------------------------------- */
.winner li figure img,
.winner2 li figure img,
.winner3 li figure img,
.courseBox figure img,
#submainbox figure img,
.information001 figure.bginformation001 img,
.staffBox li figure img,
.addabouttext figure img,
.courcetopimg img,
.courseDetailImg li figure img,
.cousedetail figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.winner li figure img {
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}

.winner li a:hover figure img:nth-of-type(2) {
	top: 0%; /* 下100% */
  	opacity: 0;
}

.subBnrBox li div figure img {
	object-position: 50% 0%;
	font-family: 'object-fit: cover; object-position: 50% 0%;'
}
/* .winner li figure img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
    -moz-transition: -moz-transform 0.3s linear;
    -webkit-transition: -webkit-transform 0.3s linear;
    -o-transition: -o-transform 0.3s linear;
    -ms-transition: -ms-transform 0.3s linear;
    transition: transform 0.3s linear;	
}

.winner li figure:hover img{
    -webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    -o-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02);
} */



header h1 a:hover,
footer a:hover,
.followus dd a:hover,
.headerMainNav li.gnavBtn li a:hover,
.nav002 li a:hover img,
.section-lineup .lineup-carousel li a:hover,
.products li a:hover,
.courseBox li a:hover {opacity:0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )";}


/* swipe 
------------------------------------------------------- */
.swiper-container {
	position: relative;
	padding: 0 200px 0px;
	box-sizing: border-box;
}
.swiper-wrapper {position: relative;}
.swiper-wrapper li {
	box-sizing: border-box;
	padding: 0 5px;
}
.swiper-wrapper li a{
	color: #000;
	font-weight: 300;
	display: block;
	position: relative;
	font-size: 14px;
}
.swiper-wrapper li dt {float: left; font-size: 12px; width: 70px; color: #959595;font-weight: 300;}
.swiper-wrapper li dd {float: left; width: calc(100% - 70px);}

.slick-counter,
.total2,
.total {display: none;}
.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	z-index: 99999999;
	cursor: pointer;
	display:  block;
	background-position: center center;
	background-size: 11px 16px;
	margin-top: -15px;
}
.swiper-button-prev {
	left: -70px;
	background-image: url(images/icon-prev.png);
}
.swiper-button-next {
	right: -70px;
	background-image: url(images/icon-next.png);
}

.swiper-wrapper li a:hover {opacity:0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )";}


/* form
----------------------------------------------- */
input[type=text],textarea,input[type=password] {
	background-color: #fff;
	padding: 8px;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #ddd;
}
input.boxShort,input.box60 {width: 10%;}
input.box120 {width: 20%;}
input.box140 {width: 40%;}
input.boxMiddle,input.box380,input.box300 {width: 70%;}
input.boxLong {width: 100%;}
.box95,textarea.box380 {width: 100%;}
input[type=checkbox] {width: 25px; height: 25px; background-color: #fff; }
input[type=radio] {width: 25px; height: 25px; background-color: #fff; vertical-align:middle;}
.vertical-align input{
	vertical-align:middle;
}
select {
	-webkit-appearance:none;
	-moz-appearance:none;
	text-indent: .01px;
	text-overflow: "";
	appearance:none;
	width: auto;
	height: 40px;
	padding: 5px 20px 5px 5px;
	background-color: #fff;
	background-image: url(images/select.png);
	background-repeat: no-repeat;
	background-size: 6px 9px;
	background-position: right 5px center;
	cursor: pointer;
	border: 1px solid #ddd;
	margin: 0 5px 5px 0;
}
.detailshopping select { width: 150px; }
.selectV select {width: 20%;}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	select:not(:target) {
		padding-right:0;
		background-image: none;
	}
}


/* font 
----------------------------------------------- */
.f10 { font-size: 10px; }
.f11 { font-size: 11px; }
.f12 { font-size: 12px; }
.f13 { font-size: 13px; }
.f14 { font-size: 14px; }
.f15 { font-size: 15px; }
.f16 { font-size: 16px; }
.f17 { font-size: 17px; }
.f18 { font-size: 18px; }
.f19 { font-size: 19px; }
.f20 { font-size: 20px; }
.f25 { font-size: 25px; }
.f30 { font-size: 30px; }
.f35 { font-size: 35px; }
.f40 { font-size: 40px; }
.f45 { font-size: 45px; }
.f50 { font-size: 50px; }
.f55 { font-size: 55px; }
.f60 { font-size: 60px; }
.f65 { font-size: 65px; }
.f70 { font-size: 70px; }
.txtC,.alignC { text-align: center; }
.txtR,.alignR { text-align: right; }
.txtL,.alignL { text-align: left; }
a.txtD { text-decoration: underline; color: #000; }

.posiR { position: relative; }
.pb80 { padding: 80px 0;}
.pb80t { padding-top: 80px; padding-bottom: 0; }
.pb80b { padding-bottom: 80px; padding-top: 0; }
.pb60 { padding: 60px 0;}
.pb30 { padding: 30px 0;}
.mb30 { margin-bottom: 30px; }
.mb10 { margin-bottom: 10px; }
.mt10 { margin-top: 10px; }
.gryTxt { color: #a0a0a0; }
.borderB { border-bottom: 1px dashed #e5e5e5; }
.borderR { border-right: 1px dashed #e5e5e5; }
.borderL { border-left: 1px dashed #e5e5e5; }
.fontB { font-weight: bold; }

.notoserifjp {font-family: 'Noto Serif JP', serif;}
.lora {font-family: 'Lora', serif;}
.notosansjp {font-family: 'Noto Sans JP', sans-serif;}
.asap {font-family: 'Asap', sans-serif;}
.ubuntu {font-family: 'Ubuntu', sans-serif;}


:hover { transition:background-color .3s, color .3s, opacity .3s;}
.pcno,
.pcno2 { display: none; }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {

#topContent {
	height: auto;
}

#sliderbox {
	height: auto;
}

.video_wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: url(img/video.jpg) no-repeat center center/cover;
}

.video_wrapper video {
  width: 100%;
  height: 100%;
  min-width: auto;
  min-height: auto;
  aspect-ratio: 16 / 9;
  position: absolute;
}



}


@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
