@charset "UTF-8";
/*---------------------------------------------
	Browser Default Initialization
  ---------------------------------------------*/

body, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6, div,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address, footer,
figure, figcaption {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
q:before ,q:after {
	content: '';
}
object, embed {
	vertical-align: top;
}
hr, legend {
	display: none;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
img, abbr, acronym, fieldset {
	border: 0;
}
img {
	max-width: 100%;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}
ul li {
	list-style-type: none;
}


/*---------------------------------------------
	body
  ---------------------------------------------*/

body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #111;
	font-size: 17px;
	line-height: 1.7;
	text-align: left;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
  background-color: #FFEFFB;
}
input, textarea {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/*---------------------------------------------
	Anchor
  ---------------------------------------------*/

a {
	outline: none medium;
	text-decoration: none;
	color: #3a7700;
}
a:hover {
	text-decoration: none;
	color: #c0c0c0;
}
.shop-img a img:hover {
    opacity: 0.6;
}

/*---------------------------------------------
	Other
  ---------------------------------------------*/

.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }

.small { font-size:75% !important; line-height:140% !important; }
.large { font-size:125% !important; }
.red { color:#CC0000; }
.gray { color:#aaa; }
.green { color:#A4BD62; }
.blue { color:#2c8691; }
.brown { color:#CB963E; }

.fs10 { font-size:10px; }
.fs11 { font-size:11px; }
.fs12 { font-size:12px; }
.fs14 { font-size:14px; }
.fs15 { font-size:15px; }
.fs16 { font-size:16px; }
.fs18 { font-size:18px; }
.fs20 { font-size:20px; }
.fs22 { font-size:22px; }
.fs24 { font-size:24px; }

.mb0 { margin-bottom:0 !important; }
.mb5 { margin-bottom:5px !important; }
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom:10px !important; }
.mb20 { margin-bottom:20px !important; }
.mt5 { margin-top:5px !important; }
.mt10 { margin-top:10px !important; }
.mr5 { margin-right:5px !important; }
.mr10 { margin-right:10px !important; }
.mr15 { margin-right:15px !important; }
.ml5 { margin-left:5px !important; }
.ml10 { margin-left:10px !important; }
.ml15 { margin-left:15px !important; }

.pb0 { padding-bottom:0 !important; }
.pb5 { padding-bottom:5px !important; }
.pb10 { padding-bottom:10px !important; }
.pb15 { padding-bottom:15px !important; }
.pb20 { padding-bottom:20px !important; }

.lh2 {
	line-height: 2.0;
}

.bg-gy {
  background-color: #f5f6f8 !important;
}

/*---------------------------------------------
	Style
  ---------------------------------------------*/

#wrapper {
  width: 100%;
	max-width: 1200px;
  margin: 0 auto;
}
#home header {}
#header {}
.main-img {
	padding-bottom: 40px;
	text-align: center;
}
.header-img {
	text-align: center;
}
.header-inner {
	width: 100%;
	margin: 0 auto;
	padding: 2em 1em;
	text-align: center;
}
.header-inner h1 {
	font-size: 32px;
	font-weight: bold;
	color: #e3471a;
}
.header-inner p {
	font-size: 28px;
}

#contents {}
#contents h2 {
	margin-bottom: 20px;
	font-size: 23px;
	font-weight: bold;
	border-bottom: 1px #aaa solid;
}
#contents h2:before {
	content:"";
	display: inline-block;
	vertical-align:text-top;
	width: 0.3em;
	height: 1.2em;
	margin-right: 10px;
	background-color: #DA7489;
}
#contents h3 {
	font-size: 18px;
  font-weight: bold;
	color: #0C68AC;
}
#contents p {
	padding-top: 10px;
}
#contents p.date {
	font-size: 28px;
}
.contents-block {
	padding: 0 0 40px;
}

.contents-box {
	width: 100%;
	margin: 0 auto;
	padding: 30px;
	border-radius: 5px;
	background-color: #fff;
}
.contents-box .img {
	padding-bottom: 10px;
}
.contents-box.no-bg {
	padding: 10px 30px;
	background-color: #FFEFFB;
}

.course-list {
	display: flex;
	justify-content: space-between;
  flex-flow: wrap;
}
.course-list .course-box {
	width: 48.5%;
  margin-bottom: 20px;
	padding: 0 2% 20px;
  border-bottom: 1px #ccc solid;
	box-sizing: border-box;
  position: relative;
}
.course-list .course-box a {
	display: block;
  color: #333;
}
.course-list .course-box dl {
	display: flex;
}
.course-list .course-box .course-btn {
	display: block;
	width: 100%;
	padding: 8px 8px;
	text-align: center;
	color: #fff;
	font-size: 0.9em;
	background-color: #2ba7f6;
	box-sizing: border-box;
	border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .course-list .course-box .course-btn {
    position: absolute;
    right: 20px;
    bottom: 25px;
    width: 20%;
  }
}
.course-list .course-box:hover .course-btn {
  background-color: #0C68AC;
}

.greeting-box {
	padding: 10px 20px 20px;
}
.greeting-box .img {
  width: 25%;
	padding: 0 30px 20px 0;
  float: left;
}
.greeting-box .ttl {
	font-size: 19px;
  font-weight: bold;
}
.greeting-box .txt {
	padding-top: 20px !important;
}

.movie-box {
	padding: 10px 80px 20px;
	text-align: center;
}
video {
	width: 100%;
}
.info-block {
	display: flex;
	justify-content: space-between;
  flex-flow: wrap;
}
.info-block .info-box {
	width: 70%;
}
.info-block .banner-box {
	width: 28%;
}
.whatsnew {
	width: 100%;
	max-height: 280px;
	padding:0 10px;
	overflow: auto;
	font-size: 16px;
}
.grd {
	width: 100%;
	position: relative;
}
.grd::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: linear-gradient(180deg, rgba(255,255,255,0.01) 0%, rgba(255,255,255,1) 100%);
	z-index: 2;
}
.whatsnew td {
	padding-bottom: 12px;
}

.btn_set {
	/*display: flex;
	justify-content: center;*/
	text-align: center;
	padding-top: 20px;
}
.btn_set li {
	padding: 0 20px;
}
.btn_set a {
	display: inline-block;
	min-width: 200px;
	padding: 12px 18px;
	text-align: center;
	color: #fff;
	border-radius: 8px;
}
.back a {
	margin-top: 20px;
	background-color: #aaa;
}
.que a {
	min-width: 240px;
	font-size: 1.1em;
	background-color: #FF77A4;
}
.que2 a {
	display: block;
	width: 100%;
	margin-top: 5px;
	padding: 12px 18px;
	text-align: center;
	color: #fff;
	font-size: 1.0em;
	background-color: #2ba7f6;
	box-sizing: border-box;
	border-radius: 8px;
}

ul.banner {
	display: flex;
	justify-content: center;
	flex-flow: wrap;
}
ul.banner li {
	width: 31%;
	padding: 10px 0;
}

.shop-box {
	display: flex;
	justify-content: space-between;
  flex-flow: wrap;
	margin-bottom: 20px;
}
.shop-box .shop-img {
	width: 30%;
}
.shop-box .shop-txt {
	width: 68%;
	padding-top: 10px;
}

#footer {
	background-color: #FF77A4;
}
#footer .footer-inner {
	padding: 20px 0;
	text-align: center;
	font-size: 0.8em;
	color: #fff;
}

.page_top {
	position:fixed;
	right:20px;
	bottom:30px;
	width:50px;
	border-radius:10px;
	color:#fff;
	text-align:center;
	font-size: 14px;
	line-height:1.3;
	padding:10px 0 8px;
	cursor:pointer;
	background-color:#FF77A4;
}
.pc {
  display: block;
}
.sp {
  display: none;
}
@media screen and (max-width: 900px) {
  .course-list .course-box .course-btn {
    display: none;
  }
  .contents-box {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .header-inner {
    padding: 1em;
  }
  .course-list .course-box {
    width: 100%;
  }
  .info-block .info-box {
    width: 100%;
  }
  .info-block .banner-box {
    width: 100%;
    text-align: center;
  }
  .greeting-box {
    padding: 0px 10px 20px;
    font-size: 16px;
  }
  .greeting-box .img {
    width: 35%;
    padding: 0 20px 10px 0;
  }
  .greeting-box .ttl {
    font-size: 17px;
  }
  .movie-box {
    padding: 0px 10px 20px;
  }
  .grd::before {
    width: 100%;
    height: 50px;
  }
  .shop-box .shop-img {
    width: 100%;
  }
  .shop-box .shop-txt {
    width: 100%;
    padding-top: 10px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp-no {
    display: none;
  }
}

