/* break point
============================================= */
/* theme
============================================= */
/* common
============================================= */
/* shot flex */
/* css3 */
/* animation */
/* easeing */
/* http://www.knockknock.jp/archives/184 */
/* Original
============================================= */
.f_photo .block + .block {
  margin-top: 60px;
}

@media screen and (max-width: 737px) {
  .f_photo .block + .block {
    margin-top: 40px;
  }
}

.photoList {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -26px;
}

.photoList li {
  width: calc( 50% - 52px);
  margin: 30px 26px 0;
  list-style: none;
}

.photoList li img {
  max-width: 100%;
  height: auto;
}

.photoList li .caption {
  font-size: 16px;
  margin: 6px 0 0;
}

@media screen and (max-width: 737px) {
  .photoList {
    display: block;
    margin: 0;
  }
  .photoList li {
    width: auto;
    margin: 16px 0 0;
  }
  .photoList li .caption {
    font-size: 13px;
    margin: 6px 0 0;
  }
}

.privacyWrap h2 {
  margin: 3em 0 1em;
}

.privacyWrap ol,
.privacyWrap ul {
  padding-left: 1.5em;
  margin-left: 0.5em;
}

@media screen and (max-width: 737px) {
  .privacyWrap {
    font-size: 12px;
  }
  .privacyWrap h2 {
    margin: 2em 0 1em;
  }
}

.newsListWrap .yealyWrap {
  margin-top: 2px;
}

.newsListWrap h2 {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  padding: 3px 20px 1px;
  background-color: #009944;
  margin: 0;
  position: relative;
}

.newsListWrap h2:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-bottom: 15px solid #fff;
  border-top: 0px solid #fff;
  right: 20px;
  top: 50%;
  margin-top: -7px;
  transition: all 0.3s ease;
}

.newsListWrap h2.close:after {
  border-bottom: 0px solid #fff;
  border-top: 15px solid #fff;
}

.newsListWrap ul {
  margin: 0;
  padding: 0;
}

.newsListWrap li {
  list-style: none;
}

.newsListWrap li + li {
  border-top: 1px solid #babab9;
}

.newsListWrap li .noLink,
.newsListWrap li a {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  padding: 22px 30px 21px;
}

.newsListWrap li .noLink span,
.newsListWrap li a span {
  display: inline-block;
}

.newsListWrap li .noLink .date,
.newsListWrap li a .date {
  width: 112px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.newsListWrap li .noLink .cat,
.newsListWrap li a .cat {
  width: 108px;
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding: 4px 0 2px;
    max-height: 24px;
    box-sizing: border-box;
}

@media screen and (max-width: 737px) {
  .newsListWrap li .noLink .cat,
  .newsListWrap li a .cat {
    width: 80px;
    font-size: 10px;
    padding: 3px 0 1px;
  }
}

.newsListWrap li .noLink .cat.cat01,
.newsListWrap li a .cat.cat01 {
  background-color: #e60012;
}

.newsListWrap li .noLink .cat.cat02,
.newsListWrap li a .cat.cat02 {
  background-color: #0191b0;
}

.newsListWrap li .noLink .cat.cat03,
.newsListWrap li a .cat.cat03 {
  background-color: #b09101;
}

.newsListWrap li .noLink .cat.cat04,
.newsListWrap li a .cat.cat04 {
  background-color: #3f5a91;
}

.newsListWrap li .noLink .txt,
.newsListWrap li a .txt {
  width: 720px;
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.3;
}

.newsListWrap li a .txt {
  text-decoration: underline;
}

.newsListWrap li a:hover .txt {
  text-decoration: none;
}

@media screen and (max-width: 737px) {
  .newsListWrap h2 {
    font-size: 15px;
    padding: 7px 10px 6px;
  }
  .newsListWrap h2:after {
    right: 10px;
  }
  .newsListWrap li + li {
    border-top: 1px solid #babab9;
  }
  .newsListWrap li .noLink,
  .newsListWrap li a {
    display: block;
    padding: 10px 0px 12px;
  }
  .newsListWrap li .noLink .date,
  .newsListWrap li a .date {
    width: auto;
    margin-right: 8px;
    font-size: 12px;
    line-height: 1.6;
  }
  .newsListWrap li .noLink .txt,
  .newsListWrap li a .txt {
    margin-top: 6px;
    width: auto;
    display: block;
    padding-left: 0px;
    font-size: 13px;
    line-height: 1.6;
  }
}

.newsArticle .dateArea {
  display: flex;
}

.newsArticle .dateArea .date {
  width: 112px;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

@media screen and (max-width: 737px) {
  .newsArticle .dateArea .date {
    width: auto;
    margin-right: 8px;
    font-size: 12px;
    line-height: 1.6;
  }
}

.newsArticle .dateArea .cat {
  width: 108px;
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding: 4px 0 2px;
  margin: 0;
}

@media screen and (max-width: 737px) {
  .newsArticle .dateArea .cat {
    width: 80px;
    font-size: 10px;
    padding: 3px 0 1px;
  }
}

.newsArticle .dateArea .cat.cat01 {
  background-color: #e60012;
}

.newsArticle .dateArea .cat.cat02 {
  background-color: #0191b0;
}

.newsArticle .dateArea .cat.cat03 {
  background-color: #b09101;
}

.newsArticle .dateArea .cat.cat04 {
  background-color: #3f5a91;
}

.newsArticle .article {
  font-size: 16px;
}

.newsArticle .article .ttl {
  border-bottom: 1px solid #ccc;
  font-size: 24px;
}

@media screen and (max-width: 737px) {
  .newsArticle .article .ttl {
    font-size: 18px;
  }
}

@media screen and (max-width: 737px) {
  .newsArticle .article {
    font-size: 13px;
  }
}

.formWrap input[type="text"],
.formWrap input[type="tel"],
.formWrap input[type="email"],
.formWrap input[type="password"],
.formWrap textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 4px 8px;
  border: 1px solid #a0a0a0;
}

.formWrap select {
  padding: 4px 8px;
  border: 1px solid #a0a0a0;
  min-width: 50%;
}

.formWrap .btnRow {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 20px;
}

.formWrap .btnRow a,
.formWrap .btnRow button {
  background: none;
  border: none;
  font-size: 30px;
  font-weight: 400;
  padding: 14px 0;
  text-align: center;
  color: #fff;
  display: block;
  width: calc( 50% - 2px);
  position: relative;
  transition: opacity 0.3s ease;
  border-radius: 6px;
}

.formWrap .btnRow a:hover,
.formWrap .btnRow button:hover {
  opacity: 0.7;
}

.formWrap .btnRow button + a,
.formWrap .btnRow a + button,
.formWrap .btnRow a + a,
.formWrap .btnRow button + button {
  margin-left: 4px;
}

.formWrap .btnRow .submitBtn {
  background-image: linear-gradient(to bottom, #fb4848, #e02c2c);
}

.formWrap .btnRow .returnBtn {
  background-image: linear-gradient(to bottom, #969696, #7a7a7a);
}

@media screen and (max-width: 737px) {
  .formWrap {
    margin: 0 auto;
    width: auto;
  }
  .formWrap input[type="text"],
  .formWrap input[type="tel"],
  .formWrap input[type="email"],
  .formWrap input[type="password"],
  .formWrap textarea {
    font-size: 16px;
  }
  .formWrap select {
    font-size: 16px;
    width: 100%;
  }
  .formWrap .btnRow {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-top: 0;
    height: auto;
  }
  .formWrap .btnRow a,
  .formWrap .btnRow button {
    font-size: 13px;
    border: none;
    margin: 0;
    padding: 10px 0;
  }
}

.desc + .formWrap {
  margin-top: 30px;
}

.formWrap table {
  width: 100%;
  table-layout: fixed;
  border-top: 1px solid #babab9;
}

.formWrap table th {
  padding: 30px 30px;
  background-color: #efefef;
  border-bottom: 1px solid #babab9;
  width: 280px;
  text-align: left;
  vertical-align: top;
  font-size: 16px;
}

.formWrap table th .req {
  display: inline-block;
  float: right;
  background-color: #e60012;
  color: #fff;
  font-size: 12px;
  text-align: center;
  width: 50px;
  line-height: 20px;
}

.formWrap table th .note {
  font-size: 14px;
}

.formWrap table td {
  border-bottom: 1px solid #babab9;
  padding: 21px 30px;
  font-size: 14px;
}

.formWrap table td .note {
  font-size: 12px;
}

.formWrap table td a {
  color: #0068b7;
  text-decoration: underline;
}

.formWrap table td a:hover {
  text-decoration: none;
}

@media screen and (max-width: 737px) {
  .formWrap table {
    border-top: none;
  }
  .formWrap table th {
    display: block;
    width: auto;
    padding: 10px 10px;
    border-top: 1px solid #babab9;
    border-bottom: 1px solid #babab9;
    font-size: 15px;
  }
  .formWrap table th .req {
    font-size: 11px;
    width: 44px;
  }
  .formWrap table th .note {
    font-size: 14px;
  }
  .formWrap table td {
    display: block;
    width: auto;
    border-bottom: none;
    padding: 8px 0 15px;
  }
  .formWrap table td .note {
    font-size: 11px;
  }
}

.iconCheck {
  display: block;
  padding-left: 34px;
  position: relative;
  overflow: hidden;
  min-height: 24px;
}

.iconCheck.inline {
  display: inline-block;
}

.iconCheck + .iconCheck {
  margin-top: 9px;
}

.iconCheck:before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border: 1px solid #a0a0a0;
  position: absolute;
  top: 0;
  left: 0;
}

.iconCheck input {
  position: absolute;
  left: -999px;
}

.iconCheck > span {
  display: inline-block;
  font-size: 16px;
  position: relative;
}

.iconCheck > span:after {
  content: "";
  display: block;
  width: 12px;
  height: 8px;
  border: 4px solid #e62e10;
  border-top: none;
  border-right: none;
  position: absolute;
  top: 3px;
  left: -29px;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0) rotate(-90deg);
  transform: scale(0) rotate(-90deg);
}

.iconCheck input:checked + span:after {
  -webkit-transform: scale(1) rotate(-45deg);
  transform: scale(1) rotate(-45deg);
}

@media screen and (max-width: 737px) {
  .iconCheck span {
    font-size: 14px;
    line-height: 1.7;
  }
}

.iconRadio {
  display: inline-block;
  padding-left: 34px;
  position: relative;
  overflow: hidden;
  min-height: 24px;
}

.iconRadio.dsBlock {
  display: block;
}

.iconRadio + .iconRadio {
  margin-left: 30px;
}

.iconRadio:before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #a0a0a0;
  position: absolute;
  top: 0;
  left: 0;
}

.iconRadio input {
  position: absolute;
  left: -999px;
}

.iconRadio > span {
  display: inline-block;
  font-size: 16px;
  position: relative;
}

.iconRadio > span:after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #e62e10;
  position: absolute;
  top: 4px;
  left: -30px;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center;
  transform-origin: center;
}

.iconRadio input:checked + span:after {
  -webkit-transform: scale(1);
  transform: scale(1);
}

@media screen and (max-width: 737px) {
  .iconRadio span {
    font-size: 14px;
    line-height: 1.7;
  }
}

/*# sourceMappingURL=page.css.map */


.wrap {width: 98%; margin: 0 auto 3%; overflow: hidden;}
.wrap p {margin: 0.5% auto;}
.wrap ul {list-style: none; padding: 0; margin: 1% auto; overflow: hidden;}
.wrap li {float: left; box-sizing: border-box;}
.left {float: left !important;}
.right,.telSp {float: right !important;}
.info small {color: #e60012;}
.info p {overflow: hidden; margin: 1% auto;}
.info span {display: inline-block;}
.info .right {text-align: center;}
.info div.left {max-width: 65%;}
.info div.right {max-width: 33%;}
.info img.left {margin: 0 1%;}
.info .right img {display: block; margin: 0 auto; max-width: 100%;}
.info .right p {font-size: .8em; text-align: center;}
.info ul {overflow: hidden;}
.info ul li {overflow: hidden; float: none;}
.info ul li p {width: 96%;}
.textLeft {text-align: left !important;}
#detail h3 {border: solid #009944; border-width: 0 0 1px 10px; padding: .2em .8em; box-sizing: border-box;}
.redBox {border: 1px solid #D1372E; color: #D1372E; padding: 0.5em 1em; box-sizing: border-box; text-align: center; border-radius: 7px; font-weight: bold;}
.flow ul,.block85 {width: 85%; margin: 0 auto; overflow: hidden;}
.flow li {width: 32%;}
.flow li:nth-child(2) {margin: 0 2%;}
#detail h4 {background: #009944; color: #fff; padding: .5em 1em; box-sizing: border-box; margin: 0 auto 5%;}
.flow li p {width: 95%; margin: 0 auto;}
.flow li p:before {content: "▶ "; color: #009944;}
.flow small {margin: 0 1%;}
.flow .block85 {margin-top: 1%; border-top: 1px solid #eee; padding: .5em 0; font-size: .8em;}
#detail .event li {width: 48%;}
#detail .event li {margin: 0 1%;}
#detail .event p {width: 95%; margin: 0 auto 4%;}
.detail table {border: solid #eee; border-width: 1px 1px 0; box-sizing: border-box; margin: 0 auto;}
.detail table th { width: 30%; border: solid #eee; border-width: 0 1px 1px 0; padding: .2em 0; font-weight: normal;}
.detail table th:after {content: "▶"; margin-left: .3em;}
.detail table td {width: 70%; border-bottom: 1px solid #eee; padding: .5em 1em;}
.half {width: 50%;}
.detail .half.right {text-align: center;}
.detail .half.right a {display: inline-block; width: 90%; padding: 1% 5%; box-sizing: border-box; background: #009944; color: #fff; border-radius: 10px;}
.detail .half.right a:hover {opacity: .8;}
.detail .half.right p {padding: 1em 0;}
.contact ul {width: 95%; border: 1px solid #ddd; padding: 1em 1.5em; box-sizing: border-box;}
.contact li.left {width: 60%; padding-right: 2%; border-right: 1px solid #ddd;}
.contact li.right {width: 38%; text-align: center;}
.contact .left p {display: inline-block;}
.contact .center {font-size: .9em; text-align: center; width: 100%;}
.mail {background: #D1372E; box-sizing: border-box; line-height: 1; font-size: 1.5em; color: #fff; padding: .5em 0; display: inline-block; border-radius: 7px; width: 100%;}
.mail:before {content: url("/common/img/icon/mail_wht.png"); width: 30px; display: inline-block; vertical-align: middle;}
.telPc,.telSp {font-size: 2em; font-weight: bold; font-family: 'Roboto Condensed', sans-serif; line-height: 1;}
.telPc:before {content: url("/common/img/icon/icon_tel_01.png"); display: inline-block; width: 30px;}
.telSp:before {content: url("/common/img/icon/icon_tel_02.png"); display: inline-block; width: 30px; padding-left: 5px; box-sizing: border-box;}
.telSp:after{content: "(通話有料)"; font-size: .4em; font-weight: normal; letter-spacing: .05em;}
.return {text-align: center; margin-top: 5%;}
.return ul {overflow: hidden; padding: 0; margin: 0 auto; list-style: none; display: inline-block;}
.return a { padding: 0.2em 1em; box-sizing: border-box; display: inline-block;}
.return li:first-child a {border-right: 1px solid #ddd;}
.return a:hover {color: #094; text-decoration: underline;}
iframe.right {width: 48%; height: 240px; display: block;}

.newsArticle .hover {border-bottom: 1px solid transparent; display: inline-block;}
.newsArticle .hover:hover {color:#2f965d; border-bottom: 1px solid #2f965d;}
    
    
.f_apply .schedules p {margin: 1% auto 0;}


.policy {border: 1px solid #a0a0a0; padding: 0 1.5em; overflow-y: auto; box-sizing: border-box; height: 250px;}
.policy ol {padding: 0 0 0 1em; margin-bottom: 2em;}
.policy big {font-weight: bold;}


.blk {width: 90%;}
.blk h4 {margin: 3% auto !important;}




@media screen and (max-width: 737px) {
	.info div.left {max-width: 62%;}
	.info .right {max-width: 18%;}
	.info .left p:not(.redBox) br {display: none;}
	.flow ul, .block85 {width: 98%;}
	.flow .block85 {font-size: 1em;}
	.contact ul,.blk {width: 95%;}
	.contact li.left {width: 48%;}
	.contact li.right {width: 50%;}
	.telPc,.telSp {float: none !important;}
	.mail {margin: 5% auto 0;}
}
@media screen and (max-width: 640px) {
	.left,.right {float: none !important;}
	.info {text-align: center;}
	.info div.left {max-width: 100%;}
	.info .left p:not(.redBox) {text-align: left;}
	.info img.left {margin: 0 auto;}
    .info .right {display: none;}
    .info div.right {max-width: 100%; text-align: center;}
	.flow li {float: none; width: 100%; margin: 0 auto !important;}
	#detail h4 {margin: 2% auto;}
    #detail .event {width: 95%;}
    #detail .event li {width: 100%;}
    .half {width: 95%; margin: 5% auto;}
	.contact ul {margin-top: 5%;}
	.contact li {width: 100% !important; overflow: hidden;}
	.contact li.left {border: none; text-align: center; margin-bottom: 2%;}
	.contact li.right {border-top: 1px solid #ddd;}
    .detail .half.right a {width: 100%;}
	.mail {margin-top: 3%;}
    iframe.right {width: 95%; margin: 5% auto 0;}
}
@media screen and (max-width: 480px) {
    .detail table th,.detail table td {display: block; width: 100%; box-sizing: border-box;}
    .detail table th:after {content: "▼";}
    .detail table th {background: #f5f5f5;}
}
@media screen and (max-width: 375px) {
	.redBox {margin: 3% auto !important; padding: .5em .7em;}
	.contact ul {width: 100%; padding: 1em;}
}
