@charset "UTF-8";
@import url(//fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;800&display=swap);
/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  font-family: "M PLUS Rounded 1c", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  background: #fff;
  color: #1a1a1a;
  line-height: 1.5; }

a {
  color: #1a1a1a;
  text-decoration: none; }
  a.hvop {
    transition: opacity 0.3s ease; }
    a.hvop:hover {
      opacity: 0.7;
      transition: opacity 0.2s ease; }

.disp-tab {
  display: none; }

.disp-sp {
  display: none; }

@media only screen and (max-width: 1024px) {
  .disp-tab {
    display: block; } }
@media only screen and (max-width: 768px) {
  a.hvop:hover {
    opacity: 1; }

  .disp-pc {
    display: none; }

  .disp-sp {
    display: block; } }
/*------------------------------------------
  modules
------------------------------------------*/
.l-grid {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.l-grid-col-2 .l-grid-item {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%; }
  .l-grid-col-2 .l-grid-item:nth-child(2n) {
    margin-right: 0; }

.l-grid-col-3 .l-grid-item {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%; }
  .l-grid-col-3 .l-grid-item:nth-child(3n) {
    margin-right: 0; }

.l-grid-col-4 .l-grid-item {
  width: 23%;
  margin-right: 2.6666%;
  margin-bottom: 4%; }
  .l-grid-col-4 .l-grid-item:nth-child(4n) {
    margin-right: 0; }

.l-grid-col-6 .l-grid-item {
  width: 15%;
  margin-right: 2%;
  margin-bottom: 4%; }
  .l-grid-col-6 .l-grid-item:nth-child(6n) {
    margin-right: 0; }

/* ===== inner style ===== */
.l-inner__type01 {
  max-width: 1000px;
  margin: auto;
  padding: 0 20px; }

/* ===== title style ===== */
.m-title__type01 {
  text-align: center;
  color: #2562d0;
  font-size: 3.4rem;
  font-weight: 500;
  margin-bottom: 30px; }
.m-title__type02 {
  text-align: center;
  color: #2562d0;
  position: relative;
  font-size: 3.4rem;
  font-weight: 500;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  .m-title__type02:after {
    content: "";
    width: 100px;
    height: 4px;
    background: #70c0f9;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -50px; }

/* ===== btn style ===== */
.m-btn__type01 {
  display: inline-block;
  font-size: 1.5rem;
  position: relative;
  padding: .8em 3em .7em 1.5em;
  border-radius: 30px;
  border: 1px solid #2562d0;
  transition: .3s; }
  .m-btn__type01:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 12px;
    right: 1.5em;
    top: 50%;
    margin-top: -5px;
    transition: .3s; }
  .m-btn__type01.blue {
    background: #2562d0;
    color: #fff; }
    .m-btn__type01.blue:after {
      border-color: transparent transparent transparent #fff; }
    .m-btn__type01.blue:hover {
      color: #2562d0;
      background: #fff; }
      .m-btn__type01.blue:hover:after {
        border-color: transparent transparent transparent #2562d0; }
  .m-btn__type01.white {
    background: #fff;
    color: #2562d0; }
    .m-btn__type01.white:after {
      border-color: transparent transparent transparent #2562d0; }
    .m-btn__type01.white:hover {
      color: #fff;
      background: #2562d0; }
      .m-btn__type01.white:hover:after {
        border-color: transparent transparent transparent #fff; }
  .m-btn__type01.back {
    padding: .8em 1.5em .7em 3em; }
    .m-btn__type01.back:after {
      right: auto;
      left: 1.5em;
      transform: rotate(180deg); }

/* ===== list style ===== */
.m-list__type01 {
  border-top: 1px solid #cccccc;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  margin-bottom: 30px; }
  .m-list__type01 .list-item {
    border-bottom: 1px solid #cccccc; }
    /*.m-list__type01 .list-item:first-child .item-label:after {
      content: "NEW";
      display: inline-block;
      color: #fff;
      background: #01c1de;
      width: 80px;
      text-align: center;
      border-radius: 20px;
      padding: 5px 0 3px; }*/
    .m-list__type01 .list-item .item-label.item-label-new:after {
      content: "NEW";
      display: inline-block;
      color: #fff;
      background: #01c1de;
      width: 80px;
      text-align: center;
      border-radius: 20px;
      padding: 5px 0 3px; }
    .m-list__type01 .list-item .item-label.item-label-pickup:after {
      content: "PICKUP";
      display: inline-block;
      color: #fff;
      background: #01c1de;
      width: 80px;
      text-align: center;
      border-radius: 20px;
      padding: 5px 0 3px; }
  .m-list__type01 .item-inner {
    display: table;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 8%; }
    .m-list__type01 .item-inner p {
      display: table-cell;
      vertical-align: middle; }
  .m-list__type01 .item-date {
    width: 6em; }
  .m-list__type01 .item-label {
    width: 100px; }
.m-list__type02 {
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .m-list__type02 .list-item {
    background: #fff;
    width: 49%;
    border-radius: 20px;
    margin-bottom: 2%;
    box-sizing: border-box;
    padding: 20px 35px; }
  .m-list__type02 .item-head {
    margin-bottom: 10px;
    font-size: 2.3rem;
    font-weight: 500;
    padding-left: 50px;
    position: relative; }
    .m-list__type02 .item-head span {
      position: absolute;
      left: 0;
      top: 0; }
  .m-list__type02 .item-contents {
    margin-bottom: 15px;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    line-height: 1.6; }
    .m-list__type02 .item-contents .image {
      width: 40%; }
    .m-list__type02 .item-contents .text {
      margin-left: auto;
      width: 54%; }
  .m-list__type02 .item-link {
    text-align: right; }
.m-list__type03 {
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .m-list__type03 .list-item {
    width: 32%;
    text-align: center;
    background: #01c1de;
    box-sizing: border-box;
    padding: 35px 1em;
    border-radius: 20px;
    color: #fff;
    position: relative;
    line-height: 1.8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center; }
    .m-list__type03 .list-item:before {
      content: "";
      position: absolute;
      width: 63px;
      height: 83px;
      background: url(../images/common/parts06.png) no-repeat;
      background-size: 100%;
      left: 15px;
      top: -53px; }
    .m-list__type03 .list-item p {
      width: 100%;
      position: relative; }
.m-list__type04 {
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .m-list__type04 .list-item {
    width: 24%;
    background: #fff;
    box-sizing: border-box;
    border-radius: 20px;
    padding: 20px 2em;
    font-weight: 500; }
  .m-list__type04 .item-head {
    text-align: center;
    margin-bottom: 12px; }
    .m-list__type04 .item-head .head-lead {
      font-size: 1.3rem;
      margin-bottom: 5px; }
    .m-list__type04 .item-head .head-label {
      display: inline-block;
      width: 96px;
      text-align: center;
      background: #2562d0;
      color: #fff;
      padding: 6px 0 5px;
      border-radius: 25px; }
      .m-list__type04 .item-head .head-label span {
        font-weight: 800; }
  .m-list__type04 .item-text {
    line-height: 1.8;
    color: #2562d0; }
.m-list__type05 {
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .m-list__type05 .list-item {
    width: 18%;
    box-sizing: border-box;
    border: 1px solid #2562d0;
    border-radius: 20px;
    background: #fff;
    position: relative;
    text-align: center; }
  .m-list__type05 .list-item.link-item {
    box-shadow: 1.6px 1.6px 4px 0px rgba(100, 100, 100, 0.3);
    font-weight:bold;
  }
  .m-list__type05 .list-item.link-item:hover {
    box-shadow: none;
  }
  .m-list__type05 .item-inner {
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 160px;
    color: #2562d0;
    font-size: 1.8rem; }
  .m-list__type05 .ico {
    position: absolute;
    top: 4px;
    left: 4px; }
.m-list__type06.center {
  -webkit-justify-content: center;
  justify-content: center; }
.m-list__type06 .list-item {
  width: 48%;
  margin-top: 50px; }
  .m-list__type06 .list-item:first-child, .m-list__type06 .list-item:nth-child(2) {
    margin-top: 0; }
  .m-list__type06 .list-item:nth-child(2n) {
    margin-left: auto; }
.m-list__type06 .item-btn {
  text-align: center; }
  .m-list__type06 .item-btn a {
    height: 76px;
    padding: 0 1em;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    border: 1px solid #2562d0;
    border-radius: 20px;
    color: #2562d0;
    font-size: 1.8rem;
    transition: .3s;
    margin-bottom: 15px; }
    .m-list__type06 .item-btn a:hover {
      background: #2562d0;
      color: #fff; }
      .m-list__type06 .item-btn a:hover span {
        background-image: url(../images/common/ico-link02.png); }
    .m-list__type06 .item-btn a span {
      display: inline-block;
      padding-right: 24px;
      background-image: url(../images/common/ico-link01.png);
      background-repeat: no-repeat;
      background-position: right center;
      background-size: 16px;
      transition: .3s; }
.m-list__type06 .item-text p {
  margin-bottom: .6em; }
  .m-list__type06 .item-text p:last-child {
    margin-bottom: 0; }
.m-list__type06 .item-text a {
  color: #808080;
  text-decoration: underline;
  -ms-word-break: break-all;
  word-break: break-all; }
.m-list__type06.close-list .list-item {
  margin-top: 0; }

/* ===== table style ===== */
.m-table__type01 {
  width: 100%;
  text-align: left;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.75;
  border-top: 1px solid #2562d0; }
  .m-table__type01 tr:nth-child(2n) {
    background: #f2f2f2; }
  .m-table__type01 tr.white {
    background: #fff !important; }
  .m-table__type01 th {
    padding: 25px 1.5em;
    vertical-align: top;
    width: 10em; }
  .m-table__type01 td {
    padding: 25px 30px;
    padding-left: 0; }
    .m-table__type01 td th {
      width: auto; }
.m-table__type02 {
  background: #fff;
  width: 100%;
  text-align: left;
  border: 1px solid #2562d0;
  border-radius: 20px;
  border-spacing: 0;
  border-collapse: separate;
  overflow: hidden; }
  .m-table__type02 tr:last-child th, .m-table__type02 tr:last-child td {
    border-bottom: none; }
  .m-table__type02 th, .m-table__type02 td {
    border-bottom: 1px solid #2562d0;
    border-right: 1px solid #2562d0;
    vertical-align: middle; }
    .m-table__type02 th:last-child, .m-table__type02 td:last-child {
      border-right: none; }
  .m-table__type02 th {
    padding: 1.2em 2em;
    width: 11em; }
  .m-table__type02 td {
    padding: 1.2em; }
  .m-table__type02 .bR {
    border-right: 1px solid #2562d0 !important; }

/* ===== box style ===== */
.m-box__type01 {
  border: 1px solid #2562d0;
  border-radius: 20px;
  margin-bottom: 20px;
  background: #fff; }
  .m-box__type01:last-child {
    margin-bottom: 0; }
  .m-box__type01 .box-head {
    padding: 20px 30px; }
    .m-box__type01 .box-head .head-title {
      display: inline-block;
      color: #fff;
      background: #2562d0;
      border-radius: 25px;
      padding: 4px 1.5em;
      margin-bottom: 1em; }
  .m-box__type01 .box-contents {
    padding: 20px 30px;
    border-top: 1px solid #2562d0; }
    .m-box__type01 .box-contents p {
      margin-bottom: 10px; }
      .m-box__type01 .box-contents p:last-child {
        margin-bottom: 0; }

/* ===== block style ===== */
.m-block__type01 {
  border: 1px solid #2562d0;
  border-radius: 20px;
  margin-bottom: 20px; }
  .m-block__type01:last-child {
    margin-bottom: 0; }
  .m-block__type01 .block-head {
    padding: 35px 20px;
    text-align: center;
    border-bottom: 1px solid #2562d0; }
    .m-block__type01 .block-head .head-title {
      color: #2562d0;
      font-weight: 500;
      font-size: 2.3rem;
      line-height: 1.3;
      margin-bottom: 15px; }
      .m-block__type01 .block-head .head-title span {
        font-size: 1.8rem; }
  .m-block__type01 .block-contents .box {
    position: relative;
    box-sizing: border-box;
    font-weight: 500;
    line-height: 1.6;
    padding: 20px 30px;
    border-bottom: 1px solid #2562d0; }
    .m-block__type01 .block-contents .box:last-child {
      border-bottom: none; }
    .m-block__type01 .block-contents .box.l-grid {
      border-bottom: none;
      border-top: 1px solid #2562d0;
      border-right: 1px solid #2562d0;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      height: 170px;
      text-align: center; }
      .m-block__type01 .block-contents .box.l-grid .num {
        position: absolute;
        top: 15px;
        left: 15px;
        margin-bottom: 0; }
      .m-block__type01 .block-contents .box.l-grid .label {
        position: absolute;
        right: 5px;
        bottom: 5px;
        margin-top: 0; }
    .m-block__type01 .block-contents .box.large {
      width: 100% !important;
      border-right: none; }
  .m-block__type01 .block-contents .num {
    font-weight: 800;
    color: #fff;
    border-radius: 25px;
    text-align: center;
    min-width: 80px;
    padding: 0 1.5em;
    box-sizing: border-box;
    display: inline-block;
    line-height: 35px;
    font-size: 1.4rem;
    margin-bottom: 15px; }
  .m-block__type01 .block-contents .label {
    font-weight: 400;
    font-size: 1.2rem;
    border-radius: 25px;
    padding: 8px 2.5em;
    text-align: center;
    margin-top: 15px; }
  .m-block__type01 .block-contents.col-3 .box {
    width: 33.3333%; }
    .m-block__type01 .block-contents.col-3 .box:nth-child(3n) {
      border-right: none; }
    .m-block__type01 .block-contents.col-3 .box:first-child, .m-block__type01 .block-contents.col-3 .box:nth-child(2), .m-block__type01 .block-contents.col-3 .box:nth-child(3) {
      border-top: none; }
  .m-block__type01 .block-contents.col-2 .box {
    width: 50%; }
    .m-block__type01 .block-contents.col-2 .box:nth-child(2n) {
      border-right: none; }
    .m-block__type01 .block-contents.col-2 .box:first-child, .m-block__type01 .block-contents.col-2 .box:nth-child(2) {
      border-top: none; }
.m-block__type02 {
  border: 1px solid #ff8580;
  border-radius: 20px;
  padding: 20px 30px;
  margin-bottom: 20px; }
  .m-block__type02:last-child {
    margin-bottom: 0; }
  .m-block__type02 .block-title {
    display: inline-block;
    color: #fff;
    background: #ff8580;
    border-radius: 25px;
    font-weight: 500;
    padding: 8px 1.5em 7px;
    margin-bottom: 1em; }
  .m-block__type02 .block-contents {
    line-height: 1.75; }

/* ===== text style ===== */
.indent {
  padding-left: 1em;
  text-indent: -1em; }

.maker.blue {
  background: rgba(1, 193, 222, 0.3); }
.maker.pink {
  background: rgba(255, 170, 122, 0.3); }

/* ===== modal ===== */
.js-modal-open {
  cursor: pointer; }

.js-modal-close {
  cursor: pointer;
  font-size: 50px;
  position: absolute;
  top: 15px;
  right: 15px;
  color: #535353;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1; }

.js-modal {
  display: none;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 100; }
  .js-modal .modal-wrapper {
    display: table;
    width: 100%;
    height: 100vh;
    max-width: 750px;
    margin: auto; }
  .js-modal .modal-inner {
    display: table-cell;
    vertical-align: middle;
    padding: 0 40px; }
  .js-modal .modal-contents {
    background: rgba(26, 26, 26, 0.5);
    border-radius: 20px;
    padding: 15px;
    margin: auto;
    box-sizing: border-box; }
  .js-modal .modal-contents-inner {
    background: #fff;
    border-radius: 10px;
    padding: 35px;
    position: relative; }

/* ===== animation ===== */
.ani-wave {
  transform: rotate(180deg); }
  .ani-wave .waves {
    position: relative;
    width: 100%;
    height: 15vh;
    margin-bottom: -7px;
    min-height: 90px;
    max-height: 115px; }
  .ani-wave .parallax > use {
    animation: move-waves 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
    animation-duration: 15s; }

@keyframes move-waves {
  0% {
    transform: translate3d(90px, 0, 0); }
  100% {
    transform: translate3d(-85px, 0, 0); } }
.ani-sea {
  position: relative;
  padding-bottom: 180px;
  background-color: #FFF;
  background-image: url(../images/common/bg_sea.png);
  background-repeat: no-repeat;
  background-position: center bottom; }
  .ani-sea .parts {
    position: absolute; }
  .ani-sea .parts01 {
    left: 50%;
    margin-left: -350px;
    bottom: 120px;
    animation: move-sea01 8s infinite; }
  .ani-sea .parts02 {
    left: 50%;
    margin-left: -175px;
    bottom: 0; }
  .ani-sea .parts03 {
    right: 50%;
    margin-right: -72px;
    bottom: 30px;
    animation: move-sea03 2s infinite; }
  .ani-sea .parts04 {
    right: 50%;
    margin-right: -398px;
    bottom: 105px;
    animation: move-sea04 3s infinite; }

@keyframes move-sea01 {
  0% {
    margin-left: -350px; }
  45% {
    transform: rotateY(0); }
  50% {
    margin-left: -150px;
    transform: rotateY(180deg); }
  95% {
    transform: rotateY(180deg); }
  100% {
    margin-left: -350px;
    transform: rotateY(0); } }
@keyframes move-sea03 {
  0% {
    bottom: 30px; }
  50% {
    bottom: 40px; }
  100% {
    bottom: 30px; } }
@keyframes move-sea04 {
  0% {
    transform: rotate(0); }
  50% {
    transform: rotate(10deg); }
  100% {
    transform: rotate(0); } }
@media only screen and (max-width: 768px) {
  .l-grid-col-6 .l-grid-item {
    width: 47%;
    margin-right: 0; }
    .l-grid-col-6 .l-grid-item:nth-child(2n) {
      margin-left: auto; }

  /* ===== title style ===== */
  .m-title__type01 {
    font-size: 2.5rem;
    margin-bottom: 20px; }
  .m-title__type02 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    padding-bottom: 15px; }
    .m-title__type02:after {
      width: 76px;
      height: 3px;
      margin-left: -38px; }

  /* ===== list style ===== */
  .m-list__type01 {
    margin-bottom: 40px; }
    .m-list__type01 .list-item:first-child .item-label:after {
      font-size: 1.2rem;
      width: 60px;
      padding: 2px 0; }
    .m-list__type01 .item-inner {
      padding: 20px 18px; }
      .m-list__type01 .item-inner p {
        display: inline-block;
        margin-bottom: 10px; }
        .m-list__type01 .item-inner p:last-child {
          margin-bottom: 0;
          display: block; }
    .m-list__type01 .item-date {
      width: auto;
      margin-right: 1em;
      display: inline-block; }
    .m-list__type01 .item-label {
      width: auto;
      display: inline-block; }
  .m-list__type02 .list-item {
    width: 100%;
    margin-bottom: 10px;
    padding: 15px 15px 20px; }
    .m-list__type02 .list-item:last-child {
      margin-bottom: 0; }
  .m-list__type02 .item-head {
    text-align: center;
    padding-left: 0; }
    .m-list__type02 .item-head span {
      position: static;
      display: block;
      padding-bottom: 5px; }
      .m-list__type02 .item-head span img {
        width: 28px; }
  .m-list__type02 .item-contents .image {
    width: 100%;
    text-align: center;
    margin-bottom: 10px; }
    .m-list__type02 .item-contents .image img {
      width: 150px; }
  .m-list__type02 .item-contents .text {
    width: 100%; }
  .m-list__type02 .item-link {
    text-align: center; }
  .m-list__type03 .list-item {
    width: 100%;
    text-align: left;
    padding: 25px 40px;
    margin-bottom: 35px; }
    .m-list__type03 .list-item:last-child {
      margin-bottom: 0; }
    .m-list__type03 .list-item:before {
      width: 45px;
      height: 59px;
      left: 5px;
      top: -30px; }
    .m-list__type03 .list-item p br {
      display: none; }
  .m-list__type04 .list-item {
    width: 100%;
    margin-bottom: 20px;
    padding: 15px 40px 20px; }
    .m-list__type04 .list-item:last-child {
      margin-bottom: 0; }
  .m-list__type04 .item-head .head-lead {
    font-size: 1.2rem; }
  .m-list__type05 .list-item {
    width: 48%;
    margin-bottom: 4%;
    border-radius: 10px; }
  .m-list__type05 .item-inner {
    height: 130px;
    font-size: 1.6rem; }
  .m-list__type05 .ico {
    width: 24px;
    height: 24px; }
  .m-list__type06 .list-item {
    width: 100%;
    margin-top: 0;
    margin-bottom: 35px; }
    .m-list__type06 .list-item:last-child {
      margin-bottom: 0; }
  .m-list__type06 .item-btn {
    margin-bottom: 10px; }
    .m-list__type06 .item-btn a {
      height: 55px;
      border-radius: 10px;
      font-size: 1.6rem; }
      .m-list__type06 .item-btn a span {
        padding-right: 20px;
        background-size: 13px; }

  /* ===== table style ===== */
  .m-table__type01 th, .m-table__type01 td {
    display: block;
    width: 100%;
    box-sizing: border-box; }
  .m-table__type01 th {
    padding: 15px .5em 0; }
  .m-table__type01 td {
    padding: 0 1.5em 15px; }
  .m-table__type02 {
    border-radius: 10px; }
    .m-table__type02 th, .m-table__type02 td {
      border-bottom: none;
      border-right: none;
      display: block;
      width: 100%;
      box-sizing: border-box; }
    .m-table__type02 th {
      width: 100%;
      padding: .5em 1em 0; }
    .m-table__type02 td {
      padding: 0 1em .5em;
      border-bottom: 1px solid #2562d0; }
    .m-table__type02 .bR {
      border-right: none !important; }

  /* ===== box style ===== */
  .m-box__type01 {
    margin-bottom: 10px;
    border-radius: 10px; }
    .m-box__type01 .box-head {
      padding: 15px; }
      .m-box__type01 .box-head .head-title {
        margin-bottom: 10px; }
    .m-box__type01 .box-contents {
      padding: 15px; }

  /* ===== block style ===== */
  .m-block__type01 {
    border-radius: 10px; }
    .m-block__type01 .block-head {
      padding: 30px 15px; }
      .m-block__type01 .block-head .head-title {
        font-size: 1.6rem; }
        .m-block__type01 .block-head .head-title span {
          font-size: 1.2rem; }
    .m-block__type01 .block-contents .box {
      padding: 15px; }
      .m-block__type01 .block-contents .box.l-grid {
        height: auto;
        border-right: none;
        border-top: none;
        border-bottom: 1px solid #2562d0; }
      .m-block__type01 .block-contents .box:last-child {
        border-bottom: none; }
    .m-block__type01 .block-contents.col-3 .box {
      width: 100%;
      min-height: 140px; }
    .m-block__type01 .block-contents.col-2 .box {
      width: 100%;
      text-align: left;
      padding-top: 60px;
      -webkit-justify-content: flex-start;
      justify-content: flex-start; }
  .m-block__type02 {
    border-radius: 10px;
    padding: 15px; }
    .m-block__type02 .block-title {
      margin-bottom: 0.5em; }

  /* ===== modal ===== */
  .js-modal-close {
    top: 5px;
    right: 5px;
    font-size: 40px; }

  .js-modal .modal-inner {
    padding: 20px; }
  .js-modal .modal-contents {
    border-radius: 10px;
    padding: 8px; }
  .js-modal .modal-contents-inner {
    padding: 20px 5px; }

  /* ===== animation ===== */
  .ani-wave .waves {
    min-height: 40px;
    max-height: 50px; }
  .ani-wave .parallax > use {
    animation-duration: 10s; }

  .ani-sea {
    padding-bottom: 50.666vw;
    background-image: url(../images/common/bg_sea_sp.png);
    background-size: 100%; }
    .ani-sea .parts img {
      width: 100%; }
    .ani-sea .parts02 {
      display: none; }
    .ani-sea .parts01 {
      width: 9.866vw;
      margin-left: -40vw;
      animation: move-sea01 6s infinite;
      bottom: 26vw; }
    .ani-sea .parts03 {
      width: 11.733vw;
      margin-right: -29.333vw;
      bottom: 32vw; }
    .ani-sea .parts04 {
      width: 42.666vw;
      margin-right: -36.666vw;
      bottom: 21.333vw; }

  @keyframes move-sea01 {
    0% {
      margin-left: -40vw; }
    45% {
      transform: rotateY(0); }
    50% {
      margin-left: -20vw;
      transform: rotateY(180deg); }
    95% {
      transform: rotateY(180deg); }
    100% {
      margin-left: -40vw;
      transform: rotateY(0); } }
  @keyframes move-sea03 {
    0% {
      bottom: 32vw; }
    50% {
      bottom: 34vw; }
    100% {
      bottom: 32vw; } } }
/*------------------------------------------
  header
------------------------------------------*/
.site-header {
  background: #fff; }
  .site-header__inner {
    padding: 22px 20px; }
  .site-header__inner {
    padding: 22px 40px;
    position: relative;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center; }
  .site-header .header-title {
    padding-right: 50px;
    position: relative; }
    .site-header .header-title .title-logo {
      margin-right: 8px; }
      .site-header .header-title .title-logo img {
        width: 82px;
        height: auto; }
    .site-header .header-title .title-text__catch {
      color: #2562d0;
      line-height: 1.3; }
    .site-header .header-title .title-text__main {
      color: #2562d0;
      font-weight: 800;
      font-size: 2.7rem; }
    .site-header .header-title .title-text__sub {
      color: #4d4d4d;
      font-size: 1.3rem; }
    .site-header .header-title .title-sns {
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -17px; }
  .site-header .header-guide {
    -webkit-align-items: center;
    align-items: center; }
    .site-header .header-guide .guide-box {
      margin-left: 25px;
      -webkit-align-items: center;
      align-items: center; }
      .site-header .header-guide .guide-box:first-child {
        margin-left: 0; }
    .site-header .header-guide .box-tel {
      line-height: 1.4; }
    .site-header .header-guide .box-btn {
      margin-left: 10px; }
    .site-header .header-guide .tel-text {
      color: #2562d0;
      font-size: 1.7rem; }
    .site-header .header-guide .tel-num {
      color: #2562d0;
      font-size: 2.2rem;
      font-weight: 800; }

.global-nav {
  background: #cff1fe;
  padding: 30px 0; }
  .global-nav__list {
    max-width: 1000px;
    margin: auto;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .global-nav__list a {
      display: block;
      background: #fff;
      font-size: 1.7rem;
      letter-spacing: .1em;
      position: relative;
      padding: .6em 1em .5em 3em;
      border-radius: 30px; }
      .global-nav__list a:hover {
        background: #01c1de;
        color: #fff; }
      .global-nav__list a .icon {
        position: absolute;
        left: 15px;
        top: 50%;
        margin-top: -13px; }
  .global-nav .header-guide {
    display: none; }

@media only screen and (max-width: 1380px) {
  .site-header__inner {
    padding: 22px 20px; }
  .site-header .header-guide {
    width: 620px;
    -webkit-justify-content: flex-end;
    justify-content: flex-end; }
    .site-header .header-guide .guide-box {
      margin-bottom: 10px;
      margin-left: 0; }
      .site-header .header-guide .guide-box:last-child {
        margin-bottom: 0; }
    .site-header .header-guide .box-tel {
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
    .site-header .header-guide .tel-text {
      font-size: 1.5rem;
      margin-right: 10px; }
    .site-header .header-guide .tel-num {
      font-size: 2rem; }

  .global-nav__list a {
    font-size: 1.5rem;
    padding: .6em 1em .5em 3.5em; } }
@media only screen and (max-width: 1024px) {
  .site-header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 100; }
    .site-header__inner {
      padding: 0 15px;
      height: 62px;
      background: #fff;
      z-index: 10; }
    .site-header .header-title .title-logo {
      width: 41px; }
    .site-header .header-title .title-text__catch {
      font-size: 1.4rem; }
    .site-header .header-title .title-text__main {
      font-size: 2.1rem; }
    .site-header .header-title .title-text__sub {
      display: none; }
    .site-header .header-guide {
      display: none; }
    .site-header .header-trigger {
      z-index: 20;
      cursor: pointer;
      position: absolute;
      top: 0;
      right: 0;
      width: 62px;
      height: 62px;
      background: #2562d0; }
      .site-header .header-trigger div {
        width: 26px;
        height: 22px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -11px;
        margin-left: -13px; }
      .site-header .header-trigger span {
        position: absolute;
        width: 100%;
        background: #fff;
        height: 4px;
        left: 0;
        transition: .4s; }
        .site-header .header-trigger span:nth-of-type(1) {
          top: 0; }
        .site-header .header-trigger span:nth-of-type(2) {
          top: 50%;
          margin-top: -2px; }
        .site-header .header-trigger span:nth-of-type(3) {
          bottom: 0; }
      .site-header .header-trigger.trigger-open span:nth-of-type(1) {
        transform: translateY(9px) rotate(45deg); }
      .site-header .header-trigger.trigger-open span:nth-of-type(2) {
        opacity: 0; }
      .site-header .header-trigger.trigger-open span:nth-of-type(3) {
        transform: translateY(-9px) rotate(-45deg); }

  .global-nav {
    z-index: 5;
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: none;
    padding: 62px 0 0;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-y: auto;
    overflow-y: auto; }
    .global-nav__inner {
      background: #cff1fe;
      padding: 30px 15px 40px; }
    .global-nav__list {
      margin-bottom: 30px; }
      .global-nav__list a {
        padding: 1em 1em .8em 3.5em; }
        .global-nav__list a:hover {
          background: #fff;
          color: #1a1a1a; }
    .global-nav li {
      width: 100%;
      margin: 0 0 10px; }
      .global-nav li:last-child {
        margin-bottom: 0; }
    .global-nav .header-guide {
      display: block;
      width: 100%; }
      .global-nav .header-guide .guide-box {
        margin-bottom: 30px;
        text-align: center; }
      .global-nav .header-guide .box-tel {
        display: block;
        width: 100%;
        margin-bottom: 10px; }
        .global-nav .header-guide .box-tel a {
          color: #2562d0; }
      .global-nav .header-guide .box-btn {
        width: 100%; } }
/*------------------------------------------
  footer
------------------------------------------*/
.site-footer {
  position: relative;
  background-image: url(../images/common/bg_footer.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding: 65px 0 30px;
  color: #fff; }
  .site-footer .footer-title {
    text-align: center;
    margin-bottom: 45px; }
    .site-footer .footer-title .title-logo {
      position: absolute;
      width: 90px;
      left: 50%;
      margin-left: -45px;
      top: -49px; }
      .site-footer .footer-title .title-logo img {
        height: auto; }
    .site-footer .footer-title .title-text__catch {
      font-size: 1.8rem; }
    .site-footer .footer-title .title-text__main {
      font-size: 3.5rem;
      font-weight: 800;
      margin-bottom: 5px; }
  .site-footer .widget-title {
    display: none; }
  .site-footer .footer-contents {
    max-width: 790px;
    margin: auto; }
    .site-footer .footer-contents__info {
      margin-bottom: 50px; }
      .site-footer .footer-contents__info a {
        color: #fff; }
    .site-footer .footer-contents .info-tel {
      -webkit-justify-content: center;
      justify-content: center;
      font-size: 1.9rem;
      margin-bottom: 25px; }
      .site-footer .footer-contents .info-tel .tel-text {
        margin: 0 15px; }
        .site-footer .footer-contents .info-tel .tel-text span {
          font-weight: 800; }
    .site-footer .footer-contents .info-guide {
      border-left: 1px solid #fff;
      border-right: 1px solid #fff;
      -webkit-align-items: center;
      align-items: center; }
    .site-footer .footer-contents .guide-title {
      text-align: center;
      width: 160px;
      font-size: 1.7rem; }
    .site-footer .footer-contents .guide-text {
      width: calc( 100% - 160px );
      box-sizing: border-box;
      padding-left: 30px;
      border-left: 1px solid #fff; }
      .site-footer .footer-contents .guide-text table {
        width: 100%;
        text-align: left; }
        .site-footer .footer-contents .guide-text table tr:last-child th, .site-footer .footer-contents .guide-text table tr:last-child td {
          padding-bottom: 0; }
        .site-footer .footer-contents .guide-text table th, .site-footer .footer-contents .guide-text table td {
          padding-bottom: 10px; }
        .site-footer .footer-contents .guide-text table td {
          padding-left: 1em; }
    .site-footer .footer-contents__link {
      margin-bottom: 65px;
      text-align: center; }
    .site-footer .footer-contents .link-box {
      width: 50%;
      box-sizing: border-box;
      padding: 0 40px;
      position: relative; }
      .site-footer .footer-contents .link-box:before, .site-footer .footer-contents .link-box:after {
        width: 1px;
        height: 80%;
        top: 10%;
        position: absolute;
        background: #fff; }
      .site-footer .footer-contents .link-box:before {
        content: "";
        left: 0; }
      .site-footer .footer-contents .link-box:nth-child(2n):after {
        content: "";
        right: 0; }
      .site-footer .footer-contents .link-box .box-text {
        font-size: 1.2rem;
        margin-top: 1em; }
  .site-footer .footer-menu {
    margin-bottom: 30px; }
    .site-footer .footer-menu__list {
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .site-footer .footer-menu__list a {
        display: block;
        background: #fff;
        letter-spacing: .1em;
        position: relative;
        padding: .6em 1em .5em 3em;
        border-radius: 30px; }
        .site-footer .footer-menu__list a:hover {
          background: #01c1de;
          color: #fff; }
        .site-footer .footer-menu__list a .icon {
          position: absolute;
          left: 15px;
          top: 50%;
          margin-top: -10px;
          width: 20px; }
          .site-footer .footer-menu__list a .icon img {
            vertical-align: middle; }
  .site-footer .footer-copy {
    text-align: center;
    font-size: 1.3rem; }
  .site-footer .footer-pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px; }

@media only screen and (max-width: 1024px) {
  .site-footer .footer-menu {
    margin-bottom: 10px; }
    .site-footer .footer-menu__list {
      -webkit-justify-content: center;
      justify-content: center; }
    .site-footer .footer-menu li {
      margin: 0 10px 20px; } }
@media only screen and (max-width: 768px) {
  .site-footer {
    background-image: url(../images/common/bg_footer_sp.png);
    padding: 50px 0 30px; }
    .site-footer .footer-title .title-logo {
      width: 73px;
      margin-left: -36px;
      top: -40px; }
    .site-footer .footer-title .title-text__catch {
      font-size: 1.7rem; }
    .site-footer .footer-title .title-text__main {
      font-size: 3rem; }
    .site-footer .footer-title .title-text__sub {
      font-size: 1.7rem; }
    .site-footer .footer-contents__info {
      margin-bottom: 20px; }
    .site-footer .footer-contents .info-tel {
      font-size: 1.7rem;
      margin-bottom: 25px; }
      .site-footer .footer-contents .info-tel .tel-text {
        width: 100%;
        text-align: center;
        margin: 0 0 20px; }
        .site-footer .footer-contents .info-tel .tel-text:last-child {
          margin-bottom: 0; }
        .site-footer .footer-contents .info-tel .tel-text span {
          font-size: 2.2rem; }
    .site-footer .footer-contents .info-guide {
      border: 1px solid #fff;
      border-radius: 10px; }
    .site-footer .footer-contents .guide-title {
      width: 100%;
      border-bottom: 1px solid #fff;
      padding: 5px 0; }
    .site-footer .footer-contents .guide-text {
      width: 100%;
      border: none;
      padding: 0; }
      .site-footer .footer-contents .guide-text table {
        text-align: left;
        font-size: 1.7rem; }
        .site-footer .footer-contents .guide-text table tr {
          border-bottom: 1px solid #fff; }
          .site-footer .footer-contents .guide-text table tr:last-child {
            border-bottom: none; }
            .site-footer .footer-contents .guide-text table tr:last-child td {
              padding-bottom: 0.5em; }
        .site-footer .footer-contents .guide-text table th, .site-footer .footer-contents .guide-text table td {
          padding-bottom: 0;
          display: block;
          width: 100%;
          box-sizing: border-box; }
        .site-footer .footer-contents .guide-text table th {
          padding: .5em .5em 0; }
        .site-footer .footer-contents .guide-text table td {
          padding: 0 1.5em .5em; }
    .site-footer .footer-contents__link {
      margin-bottom: 30px; }
    .site-footer .footer-contents .link-box {
      width: 100%;
      padding: 0 36px;
      margin-bottom: 20px; }
      .site-footer .footer-contents .link-box:before {
        content: none; }
      .site-footer .footer-contents .link-box:last-child {
        margin-bottom: 0; }
      .site-footer .footer-contents .link-box:nth-child(2n):after {
        content: none; }
      .site-footer .footer-contents .link-box .box-image img {
        width: 100%; }
      .site-footer .footer-contents .link-box .box-text {
        font-size: 1.5rem;
        text-align: left; }
    .site-footer .footer-menu {
      display: none; }
    .site-footer .footer-copy {
      font-size: 1.2rem; }
    .site-footer .footer-pagetop {
      width: 59px;
      bottom: 45px;
      right: 8px; } }
/*------------------------------------------
  contents
------------------------------------------*/
.main-contents {
  padding-bottom: 180px; }

.wrapper {
  overflow: hidden; }

.page-head {
  text-align: center; }
  .page-head__title {
    padding: 35px 0 0;
    background: #2b8aef; }
  .page-head .title-icon {
    margin-bottom: 10px; }
  .page-head .title-text {
    color: #fff;
    font-size: 4rem;
    font-weight: 500; }
    .page-head .title-text span {
      font-size: 3rem; }

.page-lead {
  padding: 30px 0 40px;
  text-align: center; }
  .page-lead p {
    color: #2562d0;
    font-size: 1.8rem;
    line-height: 2.38;
    margin-bottom: 25px; }
    .page-lead p:last-child {
      margin-bottom: 0; }

.bg-wrapper {
  position: relative; }
  .bg-wrapper__sea {
    padding: 85px 0 130px;
    background: #2b6fdc;
    background: -moz-linear-gradient(top, #2b6fdc 0%, #0b58ad 50%, #01b6de 100%);
    background: -webkit-linear-gradient(top, #2b6fdc 0%, #0b58ad 50%, #01b6de 100%);
    background: linear-gradient(to bottom, #2b6fdc 0%, #0b58ad 50%, #01b6de 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b6fdc', endColorstr='#01b6de',GradientType=0 ); }
    .bg-wrapper__sea:before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: url(../images/common/bg_bubble.png) no-repeat center top; }
    .bg-wrapper__sea .m-title__type02 {
      color: #fff; }
  .bg-wrapper__bubble {
    padding: 85px 0 130px; }
    .bg-wrapper__bubble .m-title__type02 {
      color: #fff; }
  .bg-wrapper__inner {
    position: relative; }

.page-section {
  margin-bottom: 100px; }
  .page-section:last-child {
    margin-bottom: 0; }
  .page-section .sec__contents {
    margin-bottom: 80px; }
    .page-section .sec__contents:last-child {
      margin-bottom: 0; }
  .page-section .sec__lead {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 25px;
    line-height: 1.6; }
    .page-section .sec__lead.white {
      color: #fff; }

.news-article .article-head {
  border-top: 2px solid #2562d0;
  border-bottom: 2px solid #2562d0;
  padding: 20px 0;
  margin-bottom: 40px; }
  .news-article .article-head .head__date {
    margin-bottom: 1em; }
  .news-article .article-head .head__title {
    font-size: 2.3rem;
    color: #2562d0; }
.news-article .article-contents {
  margin-bottom: 65px;
  line-height: 1.8;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
  .news-article .article-contents > div {
    margin-bottom: 35px; }
    .news-article .article-contents > div:last-child {
      margin-bottom: 0; }
  .news-article .article-contents a {
    text-decoration: underline; }

.pagination {
  text-align: center; }
  .pagination .screen-reader-text {
    display: none; }
  .pagination .nav-links span, .pagination .nav-links a {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    line-height: 30px;
    margin: 0 8px; }
  .pagination .nav-links .current {
    color: #fff;
    background: #2562d0;
    width: 30px; }

.form-text-conf {
  display: none; }

.form-table {
  width: 100%;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-align: left;
  margin-bottom: 60px; }
  .form-table tr {
    border-top: 2px solid #2b8aef; }
  .form-table th, .form-table td {
    vertical-align: middle; }
  .form-table th {
    font-weight: bold;
    position: relative;
    width: 240px;
    box-sizing: border-box;
    padding-left: 1em; }
    .form-table th .required {
      font-size: 1.4rem;
      color: #ff0000;
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -0.6em; }
  .form-table td {
    padding: 25px 30px;
    padding-right: 15px;
    font-size: 1.6rem; }
  .form-table .agreement {
    font-size: 1.9rem;
    padding-top: 45px;
    padding-bottom: 45px; }
  .form-table input[type="text"], .form-table input[type="email"], .form-table textarea {
    background: #fff;
    border: 1px solid #cccccc;
    width: 100%;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
  .form-table input[type="text"], .form-table input[type="email"] {
    height: 45px;
    padding: 0 .5em;
    max-width: 515px; }
  .form-table textarea {
    padding: 0.5em;
    max-width: 615px; }
  .form-table ::placeholder {
    color: #c3c3c3; }
  .form-table .input-wrapper {
    max-width: 515px;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .form-table .input-wrapper > div {
      width: 48%; }
      .form-table .input-wrapper > div span, .form-table .input-wrapper > div input {
        display: inline-block;
        vertical-align: middle; }
      .form-table .input-wrapper > div input {
        width: calc( 100% - 1.5em ); }
  .form-table .mwform-checkbox-field-text {
    display: block;
    position: relative;
    cursor: pointer;
    padding-left: 35px;
    line-height: 1;
    font-size: 0; }
    .form-table .mwform-checkbox-field-text:before {
      position: absolute;
      content: "";
      top: -26px;
      left: 0;
      width: 22px;
      height: 22px;
      background: #fff;
      border-radius: 4px;
      border: 1px solid #cccccc; }
  .form-table input[type="checkbox"] {
    display: none; }
  .form-table input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
    position: absolute;
    content: "";
    width: 6px;
    height: 13px;
    border-bottom: 4px solid #2562d0;
    border-right: 4px solid #2562d0;
    transform: rotate(45deg);
    left: 7px;
    top: -24px; }
  .form-table .error {
    font-size: 1.3rem;
    padding-top: 10px; }
  .form-table .btn-privacy {
    padding-left: 35px; }

.form-btn {
  -webkit-justify-content: center;
  justify-content: center; }
  .form-btn input {
    margin: 0 20px;
    width: 230px;
    text-align: center;
    height: 60px;
    border-radius: 30px;
    font-size: 1.9rem;
    transition: .3s; }
  .form-btn .input-back {
    color: #15a76e;
    border: 1px solid #15a76e; }
    .form-btn .input-back:hover {
      background: #15a76e;
      color: #fff; }
  .form-btn .input-submit {
    color: #2562d0;
    border: 1px solid #2562d0; }
    .form-btn .input-submit:hover {
      background: #2562d0;
      color: #fff; }

.mw_wp_form_confirm .form-text-entry {
  display: none; }
.mw_wp_form_confirm .form-text-conf {
  display: block; }
.mw_wp_form_confirm .form-table th .required {
  display: none; }
.mw_wp_form_confirm .form-table td {
  padding-top: 45px;
  padding-bottom: 45px; }
.mw_wp_form_confirm .form-table .agreement {
  font-size: 1.6rem; }
.mw_wp_form_confirm .form-table .input-wrapper {
  -webkit-justify-content: flex-start;
  justify-content: flex-start; }
  .mw_wp_form_confirm .form-table .input-wrapper span {
    display: none; }
  .mw_wp_form_confirm .form-table .input-wrapper > div {
    margin-right: 1em;
    width: auto; }
.mw_wp_form_confirm .form-table .btn-privacy {
  display: none; }

.modal-privacy .modal-title {
  color: #2562d0;
  font-size: 1.8rem;
  margin-bottom: 1em; }
.modal-privacy .modal-text p {
  margin-bottom: 1.5em; }
  .modal-privacy .modal-text p:last-child {
    margin-bottom: 0; }

@media only screen and (max-width: 1024px) {
  .wrapper {
    padding-top: 62px; } }
@media only screen and (max-width: 768px) {
  .main-contents {
    padding-bottom: 115px; }

  .page-head__title {
    padding: 20px 0 0; }
  .page-head .title-icon {
    margin-bottom: 10px; }
    .page-head .title-icon img {
      width: 28px; }
  .page-head .title-text {
    font-size: 2.5rem; }
    .page-head .title-text span {
      font-size: 1.7rem; }

  .page-lead {
    padding: 25px 0 40px;
    text-align: left; }
    .page-lead p {
      font-size: 1.6rem;
      line-height: 2; }

  .bg-wrapper__sea {
    padding: 45px 0 120px; }
    .bg-wrapper__sea:before {
      background: url(../images/common/bg_bubble_sp.png) no-repeat center top;
      background-size: 100%; }
  .bg-wrapper__bubble {
    padding: 45px 0 120px; }
  .bg-wrapper__inner {
    position: relative; }

  .page-section {
    margin-bottom: 65px; }
    .page-section .sec__contents {
      margin-bottom: 40px; }
    .page-section .sec__lead {
      font-size: 1.6rem; }

  .news-article .article-head {
    border-width: 1px;
    padding: 20px 15px;
    margin-bottom: 25px; }
    .news-article .article-head .head__date {
      margin-bottom: .5em; }
    .news-article .article-head .head__title {
      font-size: 1.6rem; }
  .news-article .article-contents {
    margin-bottom: 35px; }

  .form-table {
    margin-bottom: 45px; }
    .form-table tr {
      border-top: 1px solid #2b8aef; }
    .form-table th, .form-table td {
      display: block;
      box-sizing: border-box;
      width: 100%; }
    .form-table th {
      padding: 20px 0 0; }
      .form-table th .required {
        font-size: 1.5rem;
        position: static;
        font-weight: normal; }
    .form-table td {
      padding: 10px 0 25px; }
    .form-table .agreement {
      font-size: 1.5rem;
      padding: 20px 0 0; }

  .form-btn input {
    margin: 0 0 15px;
    width: 218px;
    height: 45px;
    font-size: 1.5rem; }
    .form-btn input:last-child {
      margin-bottom: 0; }

  .mw_wp_form_confirm .form-table td {
    padding-top: 20px;
    padding-bottom: 30px; }

  .modal-privacy {
    padding: 20px 10px; }
    .modal-privacy .modal-title {
      font-size: 1.5rem; }
    .modal-privacy .modal-text p {
      font-size: 1.4rem; } }
/*------------------------------------------
  home
------------------------------------------*/
.BD-home .main-contents {
  padding-bottom: 0; }
.BD-home .global-nav__item01 a {
  background: #01c1de;
  color: #fff; }

.mv-section {
  background: #fff;
  padding-bottom: 100px; }
  .mv-section .sec__inner {
    background: #2b8aef; }

.js-mvSlider {
  max-width: 538px;
  padding: 45px 0;
  margin: auto; }
  .js-mvSlider .slick-list {
    overflow: visible; }
  .js-mvSlider .slide-item {
    padding: 0 15px; }
  .js-mvSlider .item-inner {
    display: block;
    position: relative; }
  .js-mvSlider .item-image img {
    border-radius: 40px; }
  .js-mvSlider .item-text {
    position: absolute;
    bottom: 26px;
    left: 26px;
    font-size: 2rem;
    color: #2562d0;
    font-weight: bold;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
    .js-mvSlider .item-text p {
      margin-bottom: 10px;
      line-height: 1.5; }
      .js-mvSlider .item-text p:last-child {
        margin-bottom: 0; }
    .js-mvSlider .item-text span {
      background: #fff;
      padding: 0 3px; }
  .js-mvSlider button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer; }
  .js-mvSlider .slick-dots {
    text-align: center;
    position: absolute;
    width: 100%;
    bottom: -40px;
    left: 0;
    z-index: 1; }
    .js-mvSlider .slick-dots li {
      display: inline-block;
      margin: 0 8px; }
    .js-mvSlider .slick-dots button {
      border-radius: 50%;
      width: 10px;
      height: 10px;
      border: 1px solid #29c1e2; }
    .js-mvSlider .slick-dots .slick-active button {
      background: #29c1e2; }

.contents-openhour .openhour-pc {
  background: #fff;
  padding: 24px;
  border-radius: 20px; }
.contents-openhour .pc-table {
  width: 100%;
  text-align: center;
  border-top: 1px solid #01c1de; }
  .contents-openhour .pc-table tr {
    border-bottom: 1px solid #01c1de; }
  .contents-openhour .pc-table th {
    font-size: 2.5rem;
    padding: 0.5em 0; }
  .contents-openhour .pc-table td {
    font-size: 2rem;
    vertical-align: middle;
    padding: 0.5em 0; }
    .contents-openhour .pc-table td.on {
      color: #01c1de;
      font-size: 3.2rem;
      line-height: 1.1; }
    .contents-openhour .pc-table td:first-child {
      text-align: left;
      color: #01c1de;
      font-size: 2.5rem; }
.contents-openhour .caution {
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  margin-top: 1em; }

.contents-map .map {
  padding-top: 50%; }
.contents-map .map {
  position: relative;
  width: 100%;
  padding-top: 40%;
  border-radius: 20px;
  overflow: hidden; }
  .contents-map .map iframe {
    vertical-align: bottom;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }
.contents-map .caution {
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  margin-top: 1em; }

@media only screen and (max-width: 768px) {
  .mv-section {
    padding-bottom: 50px; }

  .js-mvSlider {
    padding: 15px 0; }
    .js-mvSlider .item-image img {
      border-radius: 20px; }
    .js-mvSlider .item-text {
      bottom: 15px;
      left: 15px;
      font-size: 1.5rem; }
      .js-mvSlider .item-text p {
        margin-bottom: 7px; }
    .js-mvSlider .slick-dots {
      bottom: -30px; }
      .js-mvSlider .slick-dots li {
        margin: 0 8px; }
      .js-mvSlider .slick-dots button {
        width: 8px;
        height: 8px; }

  .contents-openhour .openhour-sp {
    background: #fff;
    padding: 20px;
    border-radius: 20px;
    text-align: center; }
    .contents-openhour .openhour-sp .box {
      padding: 15px 0;
      line-height: 1.6;
      border-bottom: 1px solid #01c1de; }
      .contents-openhour .openhour-sp .box:first-child {
        border-top: 1px solid #01c1de; }
    .contents-openhour .openhour-sp .box-date {
      color: #01c1de; }

  .contents-map .map {
    padding-top: 60%; }
  .contents-map .caution {
    text-align: left;
    font-size: 1.6rem; } }
/*------------------------------------------
  about
------------------------------------------*/
.BD-about .main-contents {
  padding-bottom: 0; }
.BD-about .global-nav__item02 a {
  background: #01c1de;
  color: #fff; }

.about-section {
  background: #bfe7fd;
  position: relative;
  margin-top: 40px;
  padding: 150px 0 70px; }
  .about-section:before {
    content: "";
    position: absolute;
    width: 172px;
    height: 180px;
    background: url(../images/common/parts05.png) no-repeat;
    background-size: 100%;
    top: -62px;
    left: 50%;
    margin-left: -86px; }

.contents-about {
  margin-bottom: 40px; }
  .contents-about:last-child {
    margin-bottom: 0; }
  .contents-about .catch {
    text-align: center;
    font-weight: 500;
    padding-top: 40px; }
  .contents-about .btn {
    text-align: center;
    margin-top: 40px; }
  .contents-about .lead {
    font-size: 1.8rem;
    line-height: 2.23;
    text-align: center;
    margin-top: 40px; }

.contents-profile .profile-head {
  text-align: center;
  color: #fff;
  margin-bottom: 30px; }
  .contents-profile .profile-head .head-image {
    margin-bottom: 25px; }
  .contents-profile .profile-head .head-name {
    margin-bottom: 30px;
    font-size: 1.8rem; }
    .contents-profile .profile-head .head-name span {
      font-size: 3rem; }
  .contents-profile .profile-head .head-history {
    line-height: 1.8; }
.contents-profile .profile-block {
  background: #fff;
  padding: 20px 24px;
  border-radius: 20px;
  position: relative; }
  .contents-profile .profile-block:before {
    content: "";
    position: absolute;
    width: 216px;
    height: 102px;
    background: url(../images/common/parts07.png) no-repeat;
    background-size: 100%;
    right: -10px;
    bottom: 36px; }
  .contents-profile .profile-block .block-title {
    text-align: center;
    font-size: 2.3rem;
    color: #2562d0;
    font-weight: 500;
    padding-bottom: 20px; }

.contents-recruit {
  background: #fff;
  padding: 45px 24px 60px;
  border-radius: 20px;
  position: relative; }
  .contents-recruit .recruit-head {
    text-align: center;
    margin-bottom: 65px; }
    .contents-recruit .recruit-head .head-title {
      font-weight: 500;
      font-size: 2.3rem;
      color: #2562d0;
      line-height: 1.3;
      margin-bottom: 20px; }
      .contents-recruit .recruit-head .head-title span {
        font-size: 1.8rem; }
    .contents-recruit .recruit-head .head-text {
      line-height: 1.75; }
      .contents-recruit .recruit-head .head-text p {
        margin-bottom: 5px; }
        .contents-recruit .recruit-head .head-text p:last-child {
          margin-bottom: 0; }
  .contents-recruit .recruit-block {
    margin-bottom: 90px; }
    .contents-recruit .recruit-block:last-child {
      margin-bottom: 0; }
    .contents-recruit .recruit-block .block-head {
      text-align: center;
      font-weight: 500;
      padding-bottom: 25px;
      position: relative;
      border-bottom: 1px solid #2562d0; }
      .contents-recruit .recruit-block .block-head .head-title {
        font-size: 2.3rem;
        display: inline-block;
        background: #2562d0;
        color: #fff;
        padding: 7px 1.5em;
        border-radius: 25px; }
      .contents-recruit .recruit-block .block-head .head-lead {
        color: #2562d0;
        line-height: 1.75;
        margin-top: 20px; }
      .contents-recruit .recruit-block .block-head .head-btn {
        position: absolute;
        top: 0;
        right: 0; }
      .contents-recruit .recruit-block .block-head .head-link {
        display: none; }
    .contents-recruit .recruit-block .block-contents {
      font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
      background: #f2f2f2;
      line-height: 1.6; }
      .contents-recruit .recruit-block .block-contents:nth-child(2n) {
        background: #fff; }
    .contents-recruit .recruit-block .cont-left {
      width: 200px;
      padding: 25px 1.5em;
      box-sizing: border-box; }
    .contents-recruit .recruit-block .cont-right {
      width: calc( 100% - 200px );
      padding: 25px 0;
      padding-right: 1.5em;
      box-sizing: border-box; }

.modal-about .modal-title {
  text-align: center;
  color: #2562d0;
  font-size: 1.8rem;
  margin-bottom: 1em; }
.modal-about .modal-image {
  text-align: center;
  margin-bottom: 25px; }
.modal-about .modal-list {
  font-size: 1.4rem;
  font-weight: bold;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .modal-about .modal-list ul.list01 {
    width: 26%; }
  .modal-about .modal-list ul.list02 {
    width: 33%; }
  .modal-about .modal-list ul.list03 {
    width: 40%; }
  .modal-about .modal-list ul li {
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent: -1em; }
    .modal-about .modal-list ul li:last-child {
      margin-bottom: 0; }

@media only screen and (max-width: 1024px) {
  .contents-recruit .recruit-block .block-head .head-btn {
    display: none; }
  .contents-recruit .recruit-block .block-head .head-link {
    display: block; }
  .contents-recruit .recruit-block .cont-left {
    width: 100%;
    padding: 15px .5em 5px; }
  .contents-recruit .recruit-block .cont-right {
    width: 100%;
    padding: 0 .5em 15px; }
    .contents-recruit .recruit-block .cont-right > p {
      padding: 0 1em; } }
@media only screen and (max-width: 768px) {
  .about-section {
    padding: 120px 0 60px; }
    .about-section:before {
      width: 126px;
      height: 131px;
      top: -45px;
      margin-left: -63px; }

  .contents-about {
    margin-bottom: 25px; }
    .contents-about .catch {
      padding-top: 25px; }
    .contents-about .lead {
      font-size: 1.6rem;
      text-align: left;
      line-height: 1.75; }

  .contents-profile .profile-head .head-image {
    margin-bottom: 10px; }
  .contents-profile .profile-head .head-name {
    margin-bottom: 20px;
    font-size: 1.5rem; }
    .contents-profile .profile-head .head-name span {
      font-size: 2.2rem; }
  .contents-profile .profile-block {
    padding: 20px 10px 90px; }
    .contents-profile .profile-block:before {
      width: 160px;
      height: 75px;
      bottom: 15px; }

  .contents-recruit {
    padding: 25px 10px 35px; }
    .contents-recruit .recruit-head {
      margin-bottom: 40px; }
      .contents-recruit .recruit-head .head-title span {
        font-size: 1.6rem; }
      .contents-recruit .recruit-head .head-text {
        padding: 0 .5em;
        text-align: left; }
    .contents-recruit .recruit-block {
      margin-bottom: 40px; }

  .modal-about .modal-title {
    font-size: 1.5rem; }
  .modal-about .modal-image {
    margin-bottom: 10px; }
    .modal-about .modal-image img {
      width: 140px; }
  .modal-about .modal-list ul {
    width: 100% !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .modal-about .modal-list ul li {
      width: 50%;
      padding: 5px;
      text-indent: 0;
      margin-bottom: 0;
      box-sizing: border-box; }
    .modal-about .modal-list ul .large {
      width: 100%; }
    .modal-about .modal-list ul .gray {
      background: #f2f2f2; } }
/*------------------------------------------
  byouji
------------------------------------------*/
.BD-byouji__top .main-contents {
  padding-bottom: 0; }
.BD-byouji .global-nav__item03 a {
  background: #01c1de;
  color: #fff; }

.m-contact-box {
  display: inline-block;
  width: 100%;
  max-width: 720px;
  border: 1px solid #2562d0;
  text-align: center;
  padding: 30px;
  color: #2562d0;
  font-weight: 800;
  border-radius: 80px;
  box-sizing: border-box; }
  .m-contact-box p {
    line-height: 1.5; }
  .m-contact-box .box-title {
    font-size: 2.3rem;
    margin-bottom: 0; }
  .m-contact-box .box-num {
    font-size: 3.4rem; }
    .m-contact-box .box-num a {
      color: #2562d0; }

.menu-list__byouji .list-item {
  text-align: center;
  width: 22%;
  margin-right: 4%;
  margin-bottom: 50px; }
  .menu-list__byouji .list-item:nth-child(4n) {
    margin-right: 0; }
.menu-list__byouji .item-contents {
  background: #f2f2f2;
  border-radius: 20px;
  margin-bottom: 15px;
  padding: 25px 0 5px; }
  .menu-list__byouji .item-contents .title {
    color: #2562d0; }

.link-section {
  background: #bfe7fd;
  padding: 25px 0 120px; }
  .link-section .sec__contents {
    max-width: 720px;
    margin: auto;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
  .link-section .link {
    width: 44%;
    line-height: 1.6; }
    .link-section .link-bnr {
      margin-bottom: 10px; }

.byouji-message {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.38; }

.life-section {
  margin-bottom: 70px;
  position: relative; }
  .life-section:last-child {
    margin-bottom: 0; }
  .life-section:nth-child(2n) {
    padding: 0 0 60px;
    background: #f2f2f2; }
    .life-section:nth-child(2n):before {
      content: "";
      background: #fff;
      width: 100%;
      height: 70px;
      position: absolute;
      top: 0;
      left: 0; }
  .life-section .sec__inner {
    position: relative; }
  .life-section .sec__title {
    text-align: center;
    margin-bottom: 10px; }
  .life-section .sec__contents {
    margin-bottom: 80px; }
    .life-section .sec__contents:last-child {
      margin-bottom: 0; }
  .life-section .life-list li {
    width: 31%;
    margin-bottom: 20px;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #2562d0;
    border-radius: 20px;
    height: 170px;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin-right: 3.5%; }
    .life-section .life-list li:nth-child(3n) {
      margin-right: 0; }
  .life-section .life-list .num {
    position: absolute;
    top: 15px;
    left: 15px;
    font-weight: 800;
    color: #fff;
    border-radius: 25px;
    text-align: center;
    min-width: 65px;
    padding: 0 1.5em;
    box-sizing: border-box;
    display: inline-block;
    line-height: 35px;
    font-size: 1.4rem; }
  .life-section .life-list .text {
    padding-top: 1em; }
  .life-section .life-list .parts {
    position: absolute; }
    .life-section .life-list .parts img {
      width: auto;
      max-width: none; }
    .life-section .life-list .parts01 {
      left: 33px;
      bottom: -50px; }
    .life-section .life-list .parts02 {
      right: 20px;
      bottom: -50px; }
    .life-section .life-list .parts03 {
      right: 16px;
      top: -36px; }

@media only screen and (max-width: 768px) {
  .m-contact-box {
    padding: 15px; }
    .m-contact-box p {
      line-height: 1.5; }
    .m-contact-box .box-title {
      font-size: 1.6rem; }
    .m-contact-box .box-num {
      font-size: 2.3rem; }

  .menu-list__byouji .list-item {
    width: 46%;
    margin-right: 0;
    margin-bottom: 30px; }
    .menu-list__byouji .list-item:nth-child(2n) {
      margin-left: auto; }
  .menu-list__byouji .item-contents {
    margin-bottom: 10px;
    border-radius: 10px;
    padding-top: 15px; }
    .menu-list__byouji .item-contents .title {
      font-size: 1.2rem; }
    .menu-list__byouji .item-contents .image img {
      width: 101px; }

  .link-section .sec__contents {
    padding: 0 45px; }
  .link-section .link {
    width: 100%;
    margin-bottom: 25px; }
    .link-section .link:last-child {
      margin-bottom: 0; }

  .byouji-message {
    text-align: left;
    font-size: 1.6rem;
    line-height: 2; }

  .life-section {
    margin-bottom: 40px; }
    .life-section:nth-child(2n) {
      padding-bottom: 25px; }
      .life-section:nth-child(2n):before {
        height: 60px; }
    .life-section .sec__title img {
      width: 201px; }
    .life-section .sec__contents {
      margin-bottom: 35px; }
    .life-section .life-list li {
      width: 100%;
      margin-right: 0;
      margin-bottom: 35px;
      border-radius: 10px;
      height: 150px; }
      .life-section .life-list li:before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 16px 8px 0 8px;
        border-color: #2562d0 transparent transparent transparent;
        position: absolute;
        left: 50%;
        margin-left: -8px;
        top: 100%;
        margin-top: 10px; }
      .life-section .life-list li:last-child {
        margin-bottom: 0; }
        .life-section .life-list li:last-child:before {
          content: none; }
    .life-section .life-list .parts {
      z-index: 1; }
      .life-section .life-list .parts img {
        height: 86px; }
      .life-section .life-list .parts01 {
        left: 5px;
        bottom: -30px; }
      .life-section .life-list .parts02 {
        right: 5px;
        bottom: -35px; }
      .life-section .life-list .parts03 {
        right: auto;
        left: 44px;
        top: auto;
        bottom: -25px; } }
/*------------------------------------------
  nyuyouji
------------------------------------------*/
.BD-nyuyouji .global-nav__item04 a {
  background: #01c1de;
  color: #fff; }

/*------------------------------------------
  yobou
------------------------------------------*/
.BD-yobou .global-nav__item05 a {
  background: #01c1de;
  color: #fff; }
