@charset "utf-8";

.wf_min {
	font-family: 'Noto Serif JP', "游明朝" , "Times New Roman" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
header#header, #top_title_area, #breadcrumb, #footer .contact, #fix_header, #menu_btn {
  display: none !important;
}
.post_content  ol, .post_content  ul {
  padding-left: 0;
  list-style: none;
}
.post_content  ol li, .post_content  ul li {
  margin: 0;
}
.post_content > div:first-child {
  padding-top: 0;
  padding-bottom: 0;
}
footer .l-footer__inner {
    padding: 0em 2vw;
}
#menu_btn + section {
  margin-bottom: 5em;
}
img {
  max-width: 100%;
}
em {
	font-style: normal;
}
.flex_cl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flo {
  overflow: hidden;
}
.flo_r {
  float: right;
}
.flo_l {
  float: left;
}
.t_cen {
  text-align: center;
}
.t_le {
  text-align: left !important;
}
.t_ri {
  text-align: right;
}
.center {
  display:block;
  margin-left: auto;
  margin-right: auto;
}
.w200 {max-width: 200px;}
.w300 {max-width: 300px;}
.w400 {max-width: 400px;}
.w500 {max-width: 500px;}
.w600 {max-width: 600px;}
.w700 {max-width: 700px;}
.w800 {max-width: 800px;}
.w900 {max-width: 900px;}
.w1000 {max-width: 1000px;}
.w1100 {max-width: 1100px;}
.w1200 {max-width: 1200px;}
.w200, .w300, .w400, .w500, .w600, .w700, .w800, .w900, .w1000, .w1100, .w1200 {
  margin-left: auto;
  margin-right: auto;
}
.mT0{margin-top: 0 !important;}
.mTe1{margin-top: 1em !important;}
.mTe2{margin-top: 2em !important;}
.mTe3{margin-top: 3em !important;}
.mTe4{margin-top: 4em !important;}
.mB0{margin-bottom: 0 !important;}
.mBe1{margin-bottom: 1em !important;}
.mBe2{margin-bottom: 2em !important;}
.mBe3{margin-bottom: 3em !important;}
.mBe4{margin-bottom: 4em !important;}
.mR0{margin-right: 0 !important;}
.mRe1{margin-right: 1em !important;}
.mRe2{margin-right: 2em !important;}
.mRe3{margin-right: 3em !important;}
.mRe4{margin-right: 4em !important;}
.mL0{margin-left: 0 !important;}
.mLe1{margin-left: 1em !important;}
.mLe2{margin-left: 2em !important;}
.mLe3{margin-left: 3em !important;}
.mLe4{margin-left: 4em !important;}

.post_content > section, .post_content > div, .post_content #mermaid > div, .post_content #mermaid > section {
  padding-top: 4vw;
  padding-bottom: 4vw;
}
.post_content p {
  font-weight: 500;
  font-size: 1.1rem;
}
.post_content p b {
  background: -webkit-linear-gradient(transparent 64%,#ffe500 0%);
  background: linear-gradient(transparent 64%,#ffe500 0%);
  color: #324daf;
  /* margin: 2em 0 0.5em; */
  display: inline-block;
  line-height: 1.4;
}
#mermaid #mainv {
  background: #0857f9;
  padding: 0;
}
#mermaid #mainv > section {
  background:url(../../../assets/img/low/mermaid/mainv.jpg) no-repeat bottom;
  background-size: cover;
  height: calc(100vh - 100px);
  display: flex;
  align-items: center;
}
#mermaid #mainv div {
  color: #fff;
  position: relative;
  width: 40%;
  left: 55%;
}
#mermaid #mainv div h2 {
  font-size: 2.8vw;
  line-height: 1.6;
  font-weight: bold;
  text-align: right;
}
#mermaid #mainv div h2 em {
  color: #ffe500;
}
#mermaid #mainv div p {
  color: #fff;
  font-size: 1rem;
  margin-top: 2em;
  text-shadow: rgb(17 36 175) 0px 0px 8px;
  -moz-text-shadow: rgba(17 36 175) 0px 0px 8px;
  -webkit-text-shadow: rgba(17 36 175) 0px 0px 8px;
}
#mermaid hgroup {
  text-align: center;
  color: #324daf;
}
.post_content #mermaid hgroup {
  margin-bottom: 3em;
}
#mermaid hgroup h1 {
  font-size: 2.6rem;
  line-height: 1.3;
}
#mermaid hgroup h2 {
  font-size: 2.4rem;
  margin: 0.25em 0 1.5em;
}
#mermaid hgroup h2 em {
  background: -webkit-linear-gradient(transparent 64%,#ffe500 0%);
  background: linear-gradient(transparent 64%,#ffe500 0%);
}
#mermaid hgroup h1::after {
	background: #4154c1;
}
#mermaid .bg h3 {
  color: #324daf;
  text-align: center;
  font-size: 1.8rem;
  margin: 2em 0 1em;
}
#mermaid hgroup p {
  font-weight: bold;
  font-size: 1.2rem;
  color: #324daf;
}
/* .post_content #mermaid dl {
  border-radius: 50px;
  overflow: hidden;
  border: solid 1px #1b8bcf;
  max-width: 1100px;
  margin: auto;
  font-size: 1.4rem;
  font-weight: bold;
}
.post_content #mermaid dl dt {
  width: 32%;
  background: #1b8bcf;
  color: #fff;
  padding: 2%;
}
.post_content #mermaid dl dd {
  width: 60%;
  padding: 2%;
  color: #1b8bcf;
}
.post_content #mermaid dl dd a {
  color: #4154c1;
	text-decoration: underline;
}
.post_content #mermaid dl dd a:hover {
  color: #0095d4;
	text-decoration: none;
}
.post_content #mermaid #free dl {
  border: solid 1px #4154c1;
}
.post_content #mermaid #free dl dt {
  background: #4154c1;
} */
#mermaid .bg > section {
  max-width: 1100px;
  padding-left: 30px;
  padding-right: 30px;
  margin: auto;
}
.bg#basic {
  background: #dceeff;
}
.bg#advanced {
  background: #dffaff;
}
#free_footer {
  margin-top: 0;
}
#free_footer .contact {
  background: url(../../../assets/img/low/mermaid/bg_contact.jpg) no-repeat center #009bff;
  background-size: cover;
  color: #fff;
  text-align: center;
  position: relative;
}
#free_footer .contact hgroup p, #free_footer .contact dl dt {
  color: #cdcfcf;
  position: relative;
  z-index: 100;
}
#free_footer .contact hgroup h2, #free_footer .contact p {
  color: #fff;
  position: relative;
  z-index: 100;
}
#free_footer .contact ul, #free_footer .contact dl {
  position: relative;
  z-index: 100;
}
#free_footer .contact > p {
  font-size: 1.1rem;
}
#free_footer .contact ul {
  margin-top: 2em;
  margin-bottom: 1em;
}
#free_footer .contact + p {
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  margin: 1em 0;
  display: none;
}
#mermaid #course {
	justify-content: center;
  margin: 1em auto 0;
}
#mermaid #course li a {
  color: #fff;
  display: block;
  background: #4154c1;
  text-align: center;
  padding: 1% 5% 5%;
}
#mermaid #course li:last-child a {
  background: #1b8bcf;
}
#mermaid #course li a span {
  -webkit-transition: .3s ease-out;
  -moz-transition: .3s ease-out;
  -ms-transition: .3s ease-out;
  transition: .3s ease-out;
}
#mermaid #course li a:hover span {
  background: #273793;
}
#mermaid #course li a h3 {
  font-size: 1.8rem;
  margin: 0;
}
#mermaid #course li a p {
  color: #fff;
  line-height: 1.5;
  margin-top: 1em;
}
#mermaid #course li a span {
  display: inline-block;
  border: solid 1px #fff;
  padding: 0.4em 2em;
}
.post_content table {
	font-size: 1rem;
}
.post_content table th {
	background: #d3e6ef;
	width: 30%;
}
.post_content ul.supple {
	margin-top: 0.5em;
}
.post_content ul.supple li::before {
	content: "※";
}
.post_content .learn h3 {
	border: solid 1px;
	padding: 0.2em 1.5em;
	display: inline-block;
	margin: 1.5em 0 1em;
}
.post_content .learn ul li {
	display: inline-block;
	vertical-align: top;
	width: 48%;
	text-align: left;
	font-size: 1rem;
	line-height: 1.3;
	margin-bottom: 0.5em;
	position: relative;
	padding-left: 1em;
}
.post_content .learn ul li::before {
	content: "■";
	position: absolute;
	left: 0;
}
.post_content ul.equip {
	text-align: left;
	display: inline-block;
}
.post_content ul.equip li {
	/* display: inline-block;
	vertical-align: top;
	width: 30%; */
	font-size: 1.3rem;
	font-weight: bold;
}
.post_content ul.equip li::before {
	content: "■";
	color: #04587b;
}
.post_content ul.equip li p {
	line-height: 1.4;
}
.post_content #mermaid #voice {
	padding-bottom: 0;
}
.post_content #mermaid #voice figure {
	border-radius: 50%;
	overflow: hidden;
	margin: 0;
}
#free #mainv {
	background:url(../../../assets/img/low/mermaid/free/mainv.jpg) no-repeat;
	background-size: cover;
	align-items: flex-end;
	background-position: top;
}
#free #mainv div {
	left: 5%;
	margin-bottom: 5%;
}
#free .post_content > section > h3 {
	font-size: 1.6rem;
}
#s-f.free .post_content #mermaid hgroup h2::after {
  display: none;
}
#s-f.free .post_content #mermaid {
  padding-bottom: 0;
}

@media all and (min-width: 820px) {
	#fixnav {
		display: none;
	}
  .flex_cl.cl_2 > section, .flex_cl.cl_2 > li {
    width: 48%;
  }
  .flex_cl.cl_3 > section, .flex_cl.cl_3 > li {
    width: 31%;
    margin-bottom: 8%;
  }
  .flex_cl.cl_4 > section, .flex_cl.cl_4 > li {
    width: 23%;
  }
  .flex_cl .od1 {
    order: 1;
  }
  .flex_cl .od2 {
    order: 2;
  }

  header {
    background: #009bff;
    overflow: hidden;
    height: 100px;
    margin-bottom: 5em;
  }
  header nav, .post_content > section {
    width: 100%;
    max-width: 1180px;
    margin: auto;
    padding-left: 10px;
    padding-right: 10px;
  }
	#menu_btn {
		display: none;
	}
  nav ul li {
    float: left;
  }
  nav ul li a {
    color: #fff;
    height: 100px;
    padding: 0 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
		justify-content: center;
    text-align: center;
		min-width: 120px;
  }
  nav ul li a:hover, nav ul li a.current {
    background: #3cb3ff;
    color: #fff;
  }
  nav ul li a p {
    color: #fff;
    line-height: 1.5;
  }
  nav ul li a small {
    display: block;
  }
  nav ul#gnav {
    float: left;
  }
  nav ul#cnav {
    float: right;
  }
	nav ul#cnav li:nth-child(1) a {
		background: url(../../../assets/img/common/logo.svg) no-repeat center top 20px #fff;
		background-size: 90px;
    color: #000;
    padding-top: 40px;
	}
	nav ul#cnav li:nth-child(1) a:hover {
		background: url(../../../assets/img/common/logo.svg) no-repeat center top 20px #006699;
		background-size: 90px;
		color: #fff;
	}
	nav ul#cnav li:nth-child(2) a {
		background: url(../../../assets/img/low/mermaid/icon_guide.svg) no-repeat center top 20px;
    background-size: 30px;
    padding: 40px 0 0;
	}
	nav ul#cnav li:nth-child(2) a:hover {
		background: url(../../../assets/img/low/mermaid/icon_guide.svg) no-repeat center top 20px #006699;
    background-size: 30px;
	}
	nav ul#cnav li:nth-child(3) a {
		background: url(../../../assets/img/low/mermaid/icon_mail.svg) no-repeat center top 22px;
		background-size: 30px;
		padding: 40px 0 0;
	}
	nav ul#cnav li:nth-child(3) a:hover {
		background: url(../../../assets/img/low/mermaid/icon_mail.svg) no-repeat center top 22px #006699;
		background-size: 30px;
	}
  .post_content {
    padding: 5em 0 0;
  }
  #mermaid #mainv > section {
    max-width: 1300px;
    margin: auto;
  }
	.post_content #mermaid #tour .flex_cl section, .post_content #mermaid #voice .flex_cl section {
		width: 30%;
	}
	.post_content #mermaid #tour .flex_cl section:nth-child(2), .post_content #mermaid #voice .flex_cl section:nth-child(2) {
		width: 65%;
	}
	.post_content #mermaid #voice .flex_cl {
		margin-bottom: 3em;
	}
	.post_content #mermaid #voice .flex_cl section {
		width: 20%;
	}
	.post_content #mermaid #voice .flex_cl section:nth-child(2) {
		width: 75%;
	}
	.post_content #mermaid #voice .flex_cl section h3 {
		margin-bottom: 1em;
	}
  .post_content #mermaid p:not(.w500) {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .post_content #mermaid footer p {
    max-width: unset !important;
  }

}
.post_content #mermaid p.w900 br {
  display: none;
}
.post_content #mermaid p.w900 b + br {
  display: block;
}

@media all and (max-width: 820px) {
  header {
    display: inline !important;
  }
	#free_footer {
		padding-bottom: 50px;
	}
	th, td {
		font-size: 1rem;
		line-height: 1.4;
	}
	.post_content table th {
    min-width: 6em;
	}
  #mermaid #mainv {
    height: 65vh;
  }
  #mermaid #mainv > section {
    background:url(../../../assets/img/low/mermaid/mainv_sp.jpg) no-repeat left;
    background-size: cover;
    height: 100%;
    align-items: end;
  }
  #mermaid #mainv div {
    margin-bottom: 15%;
    width: 75%;
    left: 25%;
  }
  #mermaid #mainv div h2 {
    font-size: 1.6rem;
    margin: 0 6% 0.7em 0;
    line-height: 1.5;
    text-shadow: rgb(17 36 175) 0px 0px 8px;
    -moz-text-shadow: rgba(17 36 175) 0px 0px 8px;
    -webkit-text-shadow: rgba(17 36 175) 0px 0px 8px;
	}
  #mermaid #mainv div p {
		font-size: 0.9rem;
    text-shadow: rgb(17 36 175) 0px 0px 8px;
    -moz-text-shadow: rgba(17 36 175) 0px 0px 8px;
    -webkit-text-shadow: rgba(17 36 175) 0px 0px 8px;
    margin: 0 5%;
    line-height: 1.9;   
  }

  #menu_btn,
  #menu_btn span {
  	display: inline-block;
  	transition: all .3s;
  	box-sizing: border-box;
  }
  #menu_btn {
  	width: 60px;
    height: 60px;
    position: fixed;
    right: 10px;
    top: 10px;
    z-index: 1000;
    cursor: pointer;
  	background: #0e499e;
  	border-radius: 50%;
  }
  .open #menu_btn {
  	-webkit-animation-duration:2s;
  	-ms-animation-duration:2s;
  	animation-duration:2s;
  	opacity:1;
  }
  #menu_btn em {
  	font-size: 7px;
  	color: #fff;
  	position: absolute;
  	bottom: 5px;
  	width: 100%;
  	text-align: center;
  	letter-spacing: 0;
    font-style: normal;
  }
  #menu_btn span {
  	position: absolute;
  	left: 25%;
  	width: 50%;
  	height: 2px;
  	background-color: #fff;
  }
  #menu_btn span:nth-of-type(1) {
  	top: 15px;
  }
  #menu_btn span:nth-of-type(2) {
  	top: 21px;
  }
  #menu_btn span:nth-of-type(3) {
  	top: 27px;
  }
  .open #menu_btn span:nth-of-type(1) {
  	-webkit-transform: translateY(4px) rotate(-45deg);
  	transform: translateY(4px) rotate(-45deg);
  	top: 17px;
  }
  .open #menu_btn span:nth-of-type(2) {
  	opacity: 0;
  }
  .open #menu_btn span:nth-of-type(3) {
  	-webkit-transform: translateY(-2px) rotate(45deg);
  	transform: translateY(-3px) rotate(45deg);
  	top: 24px;
  }
  nav {
  	background: rgb(0 7 43 / 90%);
  	position: fixed;
  	top: 0;
  	left: 0;
  	right: 0;
  	bottom: 0;
  	z-index: 990;
  	text-align: center;
  	display: flex;
  	visibility: hidden;
  	flex-direction: column;
  	justify-content: center;
  	align-items: center;
  	opacity: 0;
  	transition: opacity .9s ease, visibility .9s ease;
  	transform: scale(0.9);
  	transition: 0.2s;
  	-webkit-transition: 0.2s;
  }
  .open nav {
  	visibility: visible;
  	opacity: 1;
  	transform: scale(1);
  }
  nav > div {
  	width: 70%;
  	/* display: flex;
  	align-items: center;
  	justify-content: center; */
  }
  nav ul {
  	display: block;
  	height: auto;
  }
  nav ul li {
    margin: 0;
  	padding: 0.75em 0;
    opacity: 0;
    transition: opacity .1s ease;
    transform: translateX(10px);
  }
  nav ul li a {
  	padding: 0.3em 0;
  	display: inline-block;
    color: #fff;
    font-size: 1.2rem;
		font-weight: bold;
  }
  nav ul li a p {
    color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
  }
  nav ul li a p small {
    display: none;
  }
  .open nav ul li {
  	opacity: 1;
  	transform: translateX(0px);
  	transition:  transform 1s ease, opacity .9s ease;
  	transition-delay: 0.2s;
  }
  .open nav ul li:nth-child(2) {
  	transition-delay: 0.25s;
  }
  .open nav ul li:nth-child(3) {
  	transition-delay: 0.3s;
  }
  .open nav ul li:nth-child(4) {
  	transition-delay: 0.35s;
  }
  .open nav ul li:nth-child(5) {
  	transition-delay: 0.4s;
  }
  .open nav ul li:nth-child(6) {
  	transition-delay: 0.45s;
  }
  .open nav ul li:nth-child(7) {
  	transition-delay: 0.5s;
  }
	#fixnav {
		position: fixed;
		width: 100%;
		right: 0;
		bottom: 0;
		z-index: 0;
		overflow: hidden;
		z-index: 1000;
	}
	#fixnav ul {
		display: flex;
	}
	#fixnav ul li {
		width: 50%;
	}
	#fixnav ul li a {
		height: 50px;
    line-height: 50px;
    color: #fff;
    width: 100%;
    display: block;
    font-size: 1.1rem;
    text-align: center;
		background: url(../../../assets/img/low/mermaid/icon_guide.svg) no-repeat center left 20px #0e499e;
		background-size: 24px;
		padding-left: 0.6em;
	}
	#fixnav ul li:last-child a {
		background: url(../../../assets/img/low/mermaid/icon_mail.svg) no-repeat center left 20px #0e499e;
		background-size: 24px;
    border-left: solid 1px #fff;
	}
  .post_content > section, .post_content > div > section {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .post_content > section, .post_content > div {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .post_content {
    padding-top: 8vw;
  }
  #mermaid hgroup h1 {
    font-size: 1.4rem;
  }
  #mermaid hgroup h1 br, #mermaid #course li a p br {
    display: none;
  }
  #mermaid #course li {
    width: 50%;
  }
  #mermaid #course li a h3 {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  #mermaid #course li a p {
    text-align: left;
    font-size: 0.95rem;
  }
  #mermaid hgroup h2 {
    font-size: 1.8rem;
    line-height: 1.3;
    margin: 0 auto 1em;
    max-width: 8em;
  }
  #mermaid .bg h3 {
    font-size: 1.6rem;
    margin: 2em 0 0.5em;
  }
	.post_content #mermaid dl {
		border-radius: 15px;
	}
  .post_content #mermaid dl, .post_content #mermaid dl a {
    font-size: 1rem;
  }
	.post_content #mermaid dl dt, .post_content #mermaid dl dd {
		width: 100%;
		text-align: center;
	}
	#mermaid #mainv .copy {
	  bottom: 15%;
	  font-size: 2rem;
	  right: auto;
	  left: 10%;
	}
	.post_content #mermaid .flex_cl section {
		margin-bottom: 1em;
	}
	.post_content #mermaid #voice .flex_cl {
		justify-content: center;
		margin-bottom: 2em;
	}
	.post_content #mermaid #voice figure {
		width: 90%;
		max-width: 350px;
	}
	.post_content #mermaid #voice section h3 {
		font-size: 1.1rem;
	}
	.post_content #mermaid #voice .flex_cl section h3 {
		margin-bottom: 0.5em;
	}
	.free .btn {
		font-size: 1.1rem;
	}
	#free_footer .contact + p {
    margin: 1em;
    line-height: 1.4;
    text-align: left;
	}
  #free_footer .contact::after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: rgb(26 29 93 / 70%);
    position: absolute;
    top: 0;
    left: 0;
  }
  #mermaid .contact hgroup h2 {
    font-size: 1.6rem;
    max-width: none;
  }
}

@media all and (max-width: 500px) {
  #mermaid #mainv {
    height: calc(100vh - 50px);
  }
  #mermaid #mainv div h2 {
    font-size: 1.5rem;
  }
  #mermaid #course li a {
    min-height: 17em;
  }
  #mermaid #advanced + section #course li a {
    min-height: unset;
  }
}