@charset "UTF-8";
/* Reset & Base
---------------------------------------------------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
}
html {
  overflow-y: scroll;
}
body {
  width: 100%;
  overflow-x: hidden;
  color: #000;
  font: 62.5%/2 "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: justify;
  text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 1.4em;
  line-height: 1.5;
}
p {
  margin-bottom: 1em;
  font-size: 1.4em;
}
ul, ol, dl {
  font-size: 1.4em;
}
li {
  list-style-type: none;
  margin-bottom: .5em;
  line-height: 1.6;
}
a {
  font-size: 1em;
}
table {
  border-collapse: collapse;
  font-size: 1.4em;
}
table ul, table ol, table dl, table p, table h3, table h4, table div, dl ul, dl ol, dl dl, dl p, dl h3, dl h4, dl div {
  font-size: 1em !important;
}
img {
  border: none;
  vertical-align: bottom;
}
blockquote, q {
  quotes: """";
}
blockquote::before, blockquote::after, q::before, q::after {
  content: "";
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
@media (min-width: 992px) {
  h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table {
    font-size: 1.8em;
  }
}
/* Link
-------------------------------------------------------------- */
a {
  color: #5F8FBF;
  text-decoration: underline;
}
a:hover {
  color: #95b3cd;
  text-decoration: none;
}
a.over {
  transition: 0.5s all;
  -ms-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -webkit-transition: 0.5s all;
}
a.over:hover {
  opacity: 0.6;
}
/* Clearfix
-------------------------------------------------------------- */
.clearfix {
  display: block;
  clear: both;
}
.clearfix::after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: "";
}
* html .clearfix {
  height: 1%;
}
/* Theme Default
---------------------------------------------------------------------------------------------- */
/* Column
-------------------------------------------------------------- */
.wrapper {
  /*max-width: 1280px;*/
  margin: 0 auto;
}
.container {
  width: 90%;
  max-width: 540px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .wrapper {
    margin-bottom: 0px;
  }
  .container {
    width: 680px;
    max-width: none;
  }
}
@media (min-width: 992px) {
  .wrapper {
    margin-bottom: 0;
  }
  .container {
    width: 900px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1120px;
  }
  .container.-narrow {
    width: 900px;
  }
}
@media (min-width: 1400px) {
  .container.-wide {
    width: 1320px;
  }
}
/* Footer
-------------------------------------------------------------- */
.copyright {
  display: block;
  margin-top: 20px;
  padding: 10px 20px 90px;
  color: #000;
  font-size: 12px;
  text-align: center;
}
.fixed-btn {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}
.fixed-btn a {
  display: block;
  padding: 15px 5px;
  background: #ed7072;
  color: #fff;
  text-decoration: none;
  outline: none;
  text-align: center;
  transition: 0.4s ease;
  -ms-transition: 0.4s ease;
  -moz-transition: 0.4s ease;
  -webkit-transition: 0.4s ease;
}
.fixed-btn a:hover {
  background-color: #ed8e2d;
}
.fixed-btn img {
  width: 280px;
}
@media (min-width: 992px) {
  .copyright {
    margin-top: 30px;
    padding: 35px 35px 100px;
    font-size: 14px;
  }
  .fixed-btn img {
    width: 360px;
  }
}
/* Toppage MainImg
-------------------------------------------------------------- */
.hero {
  background: #f5fbfe;
  text-align: center;
}
.hero img {
  width: 100%;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Style
---------------------------------------------------------------------------------------------- */
/* Typography
-------------------------------------------------------------- */
h2 {
  margin: 30px 0 20px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6;
}
h3 {
  margin: 20px 0 10px;
  padding: 10px 12px;
  border-left: 8px solid #bbe2f4;
  background: #f5fbfe;
  font-size: 18px;
}
h4 {
  margin: 30px 0 20px;
  padding: 6px 0 5px 8px;
  border-left: 4px solid #bbe2f4;
  font-weight: bold;
  font-size: 150%;
}
h2.style-reset, h3.style-reset, h4.style-reset {
  padding: 0;
  border: none;
  background: none;
  font-style: normal;
  font-weight: normal;
}
h2.imgtitle, h3.imgtitle, h4.imgtitle {
  margin-bottom: 30px;
  padding: 0;
  border: none;
  background: none;
}
h2.imgtitle img, h3.imgtitle img, h4.imgtitle img {
  width: 100%;
  max-width: 400px;
}
h2.imgtitle.subtitle, h3.imgtitle.subtitle, h4.imgtitle.subtitle {
  margin-bottom: 20px;
}
h2.imgtitle.subtitle img, h3.imgtitle.subtitle img, h4.imgtitle.subtitle img {
  max-width: 250px;
}
@media (min-width: 768px) {
  h2 {
    margin-bottom: 40px;
    font-size: 28px;
  }
  h3 {
    margin: 20px 0 10px;
    font-size: 24px;
  }
  h2.imgtitle, h3.imgtitle, h4.imgtitle {
    margin-bottom: 40px;
  }
  h2.imgtitle img, h3.imgtitle img, h4.imgtitle img {
    max-width: 620px;
  }
  h2.imgtitle.subtitle, h3.imgtitle.subtitle, h4.imgtitle.subtitle {
    margin-bottom: 30px;
  }
  h2.imgtitle.subtitle img, h3.imgtitle.subtitle img, h4.imgtitle.subtitle img {
    max-width: 350px;
  }
}
@media (min-width: 992px) {
  h2 {
    margin-bottom: 60px;
    font-size: 36px;
  }
  h3 {
    font-size: 30px;
  }
  h2.imgtitle, h3.imgtitle, h4.imgtitle {
    margin-bottom: 60px;
  }
  h2.imgtitle img, h3.imgtitle img, h4.imgtitle img {
    max-width: 820px;
  }
  h2.imgtitle.subtitle img, h3.imgtitle.subtitle img, h4.imgtitle.subtitle img {
    max-width: 500px;
  }
}
/* Image & Iframe
-------------------------------------------------------------- */
img, figure {
  max-width: 100%;
  height: auto;
}
img.alignright, img.alignleft, img.aligncenter, img.center, figure.alignright, figure.alignleft, figure.aligncenter, figure.center {
  display: block;
  margin: 0 auto 1.5em;
}
img.border, figure.border {
  padding: 4px;
  border: 1px solid #ddd;
  box-sizing: border-box;
}
img.frame, figure.frame {
  box-sizing: border-box;
  box-shadow: 2px 2px 8px #ddd;
  -ms-box-shadow: 2px 2px 8px #ddd;
  -moz-box-shadow: 2px 2px 8px #ddd;
  -webkit-box-shadow: 2px 2px 8px #ddd;
  outline: 5px solid rgba(255, 255, 255, 0.8);
  outline-offset: -5px;
}
img.shadow, figure.shadow {
  box-sizing: border-box;
  box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.1);
}
figure figcaption {
  margin-top: 5px;
  font-size: .9em;
  line-height: 1.4;
}
.youtube-wrap, .map-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 1.5em;
  text-align: center;
}
.youtube-wrap iframe, .map-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media (min-width: 768px) {
  img.alignright, img.alignleft, img.aligncenter, img.center, figure.alignright, figure.alignleft, figure.aligncenter, figure.center {
    margin-bottom: 1em;
  }
  img.alignright, img.alignleft, figure.alignright, figure.alignleft {
    display: inline-block;
    width: 240px;
  }
  img.alignright.-sm, img.alignleft.-sm, figure.alignright.-sm, figure.alignleft.-sm {
    width: 200px;
  }
  img.alignright, figure.alignright {
    float: right;
    margin-right: 0;
    margin-left: 3%;
  }
  img.alignleft, figure.alignleft {
    float: left;
    margin-right: 3%;
    margin-left: 0;
  }
  .map-wrap {
    height: 450px;
    margin-bottom: 3em;
    padding-top: 0;
  }
  .map-wrap iframe {
    position: relative;
  }
}
@media (min-width: 992px) {
  .youtube-wrap {
    margin-bottom: 3em;
  }
}
@media (min-width: 1200px) {
  img.alignright, img.alignleft, img.aligncenter, img.center, figure.alignright, figure.alignleft, figure.aligncenter, figure.center {
    margin-bottom: 1.5em;
  }
  img.alignright, img.alignleft, figure.alignright, figure.alignleft {
    width: 300px;
  }
}
/* Box
-------------------------------------------------------------- */
[class^="box0"], [class^="boxtext0"], [class^="boxcolor"] {
  margin: 2em 0;
  padding: 2em 5% .5em;
  box-sizing: border-box;
}
[class^="box0"].-round, [class^="boxtext0"].-round, [class^="boxcolor"].-round {
  border-radius: 10px;
}
.box01 {
  border: 3px double #ddd;
}
.box02 {
  border: 3px solid #ddd;
  background: #fff;
}
.box02.c-main {
  border-color: #bbe2f4;
}
.box03 {
  box-shadow: 0px 0px 8px #ddd;
  -ms-box-shadow: 0px 0px 8px #ddd;
  -moz-box-shadow: 0px 0px 8px #ddd;
  -webkit-box-shadow: 0px 0px 8px #ddd;
  background: #fff;
}
.box04 {
  border: solid 2px #bbe2f4;
  box-shadow: 7px 7px 0px #e5f5fc;
  -ms-box-shadow: 7px 7px 0px #e5f5fc;
  -moz-box-shadow: 7px 7px 0px #e5f5fc;
  -webkit-box-shadow: 7px 7px 0px #e5f5fc;
  background: #fff;
}
.box05 {
  background: #F7F7F7;
}
.box06 {
  background: url("images/common/box-note.png");
  color: #000;
}
.boxtext01 {
  padding: 0;
}
.boxtext01 .-title {
  margin: 0;
  padding: 10px 5%;
  border: 1px solid #ddd;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  background: #F7F7F7;
  color: #000;
  font-size: 150%;
}
.boxtext01 .-inner {
  padding: 15px 5%;
  border: 1px solid #ddd;
  border-radius: 0px 0px 4px 4px;
}
.boxtext01.c-main .-title {
  border-color: #bbe2f4;
  background: #f5fbfe;
}
.boxtext01.c-main .-inner {
  border-color: #bbe2f4;
}
[class^="boxcolor"] {
  border-width: 2px;
  border-style: solid;
  border-radius: 10px;
  color: #000;
}
[class^="boxcolor"].c-main {
  border-color: #bbe2f4;
  background: #f5fbfe;
}
[class^="boxcolor"].c-red {
  border-color: #FF6642;
  background: #fff7f5;
}
[class^="boxcolor"].c-yellow {
  border-color: #E1DF56;
  background: #fcfcee;
}
[class^="boxcolor"].c-blue {
  border-color: #5FA7BF;
  background: #f1f7f9;
}
[class^="boxcolor"].c-green {
  border-color: #5FBF8A;
  background: #f1f9f5;
}
[class^="boxcolor"].c-gray {
  border-color: #666666;
  background: #f2f2f2;
}
[class^="boxcolor"].-bgnone {
  background: none;
}
.boxcolor01 {
  padding: 1.8em 5%;
}
.boxcolor01 h4 {
  margin: 2px 0 .8em 0;
  padding: 0;
  border: none;
}
.boxcolor02 {
  position: relative;
  margin-top: 3.5em;
  padding-top: 3.2em;
}
.boxcolor02 h4 {
  display: inline-block;
  position: absolute;
  top: -1.25em;
  margin: 0;
  padding: 8px 12px;
  border: none;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
}
.boxcolor02.c-main h4 {
  background: #bbe2f4;
}
.boxcolor02.c-red h4 {
  background: #FF6642;
}
.boxcolor02.c-yellow h4 {
  background: #E1DF56;
}
.boxcolor02.c-blue h4 {
  background: #5FA7BF;
}
.boxcolor02.c-green h4 {
  background: #5FBF8A;
}
.boxcolor02.c-gray h4 {
  background: #666666;
}
@media (min-width: 768px) {
  [class^="box0"], [class^="boxcolor"] {
    padding: 2.5em 3em 1.5em;
  }
  .boxtext01 .-title {
    padding: 15px 25px;
  }
  .boxtext01 .-inner {
    padding: 20px 25px;
  }
  .boxcolor02 {
    margin-top: 4em;
    padding-top: 4em;
  }
  .boxcolor02 h4 {
    left: 20px;
  }
}
@media (min-width: 992px) {
  [class^="box0"], [class^="boxtext0"], [class^="boxcolor"] {
    margin: 3em 0;
    padding: 3em 3.5em 2em;
  }
  [class^="box0"].-round, [class^="boxtext0"].-round, [class^="boxcolor"].-round {
    border-radius: 30px;
  }
  .box02 {
    border-width: 5px;
  }
  .box03 {
    box-shadow: 0px 0px 15px #ddd;
    -ms-box-shadow: 0px 0px 15px #ddd;
    -moz-box-shadow: 0px 0px 15px #ddd;
    -webkit-box-shadow: 0px 0px 15px #ddd;
  }
  .box04 {
    border-width: 3px;
    box-shadow: 10px 10px 0px #e5f5fc;
    -ms-box-shadow: 10px 10px 0px #e5f5fc;
    -moz-box-shadow: 10px 10px 0px #e5f5fc;
    -webkit-box-shadow: 10px 10px 0px #e5f5fc;
  }
  .box05 {
    background: #F7F7F7;
  }
  .boxtext01 {
    padding: 0;
  }
  .boxtext01 .-title {
    padding: 20px 30px;
    border-radius: 8px 8px 0 0;
    font-size: 180%;
  }
  .boxtext01 .-inner {
    padding: 25px 30px;
    border-radius: 0px 0px 8px 8px;
  }
  [class^="boxcolor"] {
    border-radius: 15px;
  }
  .boxcolor02 {
    margin-top: 5.5em;
    padding-top: 5em;
  }
  .boxcolor02 h4 {
    padding: 10px 20px;
    left: 25px;
  }
}
/* List - ul/ol
-------------------------------------------------------------- */
.list01, .list02, .list03, .list04 {
  margin: 1em 0;
}
.list01 li:last-child, .list02 li:last-child, .list03 li:last-child, .list04 li:last-child {
  margin-bottom: 0;
}
.list01 li {
  margin-bottom: 0;
  padding: 3px 0 8px 28px;
  background: url("images/common/icon-check01.png") no-repeat left 3px;
  background-size: 23px;
}
.list01.c-dif li {
  background-image: url("images/common/icon-check02.png");
}
.list02 li, .list03 li {
  padding-left: 12px;
  background: url("images/common/icon-circle01.png") no-repeat left 8px;
  background-size: 6px;
}
.list03 li {
  background-image: url("images/common/icon-circle02.png");
}
ol.list04 {
  margin-left: 20px;
}
ol.list04 li {
  list-style: decimal;
}
@media (min-width: 992px) {
  .list01 li {
    padding: 5px 0 8px 32px;
    background-position: left 6px;
    background-size: 25px;
  }
  .list02 li, .list03 li {
    padding-left: 16px;
    background-position: left 10px;
    background-size: 8px;
  }
  ol.list04 {
    margin-left: 25px;
  }
}
/* List - dl
-------------------------------------------------------------- */
dl dt {
  margin-top: 1.8em;
  padding-bottom: .5em;
  font-weight: 600;
  font-size: 113%;
  line-height: 1.6;
}
dl dd {
  margin-bottom: 1em;
  padding-top: .7em;
}
.dl01 dt {
  padding-left: 34px;
  border-bottom: 1px solid #ddd;
  background: url("images/common/icon-check01.png") no-repeat left 5px;
  background-size: 26px;
  font-size: 20px;
}
.dl02 dt {
  padding-left: 17px;
  border-bottom: 1px solid #eee;
  background: url("images/common/icon-square01.png") no-repeat left 6px;
  background-size: 12px;
}
.dl03 dt {
  border-bottom: 3px double #ddd;
}
.dl04 dt {
  padding-left: 24px;
  border-bottom: 1px solid #ddd;
  background: url("images/common/icon-dl03.png") no-repeat left 6px;
  background-size: 20px;
}
.faq dt, .faq dd {
  position: relative;
  padding: 0 0 .8em 2.2em;
}
.faq dt::before, .faq dd::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.8em;
  height: 1.8em;
  border-radius: 4px;
  background-color: #bbe2f4;
  color: #fff;
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
}
.faq dt {
  margin-top: 1.2em;
  font-size: 100%;
}
.faq dt::before {
  content: "Q";
}
.faq dd {
  border-bottom: dotted 1px #ddd;
}
.faq dd::before {
  content: "A";
}
@media (min-width: 992px) {
  .dl01 dt {
    padding-left: 45px;
    background-position: left 7px;
    background-size: 36px;
    font-size: 30px;
  }
  .dl02 dt {
    padding-left: 30px;
    background-position: left 7px;
    background-size: 20px;
  }
  .faq dt {
    padding-bottom: 1em;
  }
  .faq dd {
    padding-bottom: 1.5em;
  }
}
/* Table
-------------------------------------------------------------- */
[class^="table"] {
  width: 100%;
  margin: 2em 0;
}
[class^="table"] th, [class^="table"] td {
  display: block;
  padding: 12px 5%;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
[class^="table"].center th, [class^="table"].center td {
  text-align: center;
  vertical-align: middle;
}
.table01 {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
.table01 th, .table01 td {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.table01 th {
  background: #f7f7f7;
  color: #000;
}
.table02 th {
  background: #eee;
  color: #000;
}
.table02 td {
  padding-bottom: 20px;
}
.table03 {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  letter-spacing: 0;
}
.table03 th, .table03 td {
  display: table-cell;
  padding: 5px 8px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.table03 th {
  background: #f7f7f7;
  color: #000;
}
.scroll-table {
  overflow-x: scroll;
  margin: 2em 0;
  font-size: 1.4em;
}
.scroll-table table {
  margin: 0 0 1em;
  font-size: 100%;
  white-space: nowrap;
  border-collapse: collapse;
}
.scroll-table table th, .scroll-table table td {
  display: table-cell;
  padding: 8px 10px;
}
.scroll-table table tr.bg th, .scroll-table table tr.bg td {
  background: #f7f7f7;
  color: #000;
}
.scroll-table::-webkit-scrollbar {
  height: 5px;
}
.scroll-table::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.scroll-table::-webkit-scrollbar-thumb {
  background: #bbe2f4;
}
.scroll-table .sticky {
  position: sticky;
  left: 0;
  background: #f7f7f7;
  color: #000;
}
.scroll-table .sticky:before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  content: "";
}
@media (min-width: 992px) {
  [class^="table"] {
    margin: 3em 0;
  }
  [class^="table"] th, [class^="table"] td {
    display: table-cell;
    width: auto;
    padding: 15px 20px;
  }
  [class^="table"].w20 th {
    width: 20%;
  }
  [class^="table"].w20 td {
    width: 80%;
  }
  [class^="table"].w25 th {
    width: 25%;
  }
  [class^="table"].w25 td {
    width: 75%;
  }
  [class^="table"].w30 th {
    width: 30%;
  }
  [class^="table"].w30 td {
    width: 70%;
  }
  [class^="table"].w35 th {
    width: 35%;
  }
  [class^="table"].w35 td {
    width: 65%;
  }
  [class^="table"].w40 th {
    width: 40%;
  }
  [class^="table"].w40 td {
    width: 60%;
  }
  .table02 {
    border-collapse: separate;
    border-spacing: 3px;
  }
  .scroll-table {
    margin: 3em 0;
    font-size: 1.8em;
  }
  .scroll-table table {
    margin-bottom: 1.2em;
  }
  .scroll-table table th, .scroll-table table td {
    padding: 15px 20px;
  }
  .scroll-table::-webkit-scrollbar {
    height: 10px;
  }
  .scroll-table.pc-hidden::-webkit-scrollbar {
    display: none;
  }
}
/* Btn
-------------------------------------------------------------- */
.submit {
  margin: 2em 0 0;
  text-align: center !important;
  line-height: 1;
}
.submit a {
  display: inline-block;
  min-width: 260px;
  max-width: 90%;
  margin-bottom: 1em;
  padding: 15px 20px;
  border-radius: 5px;
  box-shadow: 0 3px 0 #db1c1f;
  box-sizing: border-box;
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  background: #ed7072;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  outline: none;
  transition: 0.4s ease;
  -ms-transition: 0.4s ease;
  -moz-transition: 0.4s ease;
  -webkit-transition: 0.4s ease;
}
.submit a:hover {
  transform: translateY(3px);
  box-shadow: none;
  background: #bbe2f4;
}
@media (min-width: 992px) {
  .submit {
    margin: 3em 0 0;
  }
  .submit a {
    min-width: 300px;
    padding: 20px 50px;
    font-size: 120%;
    box-shadow: 0 3px 0 #e74345;
  }
  .submit a:hover {
    transform: translateY(5px);
  }
}
/* Hr
-------------------------------------------------------------- */
hr {
  clear: both;
  height: 1px;
  margin: 2em 0;
  border: none;
  border-bottom: dotted 1px #bbe2f4;
}
hr.hr01 {
  height: 6px;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, #dddddd 5px, #dddddd 7px);
  background-size: auto auto;
  background-color: white;
}
hr.hr02 {
  height: 3px;
  border-bottom: double 3px #ddd;
  background: none;
}
@media (min-width: 992px) {
  hr {
    margin: 5em 0;
    background-size: auto;
  }
}
/* Layout
-------------------------------------------------------------- */
[class^="layout"] {
  margin: 0 0 1em;
}
@media (min-width: 768px) {
  [class^="layout"] {
    margin-bottom: 2em;
  }
  [class^="layout"] .itemleft {
    float: left;
  }
  [class^="layout"] .itemright {
    float: right;
  }
  [class^="layout"] .img-fit img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .layout2 .itemleft, .layout-half .itemleft {
    width: 48.5%;
  }
  .layout2 .itemright, .layout-half .itemright {
    width: 48.5%;
  }
  .layout37 .itemleft {
    width: 28.5%;
  }
  .layout37 .itemright {
    width: 68.5%;
  }
  .layout73 .itemleft {
    width: 68.5%;
  }
  .layout73 .itemright {
    width: 28.5%;
  }
  .layout46 .itemleft {
    width: 38.5%;
  }
  .layout46 .itemright {
    width: 58.5%;
  }
  .layout64 .itemleft {
    width: 58.5%;
  }
  .layout64 .itemright {
    width: 38.5%;
  }
}
@media (min-width: 992px) {
  [class^="layout"] {
    margin-bottom: 3em;
  }
}
/* Page Style
---------------------------------------------------------------------------------------------- */
/* Album
-------------------------------------------------------------- */
[class^="album"] {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 2em;
  text-align: center;
}
[class^="album"] .album-box {
  margin: 0 0 12px;
}
[class^="album"] .album-box p {
  margin: 0;
}
[class^="album"].col-sm-2 .album-box {
  width: calc(50% - 5px);
}
[class^="album"].col-sm-2 .album-box:nth-child(2n) {
  margin-left: 10px;
}
[class^="album"].col-sm-3 .album-box {
  width: calc(100% / 3 - 6px);
}
[class^="album"].col-sm-3 .album-box:nth-child(3n), [class^="album"].col-sm-3 .album-box:nth-child(3n-1) {
  margin-left: 9px;
}
@media (min-width: 768px) {
  [class^="album"] {
    /* Margin Reset */
    /* Column Setting */
  }
  [class^="album"] .album-box {
    margin: 0 0 15px;
  }
  [class^="album"].col-sm-2 .album-box:nth-child(2n) {
    margin-left: initial;
  }
  [class^="album"].col-sm-3 .album-box:nth-child(3n), [class^="album"].col-sm-3 .album-box:nth-child(3n-1) {
    margin-left: initial;
  }
  [class^="album"].col-md-2 .album-box {
    width: calc(50% - 7.5px);
  }
  [class^="album"].col-md-2 .album-box:nth-child(2n) {
    margin-left: 15px;
  }
  [class^="album"].col-md-3 .album-box {
    width: calc(100% / 3 - 10px);
  }
  [class^="album"].col-md-3 .album-box:nth-child(3n), [class^="album"].col-md-3 .album-box:nth-child(3n-1) {
    margin-left: 15px;
  }
  [class^="album"].col-md-4 .album-box {
    width: calc(25% - 7.5px);
  }
  [class^="album"].col-md-4 .album-box:nth-child(4n), [class^="album"].col-md-4 .album-box:nth-child(4n-1), [class^="album"].col-md-4 .album-box:nth-child(4n-2) {
    margin-left: 10px;
  }
  [class^="album"].col-md-5 .album-box {
    width: calc(20% - 12px);
  }
  [class^="album"].col-md-5 .album-box:nth-child(5n), [class^="album"].col-md-5 .album-box:nth-child(5n-1), [class^="album"].col-md-5 .album-box:nth-child(5n-2), [class^="album"].col-md-5 .album-box:nth-child(5n-3) {
    margin-left: 15px;
  }
}
@media (min-width: 992px) {
  [class^="album"] {
    margin-bottom: 3em;
    /* Margin Reset */
    /* Column Setting */
  }
  [class^="album"] .album-box {
    margin: 0 0 20px;
  }
  [class^="album"].col-md-2 .album-box:nth-child(2n) {
    margin-left: initial;
  }
  [class^="album"].col-md-3 .album-box:nth-child(3n), [class^="album"].col-md-3 .album-box:nth-child(3n-1) {
    margin-left: initial;
  }
  [class^="album"].col-md-4 .album-box:nth-child(4n), [class^="album"].col-md-4 .album-box:nth-child(4n-1), [class^="album"].col-md-4 .album-box:nth-child(4n-2) {
    margin-left: initial;
  }
  [class^="album"].col-md-5 .album-box:nth-child(5n), [class^="album"].col-md-5 .album-box:nth-child(5n-1), [class^="album"].col-md-5 .album-box:nth-child(5n-2), [class^="album"].col-md-5 .album-box:nth-child(5n-3) {
    margin-left: initial;
  }
  [class^="album"].col-lg-2 .album-box {
    width: calc(50% - 10px);
  }
  [class^="album"].col-lg-2 .album-box:nth-child(2n) {
    margin-left: 20px;
  }
  [class^="album"].col-lg-3 .album-box {
    width: calc(100% / 3 - 12px);
  }
  [class^="album"].col-lg-3 .album-box:nth-child(3n), [class^="album"].col-lg-3 .album-box:nth-child(3n-1) {
    margin-left: 18px;
  }
  [class^="album"].col-lg-4 .album-box {
    width: calc(25% - 12px);
  }
  [class^="album"].col-lg-4 .album-box:nth-child(4n), [class^="album"].col-lg-4 .album-box:nth-child(4n-1), [class^="album"].col-lg-4 .album-box:nth-child(4n-2) {
    margin-left: 16px;
  }
  [class^="album"].col-lg-5 .album-box {
    width: calc(20% - 12px);
  }
  [class^="album"].col-lg-5 .album-box:nth-child(5n), [class^="album"].col-lg-5 .album-box:nth-child(5n-1), [class^="album"].col-lg-5 .album-box:nth-child(5n-2), [class^="album"].col-lg-5 .album-box:nth-child(5n-3) {
    margin-left: 15px;
  }
  [class^="album"].col-lg-6 .album-box {
    width: calc(100% / 6 - 10px);
    margin-bottom: 15px;
  }
  [class^="album"].col-lg-6 .album-box:nth-child(6n), [class^="album"].col-lg-6 .album-box:nth-child(6n-1), [class^="album"].col-lg-6 .album-box:nth-child(6n-2), [class^="album"].col-lg-6 .album-box:nth-child(6n-3), [class^="album"].col-lg-6 .album-box:nth-child(6n-4) {
    margin-left: 12px;
  }
}
/* ColorBox
-------------------------------------------------------------- */
.colorbox, a.nonstyle {
  color: #000;
  text-decoration: none;
  transition: 0.5s all;
  -ms-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -webkit-transition: 0.5s all;
}
.colorbox:hover, a.nonstyle:hover {
  opacity: .6;
  color: #000;
}
/* Important
---------------------------------------------------------------------------------------------- */
/* Text
-------------------------------------------------------------- */
.txt-right {
  text-align: right !important;
}
.txt-left {
  text-align: left !important;
}
.center {
  text-align: center !important;
}
.fontsm, .fontsm > * {
  font-size: 13px !important;
}
.fontmd, .fontmd > * {
  font-size: 13px !important;
}
.fontthin {
  opacity: 0.8;
}
@media (min-width: 992px) {
  .pc-center {
    text-align: center;
  }
  .fontsm, .fontsm > * {
    font-size: 15px !important;
  }
  .fontmd, .fontmd > * {
    font-size: 16px !important;
  }
}
/* Emphasis
-------------------------------------------------------------- */
.em1 {
  color: #766454;
}
.em1 a {
  color: #ed7072;
}
.em2 {
  color: #bbe2f4;
}
.em2b {
  color: #bbe2f4;
  font-weight: bold;
}
.em3 {
  font-weight: bold;
}
.em4l {
  font-size: 110%;
}
.em4xl {
  font-size: 130%;
}
.em5 {
  font-weight: bold;
  text-decoration: underline;
}
.em6 {
  padding-left: 3px;
  background: #fff45c;
  font-weight: bold;
}
.em7 {
  background: linear-gradient(rgba(255, 255, 255, 0) 50%, #fff45c 50%);
  font-weight: bold;
}
.em7-pink {
  background: linear-gradient(rgba(255, 255, 255, 0) 50%, #ffd5d5 50%);
  font-weight: bold;
}
.em7-blue {
  background: linear-gradient(rgba(255, 255, 255, 0) 50%, #bbe2f4 50%);
  font-weight: bold;
}
.em7-green {
  background: linear-gradient(rgba(255, 255, 255, 0) 50%, #c6eed8 50%);
  font-weight: bold;
}
@media (min-width: 768px) {
  .em4l {
    font-size: 130%;
  }
  .em4xl {
    font-size: 150%;
  }
}
.em-red {
  color: #FF6642;
}
.em-yellow {
  color: #E1DF56;
}
.em-blue {
  color: #5FA7BF;
}
.em-green {
  color: #5FBF8A;
}
.em-gray {
  color: #666666;
}
.em-white {
  color: #fff;
}
/* Other
-------------------------------------------------------------- */
.MT0 {
  margin-top: 0px !important;
}
.MT10 {
  margin-top: 10px !important;
}
.MT20 {
  margin-top: 20px !important;
}
.MT30 {
  margin-top: 30px !important;
}
.MT40 {
  margin-top: 40px !important;
}
.MT50 {
  margin-top: 50px !important;
}
.MB0 {
  margin-bottom: 0px !important;
}
.MB5 {
  margin-bottom: 5px !important;
}
.MB10 {
  margin-bottom: 10px !important;
}
.MB20 {
  margin-bottom: 20px !important;
}
.MB30 {
  margin-bottom: 30px !important;
}
.MB40 {
  margin-bottom: 40px !important;
}
.MB50 {
  margin-bottom: 50px !important;
}
.MR0 {
  margin-right: 0 !important;
}
.MR10 {
  margin-right: 10px !important;
}
.MR20 {
  margin-right: 20px !important;
}
.MR30 {
  margin-right: 30px !important;
}
.ML0 {
  margin-left: 0 !important;
}
.ML10 {
  margin-left: 10px !important;
}
.ML20 {
  margin-left: 20px !important;
}
.ML30 {
  margin-left: 30px !important;
}
.ML100 {
  margin-left: 100px !important;
}
.MRL-20 {
  margin-right: -20px !important;
  margin-left: -20px !important;
}
.PT0 {
  padding-top: 0px !important;
}
.PT10 {
  padding-top: 10px !important;
}
.PT20 {
  padding-top: 20px !important;
}
.PT30 {
  padding-top: 30px !important;
}
.PB0 {
  padding-bottom: 0px !important;
}
.PB10 {
  padding-bottom: 10px !important;
}
.PB20 {
  padding-bottom: 20px !important;
}
.PB30 {
  padding-bottom: 30px !important;
}
.visuallyhidden {
  display: none;
}
.pc-only {
  display: none;
}
.inlineb {
  display: inline-block;
}
@media (min-width: 768px) {
  .sp-only {
    display: none;
  }
  .tb-only, .pc-only {
    display: block;
  }
}
@media (min-width: 992px) {
  .tb-only {
    display: none;
  }
}
/* Thema Original
---------------------------------------------------------------------------------------------- */
/* Common
-------------------------------------------------------------- */
.bg-light {
  background: #f5fbfe;
}
.bg-main {
  background: #bbe2f4;
}
.bg-dark {
  background: #55a3c8;
}
.bg-gray {
  background: #EDECEA;
}
.bg-note {
  background: url("images/bg-note.jpg");
}
.bg-note.bg-mask {
  padding-bottom: 60px;
  background: url("images/bg-mask.png") no-repeat bottom -1px center, url("images/bg-note.jpg");
  background-size: 100%, auto;
}
.section.-MT {
  margin-top: 40px;
}
.section.-MB {
  margin-bottom: 40px;
}
.section.-PT {
  padding-top: 40px;
}
.section.-PB {
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .bg-note.bg-mask {
    padding-bottom: 100px;
  }
  .section.-MT {
    margin-top: 60px;
  }
  .section.-MB {
    margin-bottom: 60px;
  }
  .section.-PT {
    padding-top: 60px;
  }
  .section.-PB {
    padding-bottom: 60px;
  }
}
@media (min-width: 992px) {
  .bg-note.bg-mask {
    padding-bottom: 150px;
  }
  .section.-MT {
    margin-top: 100px;
  }
  .section.-MB {
    margin-bottom: 100px;
  }
  .section.-PT {
    padding-top: 100px;
  }
  .section.-PB {
    padding-bottom: 100px;
  }
}
/* Contents
-------------------------------------------------------------- */
.fukidashi {
  padding: 15px 5%;
  background: #55a3c8;
  color: #fff;
  line-height: 1.6;
}
.course .SPcourse {
  position: relative;
  text-align: center;
}
.course .SPcourse ul li {
  position: absolute;
  top: 47%;
  left: 5%;
  width: 40%;
}
.course .SPcourse ul li:nth-child(2) {
  left: inherit;
  right: 5%;
}
.colorbox {
  position: relative;
}
.colorbox .color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #ed7072;
}
.submit-btn {
  display: block;
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 30px auto;
  background-color: #ed7072;
  box-shadow: 0 3px 0 0 #e74345;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  overflow: hidden;
  transition: 0.5s all;
  -ms-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -webkit-transition: 0.5s all;
}
.submit-btn:hover {
  text-decoration: none;
  box-shadow: none;
  -webkit-transform: translateY(3px);
  background: #ed8e2d;
}
.submit-btn::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  transition: 0.2s;
  animation: shiny 3s ease-in-out infinite;
}
@-webkit-keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.4;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
#intro {
  padding-top: 20px;
  /*.fukidashi {
   position: relative;
   margin-bottom: 40px;
   padding: 15px 5%;
   border-radius: 10px;
   background: #ffea39;
   line-height: 1.6;
   &::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -12px;
    border: 12px solid transparent;
    border-top: 12px solid #ffea39;
   }
  }*/
}
#intro .read {
  margin-bottom: 20px;
}
#intro .entry {
  margin-bottom: 30px;
}
#intro .microcopy {
  margin-top: 12px;
  line-height: 1.5;
}
#intro .box04 {
  padding: 3em 5% 1.5em;
}
#intro .box04 .txt br {
  display: none;
}
#point .layout {
  position: relative;
  margin-top: 50px;
}
#point .num-box {
  position: absolute;
  top: -20px;
  left: -10px;
  z-index: 9;
  width: 30vw;
  max-width: 180px;
}
#point .img-box {
  text-align: center;
}
#point .img-box img {
  box-sizing: border-box;
}
#point .txt-box h3 {
  padding: 0;
  border: none;
  background: none;
  font-weight: bold;
}
#profile {
  margin-top: 60px;
}
#profile .box02 {
  position: relative;
}
#profile h2 {
  position: absolute;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
}
#profile .img-box {
  margin-top: 10px;
  text-align: center;
}
#profile .img-box img {
  width: 180px;
}
#profile .txt-box h3 {
  padding: 0 0 10px;
  border: none;
  border-bottom: solid 2px #bbe2f4;
  background: none;
  font-weight: bold;
}
#profile .txt-box h3 span {
  display: block;
  margin-top: 5px;
  font-weight: normal;
  font-size: 75%;
}
#profile .txt-box hr {
  margin-top: 20px;
  margin-bottom: 20px;
}
#voice .box03 .head-box div {
  margin-bottom: 15px;
  text-align: center;
}
#voice .box03 .head-box div img {
  width: 150px;
}
#voice .box03 .head-box h3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 0 15px;
  padding: 0 0 15px;
  border: none;
  border-bottom: double 3px #ddd;
  background: none;
  font-size: 16px;
  letter-spacing: .5px;
  text-align: center;
}
#voice .box03 .head-box h3 .age {
  margin-right: 8px;
  padding: 4px 10px 3px;
  border-radius: 5px;
  background: #f9e5d4;
  font-size: 70%;
}
#voice .box03 .head-box h3 .period {
  width: 100%;
  margin-top: 8px;
  font-size: 14px;
}
#voice .box03 dl dt {
  margin-top: 1em;
  padding-left: 15px;
  font-size: 15px;
  background-size: 10px;
}
#voice .box03 dl dd {
  font-size: 14px;
}
#summary .box, #present .box {
  margin-bottom: 2em;
  box-sizing: border-box;
  border: solid 4px #55a3c8;
  background: #fff;
}
#summary .box .img-box img, #present .box .img-box img {
  width: 100%;
}
#summary .box h3, #present .box h3 {
  margin: 0;
  padding: 10px 10px;
  border: none;
  background: #55a3c8;
  color: #fff;
  font-size: 17px;
  text-align: center;
}
#summary .box h3 span.pace, #present .box h3 span.pace {
  font-size: 80%;
}
#summary .box .txt-box, #present .box .txt-box {
  padding: 10px 5% 0;
}
#present .box {
  border-color: #fff;
}
#present .box h3 {
  background: #ed7072;
  font-weight: bold;
  font-size: 20px;
}
#form .course-y {
  position: relative;
}
#form .course-y .submit-btn {
  position: absolute;
  right: 0;
  bottom: 13%;
  left: 0;
  width: 74%;
  max-width: inherit;
  margin: 0 auto;
}
#form .course-m {
  position: relative;
}
#form .course-m .submit-btn {
  position: absolute;
  right: 0;
  bottom: 13%;
  left: 0;
  width: 74%;
  max-width: inherit;
  margin: 0 auto;
}
#message {
  border-top: solid 10px #bbe2f4;
  border-bottom: solid 10px #bbe2f4;
}
@media (min-width: 768px) {
  #intro {
    padding-top: 50px;
  }
  #intro .read {
    margin-bottom: 40px;
  }
  #intro .box04 {
    padding: 4em 4em 2.5em;
  }
  #point .layout {
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
  }
  #point .layout.-row {
    flex-direction: row-reverse;
  }
  #point .layout.-row .num-box {
    right: -20px;
    left: inherit;
  }
  #point .num-box {
    top: -50px;
    left: -20px;
  }
  #point .img-box {
    width: 280px;
    height: 280px;
  }
  #point .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #point .txt-box {
    width: calc(100% - 310px);
  }
  #point .txt-box h3 {
    margin-top: 3px;
  }
  #profile h2 {
    top: -55px;
  }
  #profile .img-box img {
    width: auto;
  }
}
@media (min-width: 992px) {
  .fukidashi {
    padding: 35px;
    font-size: 12px;
  }
  .submit-btn {
    max-width: 700px;
    border-radius: 10px;
    box-shadow: 0 5px 0 0 #e74345;
  }
  .submit-btn:hover {
    box-shadow: none;
    -webkit-transform: translateY(5px);
  }
  #intro {
    padding-top: 80px;
  }
  #intro .read {
    margin-bottom: 70px;
  }
  #intro .box04 {
    max-width: 800px;
    margin-top: 70px;
    margin-left: auto;
    margin-right: auto;
    padding: 5em 5em 3.5em;
  }
  #intro .box04 .txt br {
    display: block;
  }
  #point h2.imgtitle img {
    max-width: 1120px;
  }
  #point .layout {
    margin-top: 120px;
  }
  #point .num-box {
    top: -80px;
    max-width: 240px;
  }
  #point .img-box {
    width: 340px;
    height: 340px;
  }
  #point .txt-box {
    width: calc(100% - 370px);
  }
  #profile {
    margin-top: 100px;
  }
  #profile h2 {
    top: -66px;
    width: 350px;
  }
  #profile .img-box {
    float: right;
    margin: 0 0 10px 30px;
  }
  #profile .txt-box h3 {
    width: calc(100% - 270px);
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  #profile .txt-box h3 span {
    font-size: 60%;
  }
  #voice .box-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #voice .box03 {
    width: 49%;
    margin: 0 0 2%;
  }
  #voice .box03 dl dt {
    padding-left: 20px;
    font-size: 17px;
    background-position: left 6px;
    background-size: 15px;
  }
  #voice .box03 dl dd {
    font-size: 16px;
  }
  #summary .box-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #summary .box {
    width: 49%;
    margin-bottom: 2%;
  }
  #summary .box h3 {
    font-size: 20px;
  }
  #present .box h3 {
    padding: 20px;
    font-size: 30px;
  }
}
@media (min-width: 1200px) {
  #point .layout {
    margin-top: 150px;
  }
  #point .img-box {
    width: 400px;
    height: 400px;
  }
  #point .txt-box {
    width: calc(100% - 440px);
  }
  #point .txt-box h3 {
    font-size: 40px;
  }
  #profile {
    margin-top: 140px;
  }
  #voice .box03 {
    width: 48.5%;
    margin-bottom: 3%;
  }
  #summary .box {
    width: 32.5%;
    margin-bottom: 1.5%;
  }
}
@media (min-width: 1400px) {
  #point .layout {
    margin-top: 170px;
  }
  #point .layout.-row .num-box {
    right: -60px;
  }
  #point .num-box {
    top: -90px;
    left: -60px;
    max-width: 310px;
  }
}