@charset "UTF-8";
/* CSS Document */
/* license
------------------------------------------------------ */
.license-table {
  border-collapse: separate;
  border-spacing: 0px 4px;
}
.license-table th {
  color: #324A7C;
  font-family: 'hiragino6';
}
.license-table td {
  background: #fff;
  color: #464646;
}
.license-img {
  margin-bottom: 20px;
}
.license-table-ttl:before {
  content: '';
  background: url()
}
.license-bg {
  padding: 50px 0;
  background: url(../common/images/license-bg.png) no-repeat;
  background-size: cover;
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .license-img {
    max-width: 800px;
    margin: 20px auto;
  }
  .license-table {
    max-width: 800px;
    margin: 0 auto;
  }
  .license-table th {
    background: #324A7C;
    color: #fff;
    width: 30%;
    text-align: left;
    padding: 20px;
    vertical-align: middle;
    height: 30px;
  }
  .license-table td {
    padding: 10px;
    vertical-align: middle;
    height: 30px;
  }
  .license-table tr {
    padding-bottom: 10px;
  }
  .license-bg {
    padding-bottom: 100px;
  }
  section iframe {
    width: 100%;
    height: 540px;
  }
}
/*SP Layout
===================================*/
@media all and (max-width: 768px) {
  .license-table-ttl {
    background: #324A7C;
    color: #fff;
  }
  .license-table th, .license-table td {
    width: 90%;
    display: block;
    text-align: left;
    margin: 0 auto;
  }
  .license-table-ttl:before {
    content: '';
    background: url(images/boat-icon03.png) no-repeat;
    background-size: contain;
    width: 80px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
  }
  .license-table {
    background: #fff;
  }
  .license-table th {
    margin-top: 20px;
  }
  .license-bg {
    background: url(../common/images/license-bg-sp.png) no-repeat;
    background-size: cover;
    padding-bottom: 220px;
  }
  section iframe {
    width: 100%;
    height: 500px;
	  margin-top: -40px;
  }
}
/* corse
------------------------------------------------------ */
.corse-bg {
  padding-bottom: 100px;
}
/*
.corse {
  background: url(../common/images/corse-bg.png) no-repeat;
  background-size: contain;
  background-position: center 240px;
  width: 100vw;
  max-width: 100vw;
  padding-bottom: 160px;
}
*/

.corse {
  background-image: linear-gradient(to bottom, #fff 30%, #324A7C 30%, #324A7C 80%, #fff 80%);
  padding: 40px 0;
  margin: 20px calc(50% - 50vw) 0;
  width: 100vw;
  max-width: 100vw;
	position: relative;
	z-index: -1;
}
.corse:before {
  content: '';
  background: url(../../common/images/circle01-top.png) no-repeat;
  background-size: 140% auto;
  width: 100%;
  background-position: top center;
  display: block;
  height: 360px;
position: absolute;
	top: 240px;
	z-index: -1;
}
.corse:after {
  content: '';
  background: url(../../common/images/circle01-bottom.png) no-repeat;
  background-size: 140% auto;
  width: 100%;
  background-position: bottom center;
  display: block;
  height: 360px;
  margin-top: -100px;
	position: relative;
	z-index: -1;
}

.corse-wrap {
  width: 90%;
  margin: 0 auto 30px;
  max-width: 980px;
}
.corse-item {
  background: #F3F6FD;
  font-family: 'hiragino6';
  padding-bottom: 30px;
}
.corse-item p {
  font-family: 'hiragino6';
  text-align: center;
}
.corse-item p.sakiwatashi {
  color: #253F71;
  font-size: 1.4rem;
}
.corse-head {
  background: #324A7C;
  padding: 24px 0;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 40px;
}
.corse-ttl {
  font-size: 2.4rem;
  color: #253F71;
  margin-bottom: 20px;
}
.corse-price {
  color: #253F71;
  font-size: 5rem;
  margin-bottom: 20px;
  font-family: 'din2014' !important;
}
.corse-time {
  background: #253F71;
  color: #fff;
  padding: 6px 0;
  width: 40%;
  margin: 0 auto;
}
.corse-flow-item {
  background: #fff;
  border: 3px solid #324A7C;
  width: 80%;
  margin: 10px auto;
  border-radius: 10px;
  padding: 20px 0;
}
.corse-arrow {
  width: 15%;
  margin: 0 auto;
}
.corse-flow-ttl, .corse-flow-ttl span {
  color: #324A7C;
  font-size: 1.8rem;
  margin-bottom: 10px;
  font-family: 'hiragino6';
}
.corse-flow-time {
  background: #324A7C;
  color: #fff;
  padding: 6px 0;
  width: 35%;
  margin: 0 auto;
}
.corse-flow-item:nth-child(1) .corse-flow-ttl:before {
  content: '';
  background: url(../common/images/corse-icon01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}
.corse-flow-item:nth-child(1) .corse-flow-ttl.jitugi-ttl:before, .jitugi-ttl:before {
  content: '';
  background: url(../common/images/corse-icon02.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}
.corse-flow-item:last-child {
  background: #324A7C;
  border: none;
}
.corse-flow-item:last-child .corse-flow-ttl {
  color: #fff;
}
.corse-flow-item:last-child .corse-flow-ttl:before {
  content: '';
  background: url(../common/images/corse-icon03.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}
.corse-flow-item:last-child .corse-flow-time {
  background: #fff;
  color: #324A7C;
}
.corse-other-ttl01, .corse-other-ttl02 {
  color: #FAE252;
  text-align: center;
  font-family: 'hiragino7';
  font-size: 2rem;
  margin-bottom: 10px;
  line-height: 2.6rem;
}
.corse-other-ttl01:before {
  content: '';
  background: url("images/boat-icon01.png") no-repeat;
  background-size: contain;
  width: 50px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
}
.corse-other-ttl02:before {
  content: '';
  background: url("../common/images/paper-pencil-icon.png") no-repeat;
  background-size: contain;
  width: 50px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
}
.corse-other-wrap {
  background: #F3F6FD;
  padding: 20px 0;
  max-width: 980px;
  margin: 0 auto;
}
.corse-other-name {
  margin-bottom: 10px;
}
.corse-other-price {
  font-size: 4rem;
  font-family: 'din2014' !important;
}
.corse-other-wrap p {
  font-family: 'hiragino6';
  text-align: center;
}
.corse-other01 {
  background: #324A7C;
  color: #fff;
  width: 65%;
  margin: 20px auto;
  border-radius: 6px;
  padding: 20px 0;
}
.corse-other02 {
  background: #67B6AE;
  color: #fff;
  width: 65%;
  margin: 20px auto;
  border-radius: 6px;
  padding: 21px 0;
}
.off-icon {
  width: 20%;
  margin-top: -60px;
  margin-left: auto;
}
.corse-other-lead {
  width: 85%;
  margin: 0 auto;
  color: #324A7C;
}
.corse-other01 p, .corse-other02 p {
  color: #fff;
}
.corse-other-regular-price {
  color: #284274;
  margin-top: 30px;
}
.corse-other-regular-price span {
  font-size: 3rem;
  color: #284274;
  font-family: 'din2014' !important;
}
.corse-other-set-price {
  font-size: 5rem;
  margin-bottom: 20px;
  color: #284274;
  margin-top: 10px;
}
.corse-other-set-price span {
  color: #284274;
  font-family: 'din2014' !important;
}
.corse-other-arrow {
  width: 30px;
  margin: 0 auto;
}
.corse-other-plus {
  width: 20px;
  margin: 0 auto;
}
.set-otoku {
  background: #284274;
  color: #fff;
  width: 90%;
  margin: 0 auto;
  padding: 10px;
  font-size: 1.6rem;
}
.premium .corse-head, .premium .corse-time, .premium .corse-flow-time, .premium .corse-flow-item:last-child {
  background: #67B6AE;
}
.premium .corse-ttl, .premium .corse-price, .premium .corse-flow-item:last-child .corse-flow-time {
  color: #67B6AE;
}
.self .corse-head, .self .corse-time, .self .corse-flow-time, .self .corse-flow-item:last-child {
  background: #70B0CC;
}
.self .corse-ttl, .self .corse-price, .self .corse-flow-item:last-child .corse-flow-time {
  color: #70B0CC;
}
.other {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
}
.practical-skill-list li {
  color: #324A7C;
  font-family: 'hiragino6';
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .corse-item {
    width: 32%;
    border-radius: 20px 20px 0 0;
  }
  .corse-head {
    border-radius: 20px 20px 0 0;
  }
  .corse-other-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 50px;
  }
  .corse-other-lead {
    width: 90%;
    text-align: left !important;
  }
  .corse-other01, .corse-other02 {
    width: 30%;
  }
  .corse-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
  }
  .corse-other-arrow {
    transform: rotate(270deg);
  }
  .set-price {
    width: 28%;
    position: relative;
  }
  .corse-other-lead {
    margin-left: 0;
  }
  .corse-other-regular-price {
    margin-top: 0;
  }
  .practical-skill-only {
    width: 28%;
  }
  .corse-other-ttl01, .corse-other-ttl02 {
    text-align: left;
    margin-top: 30px;
  }
  .corse-other-ttl02 {
    margin-top: 20px;
  }
  .practical-skill-list {
    width: 40%;
    margin-left: 20px;
  }
  .tab {
    margin-top: 50px;
  }
  .off-icon {
    width: 40%;
    position: absolute;
    right: -80px;
    top: -20px;
  }
}
/*SP Layout
===================================*/
@media print, screen and (max-width: 768px) {
  .content-box {
    display: none;
  }
  .corse-other-set-price {
    margin-top: 20px;
  }
  .tab-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    margin: 20px auto 10px;
  }
  .tab-list li {
    width: 49%;
    text-align: center;
    background: #F3F6FD;
    padding: 20px 0;
    margin-bottom: 4px;
    border-radius: 6px;
    color: #324A7C;
    font-size: 1.6rem;
    font-family: 'hiragino6';
  }
  .tab-list li a {
    color: #324A7C;
    font-family: 'hiragino6';
  }
  .tab-list li.current {
    background: #324A7C;
    color: #fff;
  }
  .tab-list li.current a {
    color: #fff;
  }
  .practical-skill-only {
    width: 74%;
    margin: 20px auto;
  }
  .practical-skill-list {
    width: 74%;
    margin: 0 auto;
  }
  .check h3:before {
    height: 60px;
  }
	.corse{
		background-image: linear-gradient(to bottom, #fff 20%, #324A7C 20%, #324A7C 95%, #fff 95%);
	}
	.corse:before{
		height: 200px;
		top: 400px;
	}
	.corse:after{
		height: 180px;
		margin-top: -10px;
	}
}
/* price
------------------------------------------------------ */
.price {
  margin-bottom: 100px;
}
.course_fee_table_head1 {
  background: #324A7C;
  color: #FFFFFF;
}
.course_fee_table_head2 {
  background: #67B6AE;
  color: #FFFFFF;
}
.course_fee_table_head3 {
  background: #70B0CC;
  color: #FFFFFF;
}
table.course_1_fee_table {
  width: 80%;
  margin: 0 auto 40px;
  max-width: 900px;
}
table.course_1_fee_table th, table.course_1_fee_table td {
  border: solid 3px;
  border-color: #FFFFFF;
  padding: 20px;
  font-weight: normal;
}
.course_1_fee_table {
  background: #F3F6FD;
  text-align: center;
}
.head_element_1 {
  width: 200px;
}
th.course_fee_table_head1.vert {
  vertical-align: middle;
}
th.course_fee_table_head1.vert span {
  color: #fff;
  font-size: 1rem;
  writing-mode: horizontal-tb;
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .vert {
    writing-mode: vertical-rl;
  }
}
/* schedule
------------------------------------------------------ */
.schedule-bg {
  background: url(../common/images/schedule-bg.jpg) no-repeat;
  background-size: cover;
  padding: 40px 0;
  position: relative;
}
.schedule-boat-icon {
  position: absolute;
  top: -60px;
  right: -100px;
  width: 90%;
}
.schedule-wrap {
  background: #F3F6FD;
  padding: 30px 0;
}
.schedule-ttl {
  text-align: center;
  color: #324A7C;
  font-family: 'hiragino6';
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.schedule-lead {
  text-align: center;
}
.schedule-item {
  width: 90%;
  margin: 10px auto;
}
.schedule-head {
  background: #455B89;
  color: #fff;
  padding: 10px 0;
  text-align: center;
}
.schedule-item {
  background: #fff;
}
.schedule-date {
  word-wrap: break-word;
  padding: 10px 30px;
  line-height: 2.4rem;
}
.schedule {
  position: relative;
}
.seminar-venue {
  position: absolute;
  width: 10%;
  right: 25%;
}
.reserved-calender {
  width: 90%;
  max-width: 900px;
  margin: 30px auto;
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .schedule-boat-icon {
    max-width: 700px;
    right: -200px;
  }
  .schedule-item {
    width: 24%;
  }
  .schedule-wrap {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 30px;
    max-width: 800px;
    margin: 0 auto;
  }
  .schedule-ttl {
    width: 15%;
  }
  .schedule-lead {
    width: 85%;
    text-align: left;
  }
  .schedule-date span {
    display: block;
  }
  .schedule-date {
    padding: 30px 40px;
  }
  .schedule-bg {
    padding: 80px 0;
  }
}
/*SP Layout
===================================*/
@media print, screen and (max-width: 768px) {
  .seminar-venue {
    width: 18%;
    right: 0;
  }
}
/* flow
------------------------------------------------------ */
.flow-bg {
  background: #F3F6FD;
  padding: 100px 0;
}
.flow-ttl-icon {
  width: 25%;
  margin: 0 auto;
}
.flow-ttl {
  font-family: 'hiragino6';
}
.flow-img {
  margin-bottom: 10px;
}
.flow-txt {
  text-align: center;
}
.flow-item {
  margin-bottom: 60px;
}
.flow-txt a, label.open {
  display: block;
  text-decoration: underline;
  color: #455B89;
  margin-top: 20px;
  text-align: center;
}
.flow-arrow {
  width: 14px;
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .flow-item {
    width: 26%;
    padding: 20px;
  }
  .flow-ttl-icon {
    margin-bottom: 4px;
    margin-top: -50px;
  }
  .flow-item {
    background: #fff;
    border-radius: 20px;
  }
  .flow-ttl {
    color: #324A7C;
    text-align: center;
  }
  .flow-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 980px;
    margin: 80px auto 0;
  }
  .flow-ttl {
    margin: 20px auto;
    font-size: 1.8rem;
  }
  .flow-arrow {
    margin: auto 10px;
  }
}
/*SP Layout
===================================*/
@media print, screen and (max-width: 768px) {
  .flow-ttl-wrap {
    background: #455B89;
    display: flex;
    align-items: center;
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
  }
  .flow-ttl {
    text-align: left;
    color: #fff;
    font-size: 1.8rem;
  }
  .flow-ttl-icon {
    width: 12%;
    margin: 0;
    margin-right: 10px;
  }
  .flow-item {
    margin-bottom: 2px;
    margin-top: 2px;
  }
  .title:after {
    content: "↓";
  }
  .title.open:after {
    content: '';
    background: url("images/arrow-icon05.png") no-repeat;
    background-size: contain;
    width: 20px;
    height: 10px;
    display: inline-block;
    position: absolute;
    right: 50px;
    top: 30px;
    transform: rotate(180deg);
  }
  .box {
    background: #fff;
    padding: 10px;
  }
  .flow-arrow {
    margin: 0 auto;
    transform: rotate(90deg);
  }
  .flow-ttl-wrap:after {
    content: '';
    background: url("images/arrow-icon05.png") no-repeat;
    background-size: contain;
    width: 20px;
    height: 10px;
    display: inline-block;
    position: absolute;
    right: 50px;
    top: 30px;
  }
  .flow-wrap {
    margin-bottom: 50px;
  }
  .flow-bg {
    padding-bottom: 50px;
  }
}
/* check
------------------------------------------------------ */
.check-bg {
  padding: 100px 0;
}
.check-item {
  background: #F2F5FC;
  margin-top: 80px;
  margin-bottom: 30px;
  position: relative;
  padding-top: 100px;
}
.check-img {
  width: 40%;
  margin: 0 auto;
  position: absolute;
  top: -50px;
  right: 0;
  left: 0;
}
.check-ttl {
  text-align: center;
  color: #324A7C;
  font-size: 2rem;
  margin-bottom: 10px;
  font-family: 'hiragino6';
  margin-top: 10px;
}
.check-txt {
  width: 90%;
  margin: 20px auto;
  font-size: 1.2rem;
  line-height: normal;
}
.check-list {
  display: flex;
  width: 90%;
  margin: 10px auto 30px;
}
.check-list li {
  background: #fff;
  text-align: center;
  border-radius: 30px;
  color: #4A5F8B;
  padding: 2px 20px;
  margin-right: 6px;
  font-family: 'hiragino6';
  font-size: 1.4rem;
}
.check-link-wrap {
  display: flex;
  justify-content: space-between;
}
.check-link-item {
  display: block;
  width: 50%;
  text-align: center;
  padding: 26px 0;
  font-family: 'hiragino6';
  font-size: 1.6rem;
}
.check-link-item:nth-child(1) {
  background: #FAE252;
  color: #324A7C;
}
.check-link-item:nth-child(1):before {
  content: '';
  background: url(../common/images/check-icon01.png) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
}
.check-link-item:nth-child(2) {
  background: #67B6AE;
  color: #fff;
}
.check-link-item:nth-child(2):before {
  content: '';
  background: url(../common/images/check-icon02.png) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
}
/*PC Layout
===================================*/
@media print, screen and (min-width: 769px) {
  .check-wrap {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .check-item {
    width: 32%;
  }
}
/* ポップアップ
------------------------------------------------------ */
.open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up {
  display: none; /* label でコントロールするので input は非表示に */
}
.overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up:checked + .overlay {
  display: block;
  z-index: 9999;
  background-color: #00000070;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  margin: 0 calc(50% - 50vw);
}
.window {
  width: 90vw;
  max-width: 500px;
  height: auto;
  background-color: #ffffff;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 50px;
}
.window b {
  display: block;
  font-size: 2.6rem;
  margin-bottom: 30px;
  text-align: center;
}
.text {
  font-size: 18px;
  margin: 0;
}
.close {
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 30px;
}
.schedule-situation {
  display: flex;
  justify-content: center;
}
.schedule-situation li {
  margin: 20px;
  color: #324A7C;
  font-family: 'hiragino6';
}
.schedule-situation li:nth-child(2):before {
  content: '';
  background: #fff;
  border: 1px solid #707070;
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 2px;
}
.schedule-situation li:nth-child(3):before {
  content: '';
  background: #EEEEEE;
  border: 1px solid #EEEEEE;
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 2px;
}
/*SP Layout
===================================*/
@media print, screen and (max-width: 768px) {
  .window {
    max-width: 90%;
    width: 90%;
    padding: 50px 20px;
  }
  .window b {
    font-size: 2rem;
  }
  .text {
    font-size: 16px;
  }
  .schedule-situation li {
    margin: 4px;
  }
  .license-bg {
    padding-bottom: 40px;
  }
}



/*bookingpackage
===================================*/
#booking-package_inputFormPanel select,#booking-package_inputFormPanel input[type=text]{
	height: 50px;
    font-size: 16px;
	background: #F3F6FD;
	width: 98%!important;
}
#booking-package_inputFormPanel textarea{
	height: 200px;
	font-size: 16px;
	background: #F3F6FD;
	width: 98%!important;
}
#booking-package .bookingButton,#booking-package_inputFormPanel .paymentButton {
    background: #455B89;
    color: #fff;
    border: none;
    height: 50px;
}
#booking-package_inputFormPanel .returnButton{
	height: 50px;
	border: none;
}
#booking-package_inputFormPanel .name{
	font-family: 'hiragino6';
	margin-bottom: 10px;
	margin-top: 6px;
}

element.style {
}
#booking-package_inputFormPanel .selectedDate{
	font-size: 1.8rem!important;
	padding: 20px 0!important;
}
#card-element {
    width: 97%!important;
    height: 50px;
    margin-bottom: 10px!important;
	background-color: #F3F6FD!important;
}
div#booking_package_input_gender {
    display: flex;
}

.calender {
    max-width: 900px;
    margin: 20px auto 40px;
}