@charset "UTF-8";
/* 共通 */
#wrapper {
  width: 100%;
  min-width: 1200px;
  margin: 0 auto;
  position: relative;
}
/* link */
a:link, a:visited, a:active {
  color: #333333 !important;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
a:hover img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
#wpadminbar .ab-empty-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
  color: #f0f0f1 !important;
}
/* main */
#main {
  width: 100%;
  height: 100vh;
  background-color: #1C4377;
  position: relative;
  overflow: hidden;
}
#main #logo {
  position: absolute;
  top: 6%;
  left: 2.5%;
  width: 320px;
  z-index: 2;
  animation: .9s fadeinlogo .9s forwards;
  -webkit-animation: .9s fadeinlogo .9s forwards;
  opacity: 0;
}
#main .fade {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  width: 460px;
  animation: .4s fadeinslide .4s forwards;
  -webkit-animation: .4s fadeinslide .4s forwards;
  opacity: 0;
}
#main .copy {
  position: absolute;
  color: #FFF;
  text-align: left;
  letter-spacing: 0.11em;
  bottom: 6%;
  left: 3%;
  line-height: 1.8;
  animation: 1.4s fadeinother 1.4s forwards;
  -webkit-animation: 1.4s fadeinother 1.4s forwards;
  opacity: 0;
}
#main .copy .en {
  margin-top: 1em;
  letter-spacing: 0.07em;
  line-height: 1.7;
}
#main #top_sns {
  text-align: right;
  position: absolute;
  bottom: 13%;
  right: 2.5%;
  animation: 1.4s fadeinother 1.4s forwards;
  -webkit-animation: 1.4s fadeinother 1.4s forwards;
  opacity: 0;
}
#main #top_sns li {
  display: inline-block;
  margin-left: 0.6em;
}
#main #top_sns li a {
  color: #FFF !important;
}
#main .button_w {
  position: absolute;
  line-height: 1.6;
  letter-spacing: 0.11em;
  bottom: 6%;
  right: 2.5%;
  width: 18em;
  animation: 1.4s fadeinother 1.4s forwards;
  -webkit-animation: 1.4s fadeinother 1.4s forwards;
  opacity: 0;
}
@-webkit-keyframes fadeinlogo {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes fadeinslide {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes fadeinother {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
/* top */
#top {
  width: 100%;
  position: static;
  color: #333;
}
#top #top_contents {
  padding: 5em 6% 6em;
  display: flow-root;
}
#top #top_contents #top_gallery {
  text-align: left;
  width: 50%;
  float: left;
}
#top #top_contents #top_gallery h2 {
  margin-bottom: 1em;
  float: left;
}
#top #top_contents #top_gallery h2 span {
  margin-left: 1.5em;
}
#top #top_contents #top_gallery .top_button {
  float: right;
  width: 7em;
  color: #1C4377 !important;
  border-bottom: 1px solid #1C4377;
  line-height: 1;
  padding: 0.4em 0;
}
#top #top_contents #top_gallery ul {
  clear: both;
  display: flex;
  justify-content: space-between;
}
#top #top_contents #top_gallery ul li {
  width: 47%;
}
#top #top_contents #top_gallery ul li .thumb {
  margin-bottom: 1em;
  overflow: hidden;
}
#top #top_contents #top_gallery ul li .date {
  margin-bottom: 0.5em;
}
#top #top_contents #top_event {
  text-align: left;
  width: 45%;
  float: right;
}
#top #top_contents #top_event h2 {
  margin-bottom: 1em;
  float: left;
}
#top #top_contents #top_event h2 span {
  margin-left: 1.5em;
}
#top #top_contents #top_event .top_button {
  float: right;
  width: 7em;
  color: #1C4377 !important;
  border-bottom: 1px solid #1C4377;
  line-height: 1;
  padding: 0.4em 0;
}
#top #top_contents #top_event ul {
  clear: both;
}
#top #top_contents #top_event ul li {
  padding: 1em 0 3em;
  border-top: 1px solid #1C4377;
}
#top #top_contents #top_event ul li:last-child {
  border-bottom: 1px solid #1C4377;
}
#top #top_contents #top_event ul li h3 {
  float: left;
}
#top #top_contents #top_event ul li p {
  text-align: right;
  float: right;
}
#top #top_contents #top_event ul li span {
  margin-right: 1em;
}
#top #top_contents #top_event .button_b {
  margin-top: 3em;
  text-align: center;
  padding: 1.65em 0;
}
#top #top_contents #top_event .button_b span {
  margin-right: 1em;
}
#top #top_list {
  clear: both;
  background-color: #F5F5F5;
  padding: 5em 5% 6em;
}
#top #top_list ul {
  display: flex;
  justify-content: space-between;
}
#top #top_list li {
  width: 33%;
  border-right: 1px solid #1C4377;
  padding: 2% 6.5%;
}
#top #top_list li:last-child {
  border-right: none;
}
#top #top_list h2 {
  margin-bottom: 1.5em;
}
#top #top_list h2 img {
  height: 3.5em;
  width: auto;
}
#top #top_list h2 span {
  display: block;
  color: #1C4377;
  margin-top: 1.5em;
}
#top #top_list p {
  text-align: justify;
}
#top #top_list .border_link {
  text-align: center;
  margin-top: 2em;
  color: #1C4377;
  border-bottom: 1px solid #1C4377;
  padding-bottom: 0.3em;
  display: inline-block;
}
/* header */
  #header {
    position: relative;
    width: 100%;
    padding: 3% 5% 4%;
    border-bottom: 1px solid #1C4377;
  }
  #header #logo {
    width: 280px;
    margin: 0 auto;
  }
  #header #logo a:hover img {
    transform: none;
  }
  #header .copy {
    display: none;
    text-align: left;
    position: absolute;
    top: 3.2em;
    left: 5%;
  }
  #header .copy .en {
    margin-top: 0.8em;
    line-height: 1.5;
  }
  /* 下層共通 */
  #contents .title_a {
    width: 60%;
    margin: 5em auto;
    display: flex;
    justify-content: space-between;
  }
  #contents .title_a h2 {
    padding-top: 0.5em;
  }
  #contents .title_a h2 img {
    height: 4.2em;
    width: auto;
  }
  #contents .title_a h2 span {
    display: block;
    color: #1C4377;
    margin-top: 1.5em;
  }
  #contents .title_a p {
    text-align: justify;
    width: 65%;
  }
  #contents .title_a p span {
    margin-top: 1.5em;
    border-bottom: 1px solid #1C4377;
    padding-bottom: 0.3em;
    display: inline-block;
    color: #1C4377 !important;
  }
  #contents .title_b {
    width: auto;
    margin: 5em auto;
  }
  #contents .title_b h2 {
    padding-top: 0.5em;
  }
  #contents .title_b h2 img {
    height: 4em;
    width: auto;
  }
  #contents .title_b h2 span {
    display: block;
    color: #1C4377;
    margin-top: 1.5em;
  }
  #contents .photo_block {
    width: 93%;
    margin: 0 auto;
  }
  #contents .photo_block ul {
    display: flex;
    justify-content: space-between;
  }
  #contents .photo_block li {
    width: 49%;
  }
  .home #contents main {
    width: 100%;
    margin: 0 auto;
  }
  #contents .layer_title {
    margin-bottom: 2em;
  }
  #contents .layer_title span {
    display: block;
    margin-top: 0.3em;
  }
  #contents .gray_box {
    width: 75%;
    margin: 0 auto;
    padding: 5% 7%;
    background-color: #F5F5F5;
    border-radius: 20px;
  }
  /* about */
  #about {
    width: 100%;
    margin: 6em auto 8em;
    display: flow-root;
  }
  #about #profile #left {
    display: inline-block;
    vertical-align: top;
    width: 42%;
    margin-right: 7%;
    text-align: left;
  }
  #about #profile #left img {
    padding: 1%;
  }
  #about #profile #left dl {
    text-align: justify;
  }
  #about #profile #left dl dt {
    margin-top: 1.5em;
    margin-bottom: 0.75em;
  }
  #about #profile #left dl dt span {
    display: block;
    margin-bottom: 0.5em;
  }
  #about #profile #right {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    text-align: left;
  }
  #about #profile #right h3 {
    margin-bottom: 1.2em;
  }
  #about #profile #right ul {
    margin-bottom: 3em;
  }
  #about #profile #right ul li {
    padding: 1em 0;
    border-top: 1px solid #1C4377;
  }
  #about #profile #right ul li:last-child {
    border-bottom: 1px solid #1C4377;
  }
  #about #profile #right ul li h5 {
    width: 10%;
    margin-right: 2%;
    display: inline-block;
    vertical-align: top;
  }
  #about #profile #right ul li p {
    width: 86%;
    display: inline-block;
    vertical-align: top;
  }
  #about #staff {
    width: 70%;
    margin: 5em auto 0;
  }
  #about #staff p {
    width: 50%;
    margin: 0 auto;
    text-align: justify;
  }
  #about #staff ul {
    margin-top: 3em;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
  }
  #about #staff ul li {
    text-align: center;
    width: 33%;
    padding: 0 2%;
    vertical-align: top;
    margin-bottom: 6%;
  }
  #about #staff ul li figure img {
    margin-bottom: 0.5em;
    padding: 6%;
  }
  #about #staff ul li figure figcaption span {
    display: block;
    margin-top: 0.5em;
  }
  /* lesson */
  #lesson {
    width: 100%;
    margin: 6em auto 8em;
    display: flow-root;
  }
  #lesson #class {
    width: 90%;
    margin: 5em auto 0;
  }
  #lesson #class p {
    margin-bottom: 3em;
  }
  #lesson #class ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5em;
  }
  #lesson #class ul li {
    width: 33%;
    border-right: 1px solid #1C4377;
    padding: 2% 4%;
  }
  #lesson #class ul li:last-child {
    border-right: none;
  }
  #lesson #class ul:nth-child(2n)::after {
    content: "";
    display: block;
    width: 33%;
  }
  #lesson #class ul li h2 {
    margin-bottom: 1em;
  }
  #lesson #class ul li h2 span {
    display: block;
    margin-bottom: 0.7em;
  }
  #lesson #class ul li h3 {
    margin-bottom: 3em;
  }
  #lesson #class ul li h3 span {
    border: 1px solid #1C4377;
    border-radius: 30px;
    padding: 1em 1.5em;
  }
  #lesson #class ul li p {
    text-align: justify;
    margin-bottom: 2em;
  }
  #lesson #class ul li .shosai {
    text-align: left;
  }
  #lesson #class ul li .shosai dl {
    margin-top: 0.5em;
  }
  #lesson #class ul li .shosai dl dt {
    display: inline-block;
    vertical-align: top;
    width: 30%;
  }
  #lesson #class ul li .shosai dl dd {
    display: inline-block;
    vertical-align: top;
    width: 68%;
  }
  #lesson #banner {
    width: 75%;
    margin: 3em auto 6em;
    border: 1px solid #1C4377;
    border-radius: 60px;
    padding: 2em 1em;
  }
  #lesson #banner h2 {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2em;
  }
  #lesson #banner p {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    width: 50%;
  }
  /* join */
  #join {
    width: 85%;
    margin: 0 auto 8em;
    display: flow-root;
  }
  #join #flow {
    width: 100%;
    padding: 5% 3% 6%;
  }
  #join #flow ul {
    display: flex;
    justify-content: space-between;
  }
  #join #flow ul li {
    width: 25%;
    border-right: 1px solid #1C4377;
    padding: 2% 4%;
  }
  #join #flow ul li:last-child {
    border-right: none;
  }
  #join #flow ul li .number {
    margin-bottom: 1.5em;
  }
  #join #flow ul li .number span {
    border: 1px solid #1C4377;
    border-radius: 50px;
    padding: 0.7em 1em;
  }
  #join #flow ul li h2 {
    margin-bottom: 1em;
  }
  #join #flow ul li p {
    text-align: justify;
  }
  #join #trial {
    width: 90%;
    margin: 5em auto 0;
  }
  #join #trial .attention {
    width: 55%;
    margin: 0 auto 1.5em;
    text-align: justify;
  }
  #join #trial #form .data {
    width: 55%;
    margin: 2em auto 0;
    text-align: left;
  }
  #join #trial #form .data dt {
    margin-bottom: 0.5em;
  }
  #join #trial #form .data dd {
    margin-bottom: 1.2em;
  }
  #join #trial #form .data #policy input {
    display: inline;
	width: auto;
  }
  #join #trial #form .data input {
    width: 100%;
    line-height: 2.2em;
    border: 1px solid #1C4377;
    padding: 1%;
    font-size: 1em;
  }
  #join #trial #form .data select {
    width: 100%;
    height: 40px;
    line-height: 2.2em;
    border: 1px solid #1C4377;
    padding: 6px;
    font-size: 1em;
    background-color: #fff;
  }
  #join #trial #form .data textarea {
    width: 100%;
    line-height: 2.2em;
    border: 1px solid #1C4377;
    padding: 1%;
    font-size: 1em;
  }
  #join #trial #form .data .submit {
    text-align: center;
    width: 100%;
    margin-top: 0;
  }
  #join #trial #form .data .submit input {
    width: 100%;
    background-color: #1C4377;
    border-style: none;
    font-size: 100%;
    padding: 15px 25px;
    color: #FFF;
  }
  /* qa */
  #qa {
    width: 85%;
    margin: 0 auto 8em;
    display: flow-root;
  }
  #qa #qa_list {
    width: 70%;
    margin: 0 auto;
    border-top: 1px solid #1C4377;
    text-align: left;
  }
  #qa #qa_list li {
    padding: 3em 0;
    border-bottom: 1px dashed #1C4377;
  }
  #qa #qa_list li:last-child {
    border-bottom: none;
  }
  #qa #qa_list li h3 span {
    margin-right: 1em;
  }
  #qa #qa_list li h3 {
    margin-bottom: 1em;
  }
  /* access */
  #access {
    width: 85%;
    margin: 0 auto 8em;
    display: flow-root;
  }
  #access #jyusyo {
    width: 50%;
    margin: 5em auto 0;
    text-align: left;
  }
  #access #jyusyo dl {
    margin-bottom: 1em;
  }
  #access #jyusyo dl dt {
    margin-right: 2em;
    width: 4em;
    display: inline-block;
    vertical-align: top;
  }
  #access #jyusyo dl dd {
    display: inline-block;
    vertical-align: top;
  }
  #access #map iframe {
    width: 100%;
    height: 45em;
    margin-top: 5em;
  }
  /* event */
  #event {
    margin: 0 auto 8em;
  }
  #event #current {
    width: 65%;
    margin: 0 auto 6em;
  }
  #event #past {
    width: 65%;
    margin: 0 auto;
  }
  #event h2 {
    margin-bottom: 2em;
  }
  #event ul li {
    padding: 1em 0 3em;
    border-top: 1px solid #1C4377;
  }
  #event ul li:last-child {
    border-bottom: 1px solid #1C4377;
  }
  #event ul li h3 {
    float: left;
  }
  #event ul li p {
    text-align: right;
    float: right;
  }
  #event ul li span {
    margin-right: 1em;
  }
  /* members */
  #members {
    width: 85%;
    margin: 0 auto 8em;
    display: flow-root;
  }
  /* blog */
  #blog {
    width: 85%;
    margin: 0 auto 8em;
    display: flow-root;
  }
  /* category */
  .category {
    text-align: left;
    width: 13%;
    float: left;
  }
  .category h3 {
    margin-bottom: 1em;
  }
  .category ul li {
    margin-bottom: 1em;
  }
  /* article_block */
  .article_block {
    border-left: 1px solid #1C4377;
    padding-left: 6%;
    text-align: left;
    width: 87%;
    float: right;
  }
  .article_block ul {
    display: flex;
    flex-wrap: wrap;
  }
  .article_block ul li {
    width: 33.3%;
    padding: 0 2%;
    margin-bottom: 6%;
  }
  .article_block ul li .thumb {
    margin-bottom: 1em;
    overflow: hidden;
  }
  .article_block ul li .date {
    margin-bottom: 0.5em;
  }
  /* single */
  #single {
    width: 85%;
    margin: 6em auto 8em;
    display: flow-root;
  }
  #single .inner .entrybody {
    width: 70%;
    border-right: 1px solid #1C4377;
    border-left: 1px solid #1C4377;
    padding: 0 7%;
    margin: 0 auto 5em auto;
    text-align: left;
  }
  #single .inner .entrybody .title {
    display: block;
    font-size: 1.8em;
    margin-bottom: 1em;
    clear: both;
    text-align: center;
  }
  #single .inner .entrybody .date {
    display: block;
    font-size: 1em;
    margin-bottom: 2.5em;
    clear: both;
    text-align: center;
  }
  #single .inner .entrybody a:link {
    border-bottom: 1px dashed #333 !important;
    padding-bottom: 0.3em;
  }
  #single .inner .entrybody h1 {
    font-size: 1.8rem;
    line-height: 2;
  }
  #single .inner .entrybody h2 {
    font-size: 1.6rem;
    line-height: 2;
  }
  #single .inner .entrybody h3 {
    font-size: 1.4rem;
    line-height: 2;
  }
  #single .inner .entrybody h4 {
    font-size: 1.2rem;
    line-height: 2;
  }
  #single .inner .entrybody h5 {
    font-size: 1.1rem;
    line-height: 2;
  }
  #single .inner .entrybody h6 {
    font-size: 1rem;
    line-height: 2;
  }
  #single .inner .entrybody p {
    font-size: 1.2rem;
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 2;
  }
  #single .inner .entrybody sup {
    font-size: 1rem;
  }
  #single .inner .entrybody table {
    width: 100%;
    margin-bottom: 2em;
    margin-top: 2em;
    text-align: left;
  }
  #single .inner .entrybody blockquote {
    padding: 5%;
    margin-top: 2em;
    margin-bottom: 2em;
    border: 1px solid #333333;
    font-style: italic;
  }
  #single .inner .entrybody th {
    font-size: 1em;
    line-height: 1.5em;
    font-weight: bold;
    padding: 10px;
    text-align: left;
  }
  #single .inner .entrybody td {
    font-size: 1em;
    line-height: 1.5em;
    padding: 10px;
    text-align: left;
  }
  #single .inner .entrybody ul {
    margin-bottom: 2em;
    overflow: hidden;
    text-align: left;
  }
  #single .inner .entrybody li {
    font-size: 1em;
    line-height: 1;
    margin-top: 1em;
    padding-left: 1em;
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #333333;
    text-align: left;
  }
  #single .inner .entrybody dt {
    font-size: 1em;
    line-height: 1.5em;
    display: block;
    margin-bottom: 20px;
    text-align: left;
  }
  #single .inner .entrybody dd {
    font-size: 1em;
    line-height: 1.5em;
    display: block;
    margin-bottom: 20px;
    text-align: left;
  }
  #single .inner .entrybody img {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  #single .pagenavi {
    width: 70%;
    margin: 0 auto;
  }
  #single .pagenavi ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  /* footer */
  #footer {
    width: 100%;
    padding: 4% 6% 7%;
    background-color: #1C4377;
    color: #FFF;
    text-align: left;
    clear: both;
  }
  #footer footer {
    display: flex;
    justify-content: space-between;
  }
  #footer #ft_logo {
    width: 235px;
    padding-top: 0.5em;
    margin-right: 3%;
  }
  #footer #ft_logo a:hover img {
    transform: none;
  }
  #footer #ft_caption a {
    color: #FFF !important;
  }
  #footer nav ul {
    display: inline-block;
    margin-right: 4em;
  }
  #footer nav ul li {
    margin-bottom: 0.7em;
  }
  #footer nav ul li span {
    margin-right: 0.5em;
  }
  #footer nav ul li a {
    color: #FFF !important;
  }
  #footer #ft_sns {
    text-align: right;
  }
  #footer #ft_sns li {
    display: inline-block;
    margin-left: 1em;
  }
  #footer #ft_sns li a {
    color: #FFF !important;
  }