@charset "utf-8";

/*
# reset
  ## HTML5 display-role reset for older browsers 
# font
# 一括指定 boxsizing / clearfix / image hover / contents width
  ## boxsizing 
  ## clearfix
  ## image hover
  ## contents width
  ## link block
  ## list reset
# link button
# list
# layout common
  ## footer
  ## loading
  ## navigation
  ## page main image
# title
# table
# label
# page : TOP
# page : inner common
# page : Program 学校向け
# page : company
# page : model plan
# page : contact
# js override
# helper
# root style override
*/

/* # reset
------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)

   fixed
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* ## TML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section { display: block; }

body { line-height: 1; }

blockquote,
q { quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

div,
p,
dl,
dt,
dd,
ol,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
textarea,
table,
tr,
th,
td,
article,
aside,
header,
footer,
section,
nav {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

th,
td { word-break: break-all; }

/*
   # font
------------------------------------------------------- */
body {
	font-family: -apple-system, BlinkMacSystemFont, "Nunito Sans", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif!important;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html { font-size: 62.5%; }

body {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 170%;
}

h1,
h2,
h3,
h4,
h5,
h6 { line-height: 170%; }

a { transition: all 0.3s ease; }

a:link,
a:visited {
	color: #618f1e;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
	opacity: 0.6;
}

a { outline: none; }


/*
   # 一括指定 boxsizing / clearfix / image hover / contents width
------------------------------------------------------- */
body,
.infoList li a { color: #111; }

p { margin-bottom: 20px; }

.Contents { position: relative; }

/* ## boxsizing */
*,
*:before,
item001 *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* ## clearfix */
.clearfix:after,
.navigation:after,
.siteBookingLinks:after,
.listHorizon001:after,
.blockTable001:after,
.listGuideTel:after,
.l-pc:after,
.listPlan:after,
.activityPresent:after,
.skillupFlowSample:after,
.itemCombinationData dl:after,
.blockPlanSchedule__itemDetail:after,
.blockPlanSchedule:after,
.blockPlanSchedule__itemPlaceDescription:after {
	content: "";
	clear: both;
	display: block;
}

/* ## image hover */
.class:hover {
	opacity: 0.7;
	text-decoration: none;
}

/* ## contents width */
.class,
.blockContents {
	width: 800px;
	margin: 0 auto;
	position: relative;
}

/* ## link block */
.block {
	display: block;
	background: url(../images/bg001.png);
}

/* ## list reset */
.ul ul,
.infoList,
.blockContents__imageLinks ul,
.listLinks001,
.listLinks002,
.navigation__slave ul,
.siteBookingLinks,
.itemContents ul .linkAnchorDouble,
.guideTel,
.listGuideCaption,
.listGuideTel,
.listNotes,
.listAnchor,
.listButton,
.dlist001 {
	margin: 0;
	padding: 0;
}

.li,
.infoList,
.blockContents__imageLinks ul,
.listLinks001,
.listLinks002,
.navigation__slave ul,
.siteBookingLinks,
.itemContents ul,
.linkAnchorDouble,
.guideTel,
.listGuideCaption,
.listGuideTel,
.listNotes li,
.listAnchor li,
.listButton li,
.dlist001 dt,
.dlist001 dd { list-style: none; }

.anchorPosition {
	display: inline-block;
	margin-top: -40px;
	padding-top: 40px;
}

/*
  # link button
------------------------------------------------------- */
.Button {
	display: inline-block;
	padding: 10px;
}

a.Button:hover,
.Button:hover {
	text-decoration: none;
	opacity: 0.6;
}

.button001,
a.button001 {
	color: #618f1e;
	border: 3px solid #618f1e;
	border-radius: 50px;
	font-size: 1.8rem;
	padding: 15px 50px;
	min-width: 350px;
	font-weight: bold;
	background: url(../images/icon-button001.png) no-repeat right 10px center;
	margin-bottom: 20px;
}

.button002,
a.button002 {
	display: inline-block;
	border-radius: 50px;
	background: #618f1e;
	color: #fff;
	font-size: 1.8rem;
	padding: 15px 50px;
	min-width: 350px;
	margin-bottom: 20px;
	font-weight: bold;
}


.button003,
a.button003 {
	display: inline-block;
	border-radius: 50px;
	background: #618f1e;
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 20px;
	min-width: 350px;
	margin-bottom: 10px;
}

.button004,
a.button004 {
	display: inline-block;
	border-radius: 50px;
	background: #1F4E79;
	color: #fff;
	font-size: 2.5rem;
	padding: 30px 50px;
	width: 100%;
	margin-bottom: 20px;
	
	letter-spacing: 0.2em;
	font-weight: bold;
}

.button005,
a.button005 {
	display: inline-block;
	border-radius: 50px;
	background: #618f1e;
	color: #fff;
	font-size: 2.5rem;
	padding: 30px 50px;
	width: 100%;;
	margin-bottom: 20px;
	letter-spacing: 0.2em;
	font-weight: bold;
}

.button006,
a.button006 {
	display: inline-block;
	border-radius: 50px;
	background: #618f1e;
	color: #fff;
	font-size: 1.8rem;
	padding: 15px 145px;
	min-width: 350px;
	margin-bottom: 20px;
	font-weight: bold;
}
.button007,
a.button007 {
	color: #618f1e;
	border: 3px solid #618f1e;
	border-radius: 50px;
	font-size: 1.8rem;
	padding: 15px 5px;
	width: 480px;
	font-weight: bold;
	background: url(../images/icon-button001.png) no-repeat right 10px center;
	margin-bottom: 20px;
}
.button008,
a.button008 {
	display: inline-block;
	border-radius: 50px;
	background: #618f1e;
	color: #fff;
	font-size: 1.8rem;
	padding: 15px 5px;
	width: 480px;
	margin-bottom: 20px;
	font-weight: bold;
}


.link001,
a.link001 { color: #fff; }

.link001::before {
	content: ">";
	margin-right: 5px;
	font-size: 0.9rem;
	position: relative;
	top: -3px;
}

.link002,
a.link002,
.linkPdf,
a.linkPdf { }

.link002::before,
a.linkPdf::before,
.listPlan__block003 li a::before {
	content: ">";
	margin-right: 5px;
	font-size: 0.9rem;
	position: relative;
	top: -3px;
}

.linkPdf,
a.linkPdf,
.listPlan__block003 li a {
	display: inline-block;
	margin-left: 1em;
	text-indent: -1em;
}

.linkInline,
a.linkInline { text-decoration: underline; }

.listAnchor {
	padding: 20px 20px 0;
	text-align: center;
	background: rgba(255, 255, 255, 0.5);
}

.listAnchor li {
	display: inline-block;
	margin: 0 10px 20px;
}

.listAnchor li a:before {
	content: "v";
	margin-right: 5px;
	font-size: 0.9rem;
	position: relative;
	top: -3px;
}

.linkAnchorVertical {
	padding: 20px;
	text-align: center;
	margin-bottom: 40px;
}

.linkAnchorVertical li {
	margin: 0 20px 20px;
}

.linkAnchorDouble {
	padding: 20px;
	text-align: center;
}

.linkAnchorDouble li {
	display: inline-block;
	margin: 0 20px 20px;
}

.linkAnchorDouble li a:before,
.linkAnchorVertical li a:before {
	content: "v";
	margin-right: 5px;
	font-size: 0.9rem;
	position: relative;
	top: -3px;
}

/*
  # list
------------------------------------------------------- */
.inlineList { text-align: center; }

.inlineList li { display: inline-block; }

.listLinks001 li::before {
	content: ">";
	color: #2b6861;
	margin-right: 5px;
	font-size: 0.9rem;
	position: relative;
	top: -3px;
}

.listLinks002 {
	font-weight: bold;
	font-size: 2.0rem;
}

.listLinks002 li + li { margin-top: 10px; }

.listHorizon001 { margin-bottom: 20px; }

.listHorizon001 dt,
.listHorizon001 dd { margin-bottom: 10px; }

.listHorizon001 dt {
	float: left;
	width: 30%;
}

.listHorizon001 dd {
	float: left;
	width: 70%;
}

ul.listItem {
	margin-bottom: 30px;
	font-size: 1.3rem;
}

.listNotes { margin-bottom: 20px; }

.listNotes li,
.notes,
.notesInline { font-size: 1.3rem; }

.notes {
	text-indent: -1em;
	margin-left: 1em;
	display: block;
}

.l-listHorizontal li {
	display: inline-block;
}

.l-listVertical li {
	display: block;
}

/*
  # layout common
------------------------------------------------------- */
/*
 #c29f84
 #585858
 #B50003
*/

.Container { position: relative; }

.siteTitle { display: none; }

.blockContents,
.blockBooking,
.blockContentsAnchor {
	padding: 40px 10px;
	text-align: center;
}

.itemContents {
	text-align: left;
	margin-bottom: 40px;
}

.blockContentsCaption {
	background: #f7f7f7;
	padding: 20px;
	font-size: 1.3rem;
}

.blockContents::after {
	content: url(../images/icon-border.png);
	display: block;
	width: 148px;
	height: 16px;
	margin: 60px auto 0;
}

.blockContents__image { margin-top: 20px; }

.blockContents__image img { max-width: 100%; }

.blockBooking {
	background: #81ac41;
	color: #fff;
}

.blockBooking a { color: #fff; }

.blockBooking p {
	width: 810px;
	margin-left: auto;
	margin-right: auto;
}

.blockItemProgram,
.blockItemPrice {
	background: #fff;
	border: 3px solid #81ac41;
	padding: 20px;
	text-align: left;
	margin-bottom: 40px;
	font-size: 1.5rem;
}

.blockItemProgram__title,
.blockItemPrice__title {
	font-size: 2.0rem;
	color: #81ac41;
	margin-bottom: 10px;
}

.blockItemProgram p:last-child,
.blockItemPrice p:last-child,
ul.listNotes:last-child { margin-bottom: 0; }

.blockItemProgram__content,
.blockItemPrice__content { margin-left: 1.5em; }

/* footer */
.footer {
	margin: 20px auto;
}

.footerLinks,
.footerLinksGlobalContents {
	margin: 30px 0;
	font-weight: bold;
}

.footerLinksGlobalContents li {
	display: inline-block;
	margin: 0 20px;
}

.aroundLinks li {
	display: block;
	margin: 20px auto 0;
}

/* PC時リンク無効 */
.footerLinksTel:hover,
.footerLinksFax:hover {
	opacity: 1;
	cursor: default;
}

/* ## loading */
.loaderBg {
	/*
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 1000;
	*/
	display: none;
}

.loader {
	/*
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	z-index: 2000;
	color: #ccc;
	background: url(../images/loading.gif) no-repeat center top;
	*/
	display: none;
}

/* ## navigation */
.navigation {
	width: 100%;
	height: auto;
	background: rgba(255, 255, 255, 0.9);
	top: 0;
	z-index: 10;
	font-size: 2.0rem;
}

.navigation.isScrollActive {
	position: fixed;
	overflow: hidden;
}

.navigation a {
	color: #fff;
	display: block;
	width: 100%;
}

.navigation a:hover,
.navigation a:active,
.navigation a:focus { text-decoration: none; }

.navigation > li a { display: block; }

.navigation__master,
.navigation__slave { width: 100%; }

.navigation__master ul,
.navigation__slave ul {
	width: 900px;
	margin: 0 auto;
}

.navigation__master ul {
	position: relative;
	text-align: center;
	width: 830px;
	padding-bottom: 5px;
	display: table;
}
 @keyframes isActive {
 from {
 opacity: 0;
}
 to {
 opacity: 1;
}
}

.navigation__master li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	line-height: 120%;
}

.navigation__master li a {
	opacity: 1;
	color: #111;
	padding: 20px 19px;
}

.navigation__master li a:after {
	content: "";
	width: 0;
	margin-top: 40px;
	border-top: 2px solid #81ac41;
	display: block;
	margin: 0px auto 0;
	transition: all 0.3s ease;
	position: relative;
	top: 4px;
}

.navigation__master li a.scrollActive { padding: 5px 19px; }

.navigation__master li a:hover:after,
#index .navigation__master li.item000 a:after,
#school .navigation__master li.item001 a:after,
#company .navigation__master li.item002 a:after,
#association .navigation__master li.item003 a:after,
#contact .navigation__master li.item004 a:after {
	content: "";
	width: 40px;
	border-top: 2px solid #81ac41;
	display: block;
	margin: 0px auto 0;
	transition: all 0.3s ease;
	position: relative;
	top: 4px;
}

.navigation__master > ul > li.isActive { font-weight: bold; }

.navigation__master li.isActive a::before {
	content: "v ";
	font-weight: normal;
}

.navigation li ul li { border: none; }

.navigation li ul li a,
.navigation__slaveNoLink {
	padding: 10px 20px;
	font-weight: normal;
	border: none;
}

.navigation__master li.isActive ul li a::before { content: "- "; }

.navigation__master ul li ul { padding-bottom: 10px; }

.navigationButton {
	display: inline-block;
	height: 24px;
	cursor: pointer;
	z-index: 60;
	position: absolute;
	top: 7px;
	left: 6px;
}

.navigationButton.isScrollActive { position: fixed; }

.navigationButton span {
	display: block;
	height: 3px;
	width: 20px;
	background-color: #fff;
	margin: 4px 6px;
	border-radius: 2px;
	transition: all 300ms 0s ease;
}

.navigationButton.isActive span:nth-of-type(1) {
	-webkit-transform: translateY(4px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}

.navigationButton.isActive span:nth-of-type(2) { opacity: 0; }

.navigationButton.isActive span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

.navigation__slave {
	position: fixed;
	font-size: 1.4rem;
	left: 0;
	padding-left: 60px;
	display: none;
	box-sizing: border-box;
	background: rgba(192, 159, 132, 0.65);
	z-index: 1;
}

.navigation__slave a,
.navigation__slaveNoLink {
	color: #fff;
	padding: 5px 0;
}

.navigation__slave.isActive {
	display: block;
	animation: isActive .5s linear 0s;
}

.navigation__slave ul { display: none; }

.navigation__slave ul.isActive {
	display: block;
	animation: isActive .5s linear 0s;
}

.navigation__slave li { float: left; }

.navigation__slave li + li { margin-left: 30px; }

.navigation li:hover .navigation__slave {
	visibility: visible;
	opacity: 1;
}

.listButton li {
	display: inline-block;
	margin: 0 20px;
}

/* ## page main image */
.photoSlide { position: relative; }

.photoSlide__cover {
	position: absolute;
	bottom: 0;
	z-index: 100;
	width: 100%;
}

.photoSlide__cover img { width: 100%; }

.mainImage {
	position: relative;
	width: 100%;
	padding-top: 0;
}

.mainImage img { width: 100%; }

.mainImage.home { background-position: center bottom; }

.boxCenter { text-align: center; }

.boxCenter p { text-align: left; }

/*
  # title
------------------------------------------------------- */
.title000 {
	color: #81ac41;
	text-align: center;
	line-height: 140%;
	margin-bottom: 60px;
	font-size: 5.0rem;
	letter-spacing: 0.05em;
	font-weight: bold;
}

.title000 span{
	font-size:70%;
	letter-spacing: 0.05em;
	font-weight: 400;
}

.title001 {
	color: #81ac41;
	text-align: center;
	line-height: 140%;
	margin-bottom: 30px;
	font-size: 4.0rem;
	letter-spacing: 0.2em;
	font-weight: bold;
}

.title001 span{
	font-size:70%;
	letter-spacing: 0.1em;
}

.title001__caption {
	font-weight: normal;
	font-size: 2.0rem;
}

.title001 .caption {
	font-size: 1.8rem;
	margin-left: 10px;
}

.title002 {
	color: #81ac41;
	margin-bottom: 20px;
	line-height: 140%;
	font-size: 2.6rem;
	letter-spacing: 0.2em;
}

.title002 .caption {
	font-size: 1.8rem;
	margin-left: 10px;
}

.title003,
.title003--b {
	text-align: center;
	font-size: 4.0rem;
	margin-bottom: 10px;
	font-weight: bold;
}

.title001--b,
.title003--b {
	color: #fff;
	font-weight: bold;
}

.title004 {
	color: #81ac41;
	line-height: 140%;
	font-size: 2.2rem;
	letter-spacing: 0.2em;
	font-weight: bold;
}

.title005 {
	color: #81ac41;
	line-height: 140%;
	font-size: 2.0rem;
	font-weight: bold;
}

.title006 {
	color: #81ac41;
	line-height: 140%;
	font-size: 2.8rem;
	letter-spacing: 0.2em;
	font-weight: bold;
}

.strong001 {
	color: #81ac41;
	font-weight: bold;
}

.strong002 {
	color: #FF4A57;
	font-weight: bold;
}

/*
  # table
------------------------------------------------------- */
.table001 {
	border: 1px solid #81ac41;
	margin-bottom: 10px;
	width: 100%;
	background: #fff;
	table-layout: fixed;
}

.table001 th,
.table001 td {
	border: 1px solid #81ac41;
	padding: 10px;
	line-height: 120%;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
}

.table001 th {
	background: #92bd50;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}

.table001Caption { font-size: 1.3rem; }

.titleTable001 {
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 2.0rem;
}

.titleTable001__caption {
	font-size: 1.3rem;
	font-weight: normal;
}

.table002 {
	border: 1px solid #81ac41;
	margin-bottom: 10px;
	width: 100%;
	background: #fff;
	table-layout: fixed;
}

.table002 th,
.table002 td {
	border: 1px solid #81ac41;
	padding: 10px;
	line-height: 120%;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
}

.table002 th {
	background: #92bd50;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}

.table002Caption { font-size: 1.3rem; }

.titleTable002 {
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 2.0rem;
}

.titleTable002__caption {
	font-size: 1.3rem;
	font-weight: normal;
}


.tableTdCenter td { text-align: center; }

/*
  # label
------------------------------------------------------- */
.labelNotes {
	font-size: 1.2rem;
	vertical-align: super;
}

/*
  # page : TOP
------------------------------------------------------- */
.titleLogo {
	height: 80px;
	background-image: url("../images/title001.png") ;
	background-repeat: no-repeat;
	background-color: #fff;
    background-position: center;
	text-align: center;
	padding: 30px 60px 160px;
	border-bottom: 8px solid #81ac41;
}
.titleLogo p.ttl {
	font-size: 36px;
	font-weight: bold;
	margin: 48px 0 0 40px;
}

.titlePage {
	font-size: 2.7rem;
	font-weight: bold;
	line-height: 140%;
	position: relative;
}

.titlePage::before {
	content: url(../images/icon-ball.png);
	width: 32px;
	height: 26px;
	margin-right: 20px;
}

.titlePage::after {
	content: url(../images/icon-ball.png);
	width: 32px;
	height: 26px;
	margin-left: 10px;
}

.titlePageCaption {
	margin-top: 30px;
	font-size: 2.0rem;
	font-weight: bold;
}

.titlePageNotes { margin-top: 30px; }

.blockContents__imageLinks {
	text-align: right;
	margin-bottom: 40px;
}

.blockContents__imageLinks li {
	margin-top: 10px;
	position: relative;
}

.blockContents__imageLinks a {
	display: block;
	color: #fff;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	overflow: hidden;
	transition: all 1s ease;
}

.blockContents__imageLinks a img { width: auto; }

.blockContents__imageLinksTitle {
	position: absolute;
	bottom: 15px;
	right: 0px;
	padding-right: 5px;
	text-shadow: 0 0 6px rgba(0, 0, 0, 1);
}

.blockContents__imageLinksTitle::after {
	content: "";
	line-height: 1px;
	width: 75px;
	display: block;
	border-bottom: 1px solid #fff;
	position: absolute;
	right: 0;
}

.homeContents { margin-bottom: 80px; }

.homeContents__caption {
	font-size: 1.8rem;
	text-align: left;
}

/*
  # page : inner common
------------------------------------------------------- */
.blockContents,
.blockContentsAnchor {
	width: 840px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}

.topBlockContents { width: 930px; }

.blockContentsChild {
	width: 810px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}

.blockContents__caption {
	font-size: 1.8rem;
	text-align: left;
}

.aroundLinks { text-align: center; }

.aroundLinks li { display: inline-block; }

.aroundLinks li a { margin: 20px 20px 0; }

.listHorizon001 dt { width: 120px; }

.listHorizon001 dd { width: 740px; }

.textNotes { font-size: 1.3rem; }

.dlist001 dt::before { content: "・" }

.dlist001 dd {
	margin-left: 1em;
	margin-bottom: 10px;
}

.blockEmphasis001 {
	padding: 20px;
	border: 1px solid #81ac41;
}

/*
  # page : Program 学校向け
------------------------------------------------------- */
.blockProgram,
.blockContentsItem { margin: 0 40px 60px; }

.blockProgram::after {
	content: "";
	width: 100px;
	margin-top: 40px;
	border-top: 1px solid #81ac41;
	display: block;
	margin: 40px auto 0;
}

.blockContents .blockProgram:last-child::after {
	content: "";
	border: none;
}

.programTitle {
	width: 600px;
	margin: 0 auto;
	color: #fff;
	background: #333;
	padding: 0 5px;
	position: relative;
	margin-bottom: 40px;
}

.helloWoods .programTitle,
.helloWoods .programImage__caption { background: #81ac41; }

.mobiPark .programTitle,
.mobiPark .programImage__caption { background: #f29600; }

.hondaCollectionHall .programTitle,
.hondaCollectionHall .programImage__caption { background: #c00; }

.programTitle__link {
	position: absolute;
	right: 18px;
}

.programTitle__link a {
	display: block;
	color: #fff;
}

.programTitle__link a::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 9px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
}

.itemCopy {
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 20px;
	font-weight: bold;
}

.itemCopy span{
	font-size:80%;
	font-weight: 400;
}

.dateCopy {
	text-align: center;
	font-size: 3.5rem;
	font-weight: bold;
	line-height:140%;
}

.dateCopy span{
	font-size:80%;
	font-weight: 400;
	letter-spacing: 0.05em;
}



.programImage,
.hotelImage {
	text-align: center;
	margin: 20px auto 40px;
	width: 600px;
}

.programImage__caption {
	background: #81ac41;
	color: #fff;
	display: block;
	width: 100%;
	padding: 10px 0;
}

.skillupFlow {
	background: #fff;
	border: 3px solid #81ac41;
	padding: 30px 30px;
	margin-top: 40px;
}

.skillupFlowTitle001 {
	text-align: center;
	color: #5c3122;
	font-size: 2.6rem;
}

.skillupFlowTheme {
	background: url(../images/bg002.png) no-repeat center center;
	font-weight: bold;
	color: #fff600;
	width: 700px;
	height: 364px;
	margin: 40px auto;
	position: relative;
}

.skillupFlowTheme__item001,
.skillupFlowTheme__item002,
.skillupFlowTheme__item003 {
	position: absolute;
	left: 200px;
}

.skillupFlowTheme__item001 { top: 30px; }

.skillupFlowTheme__item002 { top: 150px; }

.skillupFlowTheme__item003 { top: 270px; }

.skillupFlowTheme__caption {
	font-weight: normal;
	color: #fff;
}

.skillupFlowTitle002__option {
	background: #8bb254;
	color: #fff;
	font-weight: bold;
	font-size: 2.0rem;
	text-align: center;
	width: 250px;
	margin: 0 auto;
	padding: 10px 20px;
	position: relative;
	top: -14px;
}

.skillupFlowTitle002 {
	border-top: 1px solid #8bb254;
	display: block;
	width: 700px;
	margin: 70px auto 0;
	text-align: center;
}

.skillupFlowEffect {
	text-align: center;
	margin: 40px auto;
	width: 700px;
}

.skillupFlowEffect li {
	display: inline-block;
	font-weight: bold;
	margin-left: 20px;
}

.skillupFlowEffect li::before {
	content: "★";
	color: #ff569a;
}

.skillupFlowRethink { margin: 20px 0 20px; }

.skillupFlowRethink ul {
	display: table;
	table-layout: fixed;
	text-align: center;
	width: 100%;
	border-collapse: collapse;
}

.skillupFlowRethink li {
	display: table-cell;
	font-size: 1.8rem;
	font-weight: bold;
	color: #81ac41;
	border: 1px solid #81ac41;
	line-height: 300%;
	vertical-align: middle;
	letter-spacing: 0;
}

.skillupFlowTitle003 {
	color: #81ac41;
	text-align: center;
	font-size: 2.6rem;
}

.skillupFlowSample {
	background: #faf8f5;
	padding: 10px;
}

.skillupFlowSample__block { font-size: 1.4rem; }

.skillupFlowSampleTitle {
	color: #81ac41;
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.skillupFlowSample__item {
	margin-bottom: 10px;
	letter-spacing: 0;
}

.skillupFlowSample__item dt {
	color: #81ac41;
	border: 1px solid #81ac41;
	padding: 0 3px;
	display: inline-block;
	margin-bottom: 10px;
}

.skillupFlowSample__item dd {
	margin-bottom: 10px;
	display: inline-block;
}

.skillupFlowSampleNotes { clear: both; }

.blockCombination { background: #fff; }

.itemCombinationData {
	margin: 0 auto;
	width: 540px;
	position: relative;
	left: 40px;
}

.itemCombinationData dt,
.itemCombinationData dd {
	float: left;
	text-align: left;
}

.itemCombinationData dt {
	clear: both;
	width: 80px;
	color: #81ac41;
	border: 1px solid #81ac41;
	display: inline-block;
	text-align: center;
	margin-right: 20px;
}

.itemCombinationData dd { width: 220px; }

.itemCombinationData dl + dl { margin-top: 40px; }

/*
# page : company
------------------------------------------------------- */
.companyHotel {
	display: table;
	width: 100%;
}

.companyHotelItem,
.associationLunchItem {
	margin-bottom: 40px;
	display: inline-block;
	text-align: center;
}

.companyHotelItem__caption { vertical-align: top; }

.companyHotelItem__image,
.associationLunchItem__image { vertical-align: top; }

.companyHotelItem__image img,
.associationLunchItem__image img { width: 280px; }

.companyHotelItem + .companyHotelItem { margin-left: 34px; }

/*
  # page : model plan
------------------------------------------------------- */
.boxPlanPattern {
	padding: 20px 20px 20px 10px;
	margin-bottom: 60px;
	background: #fff;
	position: relative;
	/* box-shadow: 0px 3px 3px #ccc; */
	border: 3px solid #deebca;
	border-radius: 10px;
}

.boxPlanPattern:before {
	content: url(../images/icon-leaf02.png);
	position: absolute;
	top: -38px;
	right: -28px;
	transform: rotate(-66deg);
}

.boxPlanPattern:after {
	content: url(../images/icon-leaf01.png);
	position: absolute;
	bottom: -50px;
	left: -40px;
}

.boxPlanPatternTitle {
	  color: #81ac41;
    margin-bottom: 60px;
	margin-top: 20px;
    line-height: 140%;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
	position: relative;
}

.boxPlanPatternTitle:after {
	    content: "";
    width: 100px;
    border-top: 2px solid #81ac41;
    display: block;
    margin: 0px auto 0;
    transition: all 0.3s ease;
    position: relative;
    top: 20px;
}

.blockPlanSchedule {
	width: 100%;
	margin-bottom: 80px;
}

.blockPlanSchedule:after {
	content: "";
	width: 100px;
	margin-top: 40px;
	border-top: 1px solid #81ac41;
	display: block;
	margin: 40px auto 0;
}

.blockPlanSchedule__item {
	display: flex;
}

.blockPlanSchedule__itemTime,
.blockPlanSchedule__itemTime--blank {
	text-align: center;
	position: relative;
	padding: 5px;
	color: #81ac41;
	line-height: 50px;
	width: 120px;
	background: url(../images/icon-dots.png) no-repeat center top;
}

.blockPlanSchedule__itemTime--blank { background: none; }

.blockPlanSchedule__itemPlace {
	background: #81ac41;
	border: 1px solid #81ac41;
	color: #fff;
	text-align: left;
	padding: 5px 10px;
	margin-bottom: 20px;
	margin-top: 25px;
	font-size: 1.8rem;
}

.blockPlanSchedule__itemPlacePeriod { float: right; }

.blockPlanSchedule__itemPlace--blank {
	background: none;
	border: 1px solid #81ac41;
	color: #81ac41;
	text-align: left;
	padding: 5px 10px;
	margin-bottom: 20px;
	margin-top: 25px;
	font-size: 2.0rem;
}

.blockPlanSchedule__itemPlaceMoveImage {
	float: right;
}

.blockPlanSchedule__itemPhoto {
	float: left;
	width: 299px;
	margin-bottom: 20px;
}

.blockPlanSchedule__itemPhotos > .blockPlanSchedule__itemPhoto:nth-of-type(even){
	margin-left: 20px;
}

.blockPlanSchedule__itemPhoto img { width: 100%; }

.blockPlanSchedule__itemPlaceDescription { margin-bottom: 20px; }

.blockPlanSchedule__itemPlacePart {
	color: #81ac41;
	font-weight: bold;
	text-align: left;
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.blockPlanSchedule__itemDetail {
	width: 100%;
	min-height: 100px;
	padding-bottom: 20px;
}

.blockPlanSchedule__itemPhotoCaption {
	display: block;
	font-size: 1.4rem;
	color: #81ac41;
}

.schedule002 { border-left: none; }

.schedule002 .blockPlanSchedule__item { border-left: none; }

.schedule001 .blockPlanSchedule__item:nth-of-type(2),
.schedule001 .blockPlanSchedule__item:nth-of-type(4),
.schedule002 .blockPlanSchedule__item:nth-of-type(2) { }

/*
 # page : contact
------------------------------------------------------- */
.contactTel {
	border: 3px solid #81ac41;
	background: #fff;
	padding: 40px 20px;
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 3.4rem;
	text-align: center;
}

.contactTel li {
	display: inline-block;
	margin: 0 10px;
}

.contactTel__label {
	color: #81ac41;
	font-size: 2.4rem;
}

/*
 # page : 料金
------------------------------------------------------- */
.tableWrapAdjust001 td {
	letter-spacing: 0;
	vertical-align: middle;
	padding: 10px 5px;
}

.tableWrapAdjust001 th:nth-of-type(1) {
	width: 160px;
}

.tablePriceList th,
.tablePriceList td{
	vertical-align: middle;
}


/*
 # page : 優待
------------------------------------------------------- */
.tableWrapAdjust002 td {
	letter-spacing: 0;
	vertical-align: middle;
	padding: 10px 5px;
}

.tableWrapAdjust002 th:nth-of-type(1) {
	width: 160px;
}

.tableCouponList th,
.tableCouponList td{
	vertical-align: middle;
}



/*
  # js override
------------------------------------------------------- */
/* slick.js */
.slick-dots li.slick-active button:before { color: #81ac41!important; }

.slick-prev,
.slick-next {
	width: 15px;
	height: 26px;
	z-index: 100;
	bottom: -2px;
	position: absolute;
	top: auto;
}

.slick-prev { left: 50px; }

.slick-next { right: 50px; }

.slick-prev:before { content: url(../images/icon-arrow-left.png); }

.slick-next:before { content: url(../images/icon-arrow-right.png); }

/*
  # helper
------------------------------------------------------- */
.textL { font-size: 1.8rem; }

.textS { font-size: 1.2rem; }

.alignCenter { text-align: center!important; }

.alignRight { text-align: right!important; }

.alignLeft { text-align: left!important; }

.vAlignMiddle {
	 vertical-align: middle;
}

.textBold {
	font-weight: bold!important;
}

.textNormal {
	font-weight: normal!important;
}

.heightAdjust001 {
	border-bottom: 1px solid #81ac41;
	margin: 0 -10px;
	padding: 0 10px 10px;
	margin-bottom: 10px;
}

.l-dib {
	display: inline-block;
}

.l-left001 {
	text-indent: -8em;
	margin-left: 8em;
	display: block;
}

.l-mlM60:not(:root) { margin-left: -60px; }

.l-mt20:not(:root) { margin-top: 20px; }
.l-mt40:not(:root) { margin-top: 40px; }
.l-mt60:not(:root) { margin-top: 60px; }
.l-mt80:not(:root) { margin-top: 80px; }

.l-ml20:not(:root) { 
margin-left: 20px; }

.l-mr20:not(:root) { 
margin-right: 20px; }

.l-mb10:not(:root) {margin-bottom: 10px;}
.l-mb20:not(:root) {margin-bottom: 20px;}
.l-mb40:not(:root) {margin-bottom: 40px;}
.l-mb60:not(:root) {margin-bottom: 60px;}
.l-mb80:not(:root) {margin-bottom: 80px;}

.l-nowrap {
	white-space: nowrap;
}

/*
 # root style override
------------------------------------------------------- */
#trmContentWrap2016 {
	width: 100%!important;
	font-size: 100%!important;
}

#trmFooterWrap2016 { letter-spacing: 0; }

#trmHeaderWrap2016,
#emergencynews { letter-spacing: 0; }

#trmHeaderWrap2016 div,
#emergencynews div { box-sizing: content-box; }

#trmHeaderWrap2016 strong,
#emergencynews strong { font-weight: bold; }
