@charset "utf-8";

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;
  margin-top: 5em;
}

.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;
}
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 {
  padding-top: 4vw;
  padding-bottom: 4vw;
}
.post_content p {
  font-weight: 500;
  font-size: 1.1rem;
}
.free #mainv {
  background:url(../../../assets/img/low/free/mainv.jpg) no-repeat;
  background-size: cover;
  height: calc(100vh - 100px);
  display: flex;
  align-items: center;
}
.free #mainv div {
  color: #fff;
  position: relative;
  left: 10%;
}
.free #mainv div h2 {
  font-weight: normal;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 2px;
}
#free.free #mainv div h2 {
	color: #ffe500;
	font-size: 2rem;
	line-height: 1.6;
}
#free.free #mainv div h2 em {
	color: #fff;
	font-size: 2.8rem;
}
.free #mainv div p {
  color: #fff;
  font-size: 1rem;
  margin-top: 2em;
}
.free #mainv .copy {
	position: absolute;
	top: 1%;
	left: 10%;
	color: #fff;
	transform: rotate(-7deg);
	font-size: 2.6rem;
	letter-spacing: 2px;
	color: #ffe500;
	text-shadow: 1px 1px 0px rgb(0 0 0);
}
#free.free #mainv .copy {
	top: auto;
	bottom: 28%;
	left: auto;
	right: 10%;
	font-size: 2.8rem;
	text-shadow: 1px 1px 0px rgba(0,0,0,1);
}
.free hgroup {
  text-align: center;
  color: #005a80;
}
#free.free hgroup {
  color: #2e355e;
}
.free #skin.mermaid hgroup {
  color: #2187c4;
}
.free #skin.mermaid.bg {
  background: #ddfaff;
}
.free #skin.mermaid hgroup h2::after {
  background: #2187c4 !important;
}
.post_content .free hgroup {
  margin-bottom: 3em;
}
.free hgroup h1 {
  font-size: 2.6rem;
  line-height: 1.3;
}
#s-f.free hgroup h1, .free hgroup.read h3 {
  color: #cc3366;
	font-size: 2.2rem;
}
.free hgroup.read h3 {
  color: #cc3366;
	font-size: 2rem;
  line-height: 1.4;
}
#s-f.free hgroup h1::after {
	display: none;
}
.free hgroup h2 {
  font-size: 2.4rem;
  margin: 0.25em 0 1.5em;
}
#skin.free h2, #free.free h2 {
	background: #04587b;
  color: #fff;
  position: relative;
  font-size: 2rem;
  margin-top: 3em;
  padding: 5px 0;
}
#free.free h2 {
	background: #2c345c;
}
#skin.free h2::before, #free.free h2::before {
	content: "";
	background:url(../../../assets/img/low/free/skin/bg_ttl.svg) no-repeat;
	background-size: 150px;
	display: block;
	width: 150px;
	height: 44px;
	position: absolute;
	top: -42px;
	left: 50%;
	margin: 0 0 0 -75px;
}
#free.free h2::before {
	content: "";
	background:url(../../../assets/img/low/free/free/bg_ttl.svg) no-repeat;
	top: -41px;
}
#s-f.free h2::after, .free hgroup h1::after {
  content: "";
  display: block;
  height: 3px;
  width: 150px;
  margin: 0.3em auto 0;
  background: #005a80;
}
#free.free h1::after {
	background: #2e355e;
}
.free hgroup h3 {
  font-size: 1.8rem;
}
.free hgroup p {
  font-weight: bold;
  font-size: 1.2rem;
  color: #005a80;
}
/* .post_content .free dl {
  border-radius: 50px;
  overflow: hidden;
  border: solid 1px #005a80;
  max-width: 1100px;
  margin: auto;
  font-size: 1.4rem;
  font-weight: bold;
}
.post_content .free dl dt {
  width: 32%;
  background: #005a80;
  color: #fff;
  padding: 2%;
}
.post_content .free dl dd {
  width: 60%;
  padding: 2%;
  color: #005a80;
}
.post_content .free dl dd a {
  color: #2e355e;
	text-decoration: underline;
}
.post_content .free dl dd a:hover {
  color: #0095d4;
	text-decoration: none;
}
.post_content .free #free dl {
  border: solid 1px #2e355e;
}
.post_content .free #free dl dt {
  background: #2e355e;
} */
.post_content .free .btn {
  background: #005a80;
  color: #fff;
  text-align: center;
  padding: 1.3em 0;
  max-width: 400px;
  width: 100%;
  margin: 2.5em auto 0;
  display: block;
  font-size: 1.2rem;
  line-height: 1;
}
.post_content .free .btn:hover {
  background: #0095d4;
}
.free .bg {
  background: #e8eefb;
}
.free .bg#free {
  background: #e1efee;
}
#free_footer {
  margin-top: 0;
}
#skin #free_footer, #free #free_footer {
  margin-top: 3em;
}
#free_footer .contact {
  background: #000;
  color: #fff;
  text-align: center;
}
#free_footer .contact hgroup p, #free_footer .contact dl dt {
  color: #aaa;;
}
#free_footer .contact hgroup h2, #free_footer .contact p {
  color: #fff;
}
#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;
}
.free #course {
	justify-content: center;
}
.free #course li a {
  color: #fff;
  display: block;
  background: #2e355e;
  text-align: center;
  padding: 1% 5% 5%;
}
.free #course li:last-child a {
  background: #005a80;
}
.free.s-f-m #course li:nth-child(2) a {
  background: #005a80;
}
.free.s-f-m #course li:last-child a {
  background: #4ba2da;
}
.free #course li a span {
  -webkit-transition: .3s ease-out;
  -moz-transition: .3s ease-out;
  -ms-transition: .3s ease-out;
  transition: .3s ease-out;
}
.free #course li a:hover span {
  background: #006699;
  filter: brightness(120%) !important;
}
.free #course li a h3 {
  font-size: 1.8rem;
  margin: 0;
}
.free #course li a span {
  display: inline-block;
  border: solid 1px #fff;
  padding: 0.4em 2em;
}
#skin #mainv {
	background:url(../../../assets/img/low/free/skin/mainv.jpg) no-repeat;
	background-size: cover;
	align-items: flex-end;
}
#skin #mainv div {
	left: calc(100% - 32em);
	margin-bottom: 5%;
}
#skin #mainv div h2 {
	text-align: right;
	line-height: 1.5;
}
#skin #mainv div h2, #free #mainv div h2, #free_footer .contact hgroup h2 {
  background: none;
  margin: 0.25em 0 0;
}
#skin #mainv div h2::before, #free #mainv div h2::before, #free_footer .contact hgroup h2::before {
  display: none;
}
#skin #mainv div h2 em {
	color: #ffe500;
}
#free #mainv {
	background:url(../../../assets/img/low/free/free/mainv.jpg) no-repeat;
	background-size: cover;
	align-items: flex-end;
}
#free.free #mainv div h2 em {
	font-size: 1.6rem;
}
#free.free #mainv div h2 {
	line-height: 1.5;
}
.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 .free #voice {
	padding-bottom: 0;
}
.post_content .free #voice figure {
	border-radius: 50%;
	overflow: hidden;
	margin: 0;
}
#free #mainv {
	background:url(../../../assets/img/low/free/free/mainv.jpg) no-repeat;
	background-size: cover;
	align-items: flex-end;
	background-position: top;
  position: relative;
}
#free #mainv div {
	left: 5%;
	margin-bottom: 5%;
}
#free .post_content > section > h3 {
	font-size: 1.6rem;
}

.s-f-m #mainv {
  background: none !important;
  height: unset !important;
}

@media all and (min-width: 768px) {
	#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: #000;
    overflow: hidden;
    height: 100px;
  }
  #content.l-content, #main_content, .l-mainContent__inner>.post_content  {
    max-width: unset;
    padding: 0;
  }
  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: #006699;
    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/free/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/free/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/free/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/free/icon_mail.svg) no-repeat center top 22px #006699;
		background-size: 30px;
	}
  .post_content {
    padding: 5em 0 0;
  }
	.post_content .free #tour .flex_cl section, .post_content .free #voice .flex_cl section {
		width: 30%;
	}
	.post_content .free #tour .flex_cl section:nth-child(2), .post_content .free #voice .flex_cl section:nth-child(2) {
		width: 65%;
	}
	.post_content .free #voice .flex_cl {
		margin-bottom: 3em;
	}
	.post_content .free #voice .flex_cl section {
		width: 20%;
	}
	.post_content .free #voice .flex_cl section:nth-child(2) {
		width: 75%;
	}
	.post_content .free #voice .flex_cl section h3 {
		margin-bottom: 1em;
	}
  .post_content .free section:not(#mainv, #free_footer .contact) {
    max-width: var(--container_size);
    margin-left: auto;
    margin-right: auto;
  }

}

@media all and (max-width: 768px) {
  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;
	}
  .free #mainv {
    background:url(../../../assets/img/low/free/mainv_sp.jpg) no-repeat right;
    background-size: cover;
    height: calc(100vh - 50px);
    align-items: end;
  }
	#free.free #mainv {
		background: url(../../../assets/img/low/free/free/mainv_sp.jpg) no-repeat center top;
    background-size: cover;
    height: calc(100vh - 50px);
    align-items: center;
  }
	#free.free #mainv div h2 {
		font-size: 1.5rem;
	}
  .free #mainv div {
    left: 5%;
    margin-bottom: 10%;
  }
  .free #mainv div h2 {
    font-size: 1.6rem;
  }
  .free #mainv div p {
		font-size: 0.9rem;
  }

  #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: 100;
	}
	#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/free/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/free/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;
  }
  #s-f.free hgroup h1 {
    font-size: 1.4rem;
  }
  .free #course li {
    width: 50%;
  }
  .free #course li a h3 {
    font-size: 1.1rem;
    line-height: 1.3;
  }
  .free hgroup h2 {
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 1em;
  }
	.post_content .free dl {
		border-radius: 15px;
	}
  .post_content .free dl, .post_content .free dl a {
    font-size: 1rem;
  }
	.post_content .free dl dt, .post_content .free dl dd {
		width: 100%;
		text-align: center;
	}

	#skin #mainv {
		background-position: bottom;
	}
	#skin #mainv div {
    left: calc(100% - 23em);
	}
	#skin hgroup h1, #free hgroup h1 {
    font-size: 1.7rem;
	}
	.post_content #skin .free  h2, .post_content #free .free  h2 {
    font-size: 1.3rem;
    padding: 0.3em 0;
	}
	/* .post_content ul.equip li {
    width: 47%;
	} */
	.post_content .learn ul li {
    width: 44%;
	}
	/* #free.free #mainv div {
		left: calc(100% - 32em);
		margin-bottom: 5%;
	} */
	#free.free #mainv .copy {
	  bottom: 15%;
	  font-size: 2rem;
	  right: auto;
	  left: 10%;
	}
	.post_content .free .flex_cl section {
		margin-bottom: 1em;
	}
	.post_content .free #voice .flex_cl {
		justify-content: center;
		margin-bottom: 2em;
	}
	.post_content .free #voice figure {
		width: 90%;
		max-width: 350px;
	}
	.post_content .free #voice section h3 {
		font-size: 1.1rem;
	}
	.post_content .free #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 hgroup.read h3 {
    font-size: 1.4rem;
  }
}
