@charset "utf-8";

/*color*/
.allColors {
  color: #040f16;
  color: #2796da;
  color: #6bb9e8;
  color: rgb(135, 206, 250);
  color: #87cefa;
  color: #1e93b1;
  color: #46b5d1;
  color: rgba(22, 87, 128, 0.2);
  color: #ebebeb;
  color: #eaeaea;
}

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");

/*common*/
* {
  box-sizing: border-box;
}

html {
  overflow-y: scroll;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  overflow-x: hidden;
  width: 100%;
  min-width: 1000px;
  padding-top: 80px;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-break: normal;
}

.en {
  font-family: "Anton", "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  word-break: break-all;
}

.noto {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo,
    sans-serif;
}

.roboto {
  font-family: "Roboto", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

.monoton {
  font-family: "Monoton", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "游ゴシック", YuGothic, "メイリオ", Meiryo, cursive;
}

.yugo {
  font-family: "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

@media screen and (min-width: 771px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 770px) {
  .pc {
    display: none;
  }
}

a {
  text-decoration: none;
  color: #000;
}

.links {
  text-decoration: underline;
}

.bold {
  font-weight: bold;
}

img {
  vertical-align: top;
}

address {
  text-align: center;
}

.imgWrap .wp-post-image,
.reImg {
  width: 100%;
  height: auto;
}

.mt50 {
  margin-top: 50px !important;
}

/* レスポンシブチェック
-------------------------------------------------------------*/
#responsibleCheck {
  width: 1px;
  height: 0;
}
/* 769px以下 */
@media screen and (max-width: 770px) {
  #responsibleCheck {
    width: 2px;
  }
}

/* header
-------------------------------------------------------------*/
.siteHeader {
  position: absolute;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 81px;
}

.siteHeaderInner {
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1475px;
}

.siteHeaderInner .logoWrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 43px 0 0;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.siteHeaderInner .logo a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 230px;
  width: 100%;
  padding: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.siteHeaderInner .entryArea {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
}

.hum {
  display: table-cell;
  margin: 0;
  padding: 0;
  overflow: hidden;
  vertical-align: top;
}

.hum a {
  position: relative;
  display: block;
  width: 100px;
  height: 100px;
  text-align: center;
  background: #87cefa;
}

.hum .hamburger-box {
  display: inline-block;
  width: 35px;
}

.hum .hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px;
}

.hum .hamburger-inner,
.hum .hamburger-inner:after,
.hum .hamburger-inner:before {
  position: absolute;
  width: 35px;
  height: 2px;
  background-color: #fff;
}

.hum .hamburger-inner:after,
.hum .hamburger-inner:before {
  display: block;
  content: "";
}

.hum .hamburger-inner:before {
  top: -10px;
}

.hum .hamburger-inner:after {
  bottom: -10px;
}

#hum {
  display: none;
}

.humNavi {
  padding-top: 50px;
}

.humNavi .none {
  display: none;
}

.humNavi .en {
  font-size: 3rem;
  line-height: 1.4;
  display: block;
}

.modaal-content-container {
  min-height: 100vh;
  text-align: center;
  background-color: rgba(135, 206, 250, 1);
}

.humNavi li a {
  display: block;
  color: #fff;
}

.humNavi li {
  margin-bottom: 20px;
}

.closeBT {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  display: block;
  width: 100px;
  height: 100px;
  cursor: pointer;
}

.closeBT .hamburger-box {
  display: inline-block;
  width: 35px;
}

.closeBT .hamburger-inner,
.closeBT .hamburger-inner:after,
.closeBT .hamburger-inner:before {
  position: absolute;
  width: 35px;
  height: 1px;
  background-color: #fff;
}

.closeBT .hamburger-inner:after,
.closeBT .hamburger-inner:before {
  display: block;
  content: "";
}

.closeBT .hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px;
  transform: rotate(90deg);
  background-color: transparent !important;
}

.closeBT .hamburger-inner:before {
  top: 0;
  transform: rotate(-45deg);
}

.closeBT .hamburger-inner:after {
  bottom: 0;
  transform: rotate(45deg);
}

.closeBT:hover {
  opacity: 0.6;
}

.entryBtn {
  margin: 0;
  padding: 0;
  display: table-cell;
}

.entryBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 370px;
  height: 100px;
  transition: background 0.2s linear;
  text-align: center;
  color: #fff;
  background: #2796da;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.entryBtn .bgCircle {
  font-size: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 40px;
  height: 40px;
  margin-left: 17px;
  transition: background 0.2s linear;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  background: #87cefa;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.entryBtn .en {
  font-size: 2.5rem;
  line-height: 1;
  display: block;
  margin-right: 15px;
  margin-left: 15px;
  padding-right: 15px;
  font-weight: bold;
  border-right: 1px solid #fff;
}

.entryBtn .txt {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  padding-right: 10px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.inner {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.bgColor {
  background-color: #ebebeb;
}

.bgColor.inner {
  padding-bottom: 100px;
}

.message {
  position: relative;
}

/* ページャー
-------------------------------------------------------------*/
.pagination {
  margin-top: 49px;
}

/* パンくずリスト
-------------------------------------------------------------*/
.bread {
  border-bottom: 1px solid #eaeaea;
}

.bread .breadList {
  color: #6bb9e8;
  max-width: 1480px;
  margin: 0 auto;
  padding: 11px 20px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.bread .breadList li {
  position: relative;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  padding-right: 15px;
  margin-right: 5px;
}

.bread .breadList li:last-child {
  margin-right: 0;
  padding-right: 0;
}

.bread .breadList li:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: ">";
  z-index: 2;
  margin: auto 0;
  display: inline-block;
}

.bread .breadList li:last-child:after {
  display: none;
}

.bread .breadList li a {
  color: #6bb9e8;
}

.bread .breadList br {
  display: none;
}

/* コピー
-------------------------------------------------------------*/
.copy {
  display: block;
  padding: 0;
  text-align: center;
}

/* form
-------------------------------------------------------------*/
.formWrapOuter {
  padding: 0 0 100px;
}

.modPCenter {
  margin-bottom: 1em;
  text-align: center;
}

.formWrap {
  width: 100%;
  max-width: 655px;
  margin: 40px auto 0;
  padding: 50px 0 0;
  background: #fff;
}

.formWrap dl {
  width: 100%;
  margin: 0 auto;
}

.formWrap dt {
  font-size: 1.6rem;
  font-weight: bold;
}

.formWrap dd {
  margin: 15px 0 30px 0;
}

.privacy {
  font-size: 1.2rem;
  display: block;
  overflow: auto;
  height: 200px;
  margin: 20px 0 10px 0;
  margin: 0 auto 1em;
  padding: 16px;
  border: 1px solid #ccc;
  background-color: #fffff7;
}

.privacy_title {
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
}

.modPCenter {
  margin-bottom: 1rem;
  text-align: center;
}

.privacy dt {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.privacy .num {
  font-weight: bold;
  font-style: normal;
  display: table-cell;
  padding-right: 10px;
  white-space: nowrap;
}

.privacy .content {
  display: table-cell;
}

.privacy,
.mw_wp_form .consent {
  width: 655px;
}

.mw_wp_form .consent {
  margin: 0 auto 30px;
  text-align: center;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
  margin-right: 0 !important;
}

.mw_wp_form .consent * {
  cursor: pointer;
}

.formWrap .required {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 25px;
  position: relative;
  top: -2px;
  display: inline-block;
  height: 25px;
  margin-right: 10px;
  padding: 0 15px;
  color: #fff;
  background: #87cefa;
}

.formWrap .any {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 25px;
  position: relative;
  top: -2px;
  display: inline-block;
  height: 25px;
  margin-right: 10px;
  padding: 0 15px;
  color: #fff;
  background: #999;
}

.formWrap textarea,
.formWrap input[type="email"],
.formWrap input[type="text"] {
  width: 100%;
  height: 40px;
  padding-left: 15px;
  border: 1px solid #ddd;
  background: #fff;
}

.formWrap textarea {
  height: 196px;
  vertical-align: top;
}

.consent + p {
  max-width: 300px;
  margin: 0 auto;
}

.formWrap .formBtn {
  text-align: center !important;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  height: 70px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #87cefa;
  border: 1px solid #87cefa;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
}

.formWrap .formBtn + .formBtn {
  margin-top: 1em;
}

.mwform-checkbox-field label,
.mwform-radio-field label {
  margin-right: 5px !important;
  white-space: nowrap;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-right: 10px !important;
  margin-left: auto !important;
}

dl.formWrapDl select.date,
.formWrap input[type="text"].hasDatepicker {
  width: auto;
}

.formWrap textarea {
  padding: 20px;
}

.formWrap select {
  height: 30px;
  border: 1px solid #ddd;
}

input[type="radio"] {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  content: "";
  cursor: pointer;
  vertical-align: middle;
  border: 1px solid #999;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  background-color: #fff;
}

input[type="radio"]:checked {
  background-image: radial-gradient(
    circle at 50% 50%,
    #454545 40%,
    transparent 50%
  );
}

input[type="radio"]:checked:after {
  position: absolute;
  top: 5px;
  left: 5px;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  -webkit-border-radius: 12px;
  border-radius: 12px;
  background: #454545;
}

input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  opacity: 1;
}

.mw_wp_form .formWrap .horizontal-item + .horizontal-item {
  margin-left: 0;
}

.mw_wp_form_input .formMessage01,
.mw_wp_form_confirm .formMessage02 {
  display: block;
  font-size: 1.5rem;
  color: rgba(28, 28, 28, 0.9);
}

.mw_wp_form_confirm .formMessage01,
.mw_wp_form_input .formMessage02 {
  display: none;
}

/*汎用*/
.alignC {
  text-align: center;
}

.ma {
  margin-right: auto;
  margin-left: auto;
}

.w50p {
  width: 50%;
}

/*margin*/
.mt20 {
  margin-top: 20px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb120 {
  margin-bottom: 120px;
}

.mb150 {
  margin-bottom: 150px;
}

/*blog*/
.subWrap {
  margin-top: 50px;
  border-top: 1px solid rgba(28, 28, 28, 0.9);
}

/* .categoryDl
-------------------------------------------------------------*/
.categoryDl {
  margin-bottom: 30px;
}

.categoryDl li {
  display: block;
  border-bottom: 1px solid #eaeaea;
}

.categoryDl li:last-child {
  margin-right: 0;
}

.categoryDl li a {
  display: block;
  padding: 10px 20px;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  border-radius: unset;
  text-align: left;
}

/* .latest
-------------------------------------------------------------*/
.subWrap .latest li {
  border-bottom: 1px solid #eaeaea;
}

.subWrap .latest a {
  display: block;
  padding: 12px 20px;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}

.subWrap .latest time {
  display: block;
  font-weight: bold;
  color: #1e93b1;
  font-size: 1.3rem;
  line-height: 1;
  margin: 10px 0 9px;
}

/* .single */
.single .meta {
  line-height: 1;
  margin: 0 0 15px;
}

.single .meta time {
  font-size: 1.5rem;
  color: #1e93b1;
  font-weight: bold;
  letter-spacing: 0.2em;
}

.single .category {
  display: inline-block;
  background: #6bb9e8;
  margin: 0 0 7px;
}

.single .category a {
  font-weight: bold;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  padding: 5px 10px;
  height: 100%;
  display: block;
}

.singleTtl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 0.15em;
}

.single .singleContent {
  width: 100%;
}

.image + .singleContent {
  margin-top: 30px;
}

.single .singleContent img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1em;
}

.single .singleContent p {
  line-height: 2;
  letter-spacing: 0.2em;
  margin-bottom: 1.5em;
}

.single .singleContent p:last-child {
  margin-bottom: 0;
}

.single .link {
  margin-top: 65px;
}

html.body {
  -ms-overflow-style: none;
}

.bkg_change {
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: 50% 0;
}
.bkg_about {
  width: 100%;
  padding-top: 18.75%;
  background: url(../img/about/bkg_about.png) 0 63.9% no-repeat;
  background-size: cover;
}

.home #cnt {
  margin-top: -250px;
}

#cnt .bkg_change:first-child .top {
  padding-top: 250px;
}

#cnt .bkg_change:first-child .wrapper {
  margin-top: 80px;
}

.emphasis_little {
  font-size: 2.5rem;
  margin-bottom: 9px;
  color: #46b5d1;
}
.emphasis_little .noto {
  font-size: 1.6rem;
  padding: 0 0 0 19px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #6bb9e8;
}

.emphasis_middle {
  font-size: 5.4rem;
  line-height: 0.8em;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100px;
  margin: auto;
  vertical-align: middle;
  color: #46b5d1;
}

.emphasis_major {
  font-size: 5.4rem;
  line-height: 0.8em;
  width: 100%;
  margin-top: -45px;
  margin-bottom: -45px;
  padding: 45px 0;
  text-align: center;
  color: #46b5d1;
}

.emphasis_subtitle {
  font-size: 2.4rem;
  font-weight: bold;
  color: #6bb9e8;
  letter-spacing: 0.1em;
  margin-top: 0.9em;
  display: block;
}

.emphasis_lowertitle {
  font-size: 6.5rem;
  line-height: 1em;
  margin: 15px 0;
  text-align: center;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #46b5d1;
}

.emphasis_lowerSubtitle {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5em;
  display: block;
  color: #6bb9e8;
}

.screen-reader-text {
  display: none;
}

.dpf {
  display: flex;
}

.jc_sb {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.jc_sa {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.dpfr2,
.dpfr4,
.dpfr6,
.dpfr8 {
  flex-flow: row-reverse;
}

.w100p {
  width: 100% !important;
}

.pl50 {
  padding-left: 50px;
}

/******************** header、top ********************/
header nav {
  margin-right: -16px;
}

header nav ul {
  display: flex;
  align-items: center;
}

header nav ul li a {
  font-weight: bold;
  padding: 16px;
  text-decoration: none;
  color: #fff;
}

header .logo img {
  width: 100%;
  height: auto;
  display: block;
}

header .entry {
  min-width: 490px;
  height: 100px;
  color: #fff;
  background: #2796da;
}

header .entry .mail {
  position: relative;
  width: 40px;
  height: 40px;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 20px;
  border-radius: 50%;
  background: #87cefa;
}

header .entry .mail img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 15px;
  margin: auto;
}

header .entry p {
  font-size: 2.5rem;
  line-height: 100px;
  vertical-align: middle;
}

header .entry .entry_item_1 {
  font-weight: 100;
  margin-left: 20px;
  letter-spacing: 3px;
}

header .entry .entry_item_1:after {
  padding-right: 10px;
  padding-left: 10px;
  content: "｜";
}

header .entry .entry_item_2 {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 1px;
}

header .entry .hum {
  width: 100px;
  margin-left: auto;
  background: #87cefa;
}

.top {
  height: auto;
  margin-top: auto;
  margin-bottom: auto;
}

.top > .inner {
  padding: 0 20px;
  max-width: 1475px;
}

.top .kv {
  margin-top: 197px;
  margin-bottom: 118px;
}

.top .kv h2 {
  font-size: 10.9rem;
  line-height: 1.3;
  letter-spacing: 0;
  color: #46b5d1;
}

.top .kv h2 strong {
  font-size: 12rem;
  font-weight: normal;
}

.letters_wrap {
  position: relative;
  text-transform: uppercase;
}

.letters_wrap .text-wrapper {
  position: relative;
  display: inline-block;
}

.letters_wrap .text-wrapper .letters {
  display: block;
}

.letters_wrap .letter {
  display: inline-block;
  transform: translateZ(0);
  transform-origin: 50% 100%;
  will-change: transform;
}

.top .kv .noto {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1em;
  letter-spacing: 11px;
  opacity: 0;
  color: #6bb9e8;
  margin-top: 13px;
  display: block;
}

@keyframes example {
  0% {
    /* 透明 */
    transform: translateX(50px);
    opacity: 0;
  }

  100% {
    /* 不透明 */
    transform: translateX(0);
    opacity: 1;
  }
}

.top .kv .noto {
  -webkit-animation: example 0.5s ease 4.3s 1 forwards;
  animation: example 0.5s ease 4.3s 1 forwards;
}

.top .campaign .exBox {
  max-width: 650px;
  background: rgba(255, 255, 255, 0.5);
}

.top .campaign .exBox a:hover {
  opacity: 0.7;
}

.top .campaign .exBox .imgBox {
  margin: 20px 0 20px 20px;
}
.top .campaign .exBox img {
  max-width: 207px;
  width: 100%;
}

.top .campaign .exBox .txt {
  padding: 20px 30px 20px 30px;
}

.top .campaign .exBox .txt h4 {
  font-size: 2rem;
  font-weight: bold;
  margin: 11px 0 10px;
  color: #6bb9e8;
  letter-spacing: 0.1em;
}

.top .campaign .exBox .txt p {
  font-size: 1.5rem;
  color: #040f16;
}
/******************** //header、top ********************/

/******************** wrapper ********************/
.wrapper {
  padding-bottom: 0.1px;
}

.wrapper section {
  position: relative;
  z-index: 0;
  margin: 0 auto 50px;
}

/* トップページ用(.message) */
.wrapper .message .inner {
  max-width: 1435px;
  padding: 85px 80px 86px 79px;
}

.wrapper .message .inner:before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  opacity: 0.4;
  background-image: url("../img/index/bkg_common.png");
  background-size: 30px;
}

.wrapper .message .inner .title,
.wrapper .message .inner .text {
  position: relative;
  padding-left: 0;
}

.wrapper .message .inner .title {
  width: 30%;
}

.wrapper .message .inner .text {
  width: 71%;
}

.wrapper .message .inner .emphasis_middle {
  font-size: 5rem;
  line-height: 0.8em;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100px;
  margin: auto;
  vertical-align: middle;
  color: #46b5d1;
}

.wrapper .message .inner .text .emphasis_middle {
  right: 0;
}

.wrapper .message .inner .emphasis_middle span {
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  display: block;
  color: #6bb9e8;
}

.wrapper .message .inner img {
  font-family: "object-fit: cover;";
  width: 100%;
  min-height: 250px;
  object-fit: cover;
}

.wrapper .message .inner p {
  font-size: 1.5rem;
  width: 89%;
  margin: -13% auto 0;
  padding: 25px 30px;
  color: #fff;
  background: #6bb9e8;
  position: relative;
  display: block;
  z-index: 10;
  line-height: 1.8;
}

/* ABOUTページ用(.message) */
.about .wrapper .message {
  margin-bottom: 0;
}

.about .wrapper .message .inner {
  max-width: 1315px;
  padding: 94px 20px 0;
}

.about .wrapper .message .inner .messageRightTtl {
  padding-left: 5%;
}

/* GUIDANCEページ用(.message) */
.guidance .wrapper .message .inner {
  max-width: 940px;
  padding: 51px 20px 0 20px;
}

.guidance .wrapper .message .inner .title {
  width: 100%;
}

.guidance .wrapper .message .inner .text {
  width: 100%;
  margin: 0 auto;
}

.guidance .wrapper .message .inner .emphasis_middle {
  font-size: 5rem;
  line-height: 0.8em;
  position: static;
  margin: 0 auto 25px;
  text-align: center;
  color: #46b5d1;
  line-height: 1;
}
.guidance .wrapper .message .inner .emphasis_middle span {
  line-height: 1;
}

.guidance .wrapper .message .inner p {
  margin: -6% auto 0;
}

/* トップページ用(.recommend) */
.wrapper .recommend {
  width: 100%;
  margin-bottom: 73px;
  padding-top: 51px;
}

.wrapper .recommend:before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: rgba(255, 255, 255, 0.4);
  background-size: 30px;
}

.wrapper .recommend .border_top {
  display: flex;
  width: 60%;
  margin: 0 auto;
  background-image: url(../img/index/bg_top_ttl.png);
  background-repeat: repeat-x;
  background-size: 50%;
}

.wrapper .recommend .border_top > div:nth-child(1) {
  width: 45%;
  padding-top: 5px;
  border-top: 2px solid #6bb9e8;
}

.wrapper .recommend .border_top > div:nth-child(2) {
  width: 10%;
  border-top: none;
}

.wrapper .recommend .border_top > div:nth-child(3) {
  width: 45%;
  padding-top: 5px;
  border-top: 2px solid #6bb9e8;
}

.wrapper .recommend .border_top > div:nth-child(1) div {
  border-top: 1px solid #6bb9e8;
}

.wrapper .recommend .border_top > div:nth-child(2) div {
  border-top: none;
}

.wrapper .recommend .border_top > div:nth-child(3) div {
  border-top: 1px solid #6bb9e8;
}

.wrapper .recommend .border_bottom {
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding-bottom: 5px;
  border-bottom: 2px solid #6bb9e8;
}

.wrapper .recommend .border_bottom div {
  border-bottom: 1px solid #6bb9e8;
}

.wrapper .recommend .title {
  position: relative;
  width: 63%;
  margin: 0 auto;
  padding: 50px 0 45px;
}

.wrapper .recommend .title:before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  margin: auto;
  content: "";
  height: 100%;
  background-image: url(../img/index/bg_top_ttl.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.wrapper .recommend .title:after {
  position: absolute;
  bottom: -100%;
  right: 0;
  left: 0;
  width: 100%;
  margin: auto;
  height: 100%;
  content: "";
  background-image: url(../img/index/bg_bottom_ttl.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.wrapper .recommend .title .emphasis_major {
  font-size: 5rem;
  line-height: 1;
  width: 100%;
  padding: 49px 0 25px;
  text-align: center;
  color: #46b5d1;
}

.wrapper .recommend .title .emphasis_major span {
  font-size: 2.4rem;
  font-weight: bold;
  display: block;
  color: #6bb9e8;
  letter-spacing: 0.1em;
  margin-top: 0.5em;
}

.wrapper .recommend .recommend_wrap {
  width: 63%;
  margin: 61px auto 73px;
}

.wrapper .recommend .recommend_wrap li {
  margin-bottom: 14%;
}

.wrapper .recommend .recommend_wrap li:last-child {
  margin-bottom: 0;
}

.wrapper .recommend .recommend_wrap .recommend_box {
  position: relative;
  padding-top: 40px;
  border: 1px solid #6bb9e8;
}

.wrapper .recommend .recommend_wrap .recommend_box .point {
  font-size: 2rem;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  width: 133px;
  margin: 0 auto;
  padding: 2px 0;
  text-align: center;
  color: #fff;
  background: #6bb9e8;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.wrapper .recommend .recommend_wrap .recommend_box .reco_title {
  font-size: 2.7rem;
  font-weight: bold;
  letter-spacing: 0.18em;
  text-align: center;
  color: #6bb9e8;
}

.wrapper .recommend .recommend_wrap .recommend_box .bkg {
  max-width: 407px;
  margin: 24px auto 30px;
  padding-right: 7px;
  padding-bottom: 7px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #6bb9e8;
}

.wrapper .recommend .recommend_wrap .recommend_box .bkg img {
  font-family: "object-fit: cover;";
  display: block;
  width: 100%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  object-fit: cover;
}

.wrapper .recommend .recommend_wrap .recommend_box .text {
  font-size: 1.5rem;
  width: 79.58%;
  margin: 0 auto -74px;
  padding: 20px 30px;
  color: #fff;
  background: #6bb9e8;
}

.wrapper .recommend .link {
  padding: 50px 0 100px;
}

.gallery .link {
  margin-top: 10px;
}

.link {
  width: 60%;
  margin: 0 auto;
}

.link p {
  max-width: 350px;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #6bb9e8;
  border-radius: 50px;
}

.link p a {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  padding: 25px 0 26px;
  transition: border 0.2s linear, background 0.2s linear;
  text-decoration: none;
  color: #6bb9e8;
  border-radius: 50px;
  letter-spacing: 0.1em;
}

.link p a:hover {
  color: #fff;
  background: #6bb9e8;
}

.wrapper .contents {
  width: 100%;
  margin-top: 80px;
  background-image: url(../img/index/back_star1.png);
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.wrapper .contents .title {
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding: 0;
}

.wrapper .contents .title .emphasis_major {
  font-size: 5rem;
  line-height: 0.8em;
  width: 100%;
  margin-top: -45px;
  margin-bottom: -45px;
  padding: 45px 0;
  text-align: center;
  color: #46b5d1;
}

.wrapper .contents .title .emphasis_major span {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  color: #6bb9e8;
  margin: 23px 0 39px;
  line-height: 1;
}

/* **********************************************************
 セクションコンテンツ（画像）
********************************************************** */
.wrapper .contents .contents_wrap .contents_box {
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.wrapper .contents .contents_wrap .contents_box .content_img {
  width: 48.234%;
}

.wrapper .contents .contents_wrap .contents_box .content_img img {
  font-family: "object-fit: cover;";
  display: block;
  width: 100%;
  object-fit: cover;
}

/* **********************************************************
 セクションコンテンツ（テキスト）
********************************************************** */

.pages .wrapper .contents .contents_wrap .contents_box .box {
  width: 40%;
}

.wrapper .contents .contents_wrap .contents_box .box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 51.77%;
  padding: 0 45px;
  color: #6bb9e8;
  background: url(../img/index/bkg_contents.png) center center / 4px 4px repeat;
  /*
	display: grid;
	margin-top: auto;
	margin-bottom: auto;
	padding: 22px 45px;
	*/
}

.wrapper .contents .contents_wrap .contents_box .point {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: -50px;
  /*
	margin-top: -15%;
	margin-bottom: 10px;
	*/
}

.wrapper .contents .contents_wrap .contents_box .contents_title {
  font-size: 2.7rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 14px 0 14px;
  white-space: nowrap;
  /*
	margin-top: -52px;
	margin-bottom: 18px;
	*/
}

.wrapper .contents .contents_wrap .contents_box .text {
  font-size: 1.5rem;
  line-height: 1.7;
  padding-bottom: 50px;
}

/* 矢印テキストリンク */
.wrapper .contents .contents_wrap .contents_box .arrow {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  padding: 17px 0 20px;
}

.wrapper .contents .contents_wrap .contents_box .arrow a {
  font-weight: bold;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #6bb9e8;
}

.wrapper .contents .contents_wrap .contents_box .arrow a:before {
  position: absolute;
  top: 4px;
  right: -80px;
  bottom: 0;
  width: 70px;
  height: 15px;
  margin: auto;
  content: "";
  background-image: url(../img/index/arrow.png);
  background-repeat: no-repeat;
  background-size: 70px;
}

.wrapper .contents .contents_wrap .contents_box .arrow a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  transition: transform 0.3s;
  transform: scale(0, 1);
  transform-origin: left top;
  background: #333;
}

.wrapper .contents .contents_wrap .contents_box .arrow a:hover::after {
  transform: scale(1, 1);
}

/* IE11ハック */
.wrapper .contents .contents_wrap .contents_box.ieStyle .box {
  margin-top: 5%;
}

.wrapper .contents .contents_wrap .contents_box.ieStyle .contents_title {
  margin-top: -12px;
}

.wrapper .contents .contents_wrap .contents_box.ieStyle .point {
  margin-bottom: 25px;
}

@media all and (-ms-high-contrast: none) {
  .head_back .head_back_wrap {
    width: 480px;
    height: 140px;
  }
}

/* HOME */

/* **********************************************************
 セクションコンテンツ（テキスト）
********************************************************** */
.home .wrapper .contents .contents_wrap .contents_box .text {
  padding-bottom: 0;
}

/* ABOUT */
.wrapper .contents .title .emphasis_major.about span {
  margin: 17px 0 63px;
}

/* GUIDANCDE */
.wrapper .contents.guidance {
  margin-top: 81px;
}

.wrapper .contents .title .emphasis_major.guidance {
  margin-top: 0;
}

.wrapper .contents .title .emphasis_major.guidance span {
  margin: 17px 0 54px;
}

.wrapper .contents .contents_wrap {
  max-width: 1315px;
  padding: 0 20px 91px;
  margin: 0 auto;
}

.about .wrapper .contents .contents_wrap {
  max-width: 1315px;
  padding: 0 20px 50px;
  margin: 0 auto;
}

.guidance .wrapper .contents .contents_wrap {
  max-width: 1315px;
  padding: 0 20px 50px;
  margin: 0 auto;
}

/* LESSON */
.lesson .wrapper .contents {
  margin-top: 60px;
}
.lesson .wrapper .contents .title .emphasis_major span {
  margin: 20px 0 66px;
}
.lesson .wrapper .contents .contents_wrap {
  padding-bottom: 0;
}
.lesson .wrapper .contents.schedule {
  margin-top: 0;
  padding-top: 54px;
  margin-bottom: 120px;
}
.lesson .wrapper .contents.schedule .title .emphasis_major span {
  margin: 20px 0 15px;
}
.lesson .wrapper .contents.schedule .scheduleBox {
  max-width: 1315px;
  padding: 0 20px;
  margin: 0 auto;
}

/* VOICE */
.voice .wrapper .contents .contents_wrap {
  max-width: 840px;
  padding: 0 20px 52px;
  margin: 0 auto;
}

.voice .wrapper .contents .contents_wrap .contents_box {
  margin-bottom: 60px;
}

.voice .wrapper .contents .contents_wrap .contents_box:last-child {
  margin-bottom: 0;
}

/* **********************************************************
 セクションコンテンツ（テキスト）
********************************************************** */
.voice .wrapper .contents .contents_wrap .contents_box .contents_title {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 18px;
}

.voice .wrapper .contents .contents_wrap .contents_box .box {
  /*display: grid;*/
  width: 100%;
  padding: 30px 50px;
  position: relative;
}

.voice .wrapper .contents .contents_wrap .contents_box .text {
  width: 100%;
  padding-bottom: 20px;
}

@media all and (-ms-high-contrast: none) {
  .voice .wrapper .contents .contents_wrap .contents_box .contents_title {
    margin-top: -15px;
    margin-bottom: 0;
    position: absolute;
  }

  .voice .wrapper .contents .contents_wrap .contents_box .box {
    margin-top: 0;
  }

  .voice .wrapper .contents .contents_wrap .contents_box .text {
    padding-top: 33px;
  }
}

.voice .wrapper .contents .contents_wrap .contents_box .box .memberWrap {
  text-align: right;
}

.voice .wrapper .contents .contents_wrap .contents_box .box .membar {
  font-size: 1.3rem;
  margin: 0px 0 0 auto;
  padding: 4px 14px;
  text-align: right;
  color: #fff;
  font-weight: bold;
  background: #6bb9e8;
  display: inline-block;
}

/* FAQ */
.faq .wrapper .contents .contents_wrap {
  max-width: 840px;
  padding: 0 20px 81px;
  margin: 0 auto;
}

.faq .wrapper .contents .contents_wrap .contents_box {
  margin-bottom: 40px;
}

.faq .wrapper .contents .contents_wrap .contents_box:last-child {
  margin-bottom: 0;
}

.faq .wrapper .contents .contents_wrap .contents_box .box {
  width: 100%;
  padding: 30px;
}

/* **********************************************************
 セクションコンテンツ（テキスト）
********************************************************** */
.faq .wrapper .contents .contents_wrap .contents_box .contents_title {
  font-size: 2rem;
  font-weight: bold;
  margin: 0;
  position: relative;
  padding: 5px 0 0 79px;
  margin: 0 0 23px;
  letter-spacing: 0.2em;
  width: 100%;
  white-space: normal;
}
.faq .wrapper .contents .contents_wrap .contents_box .contents_title:before {
  z-index: 10;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 45px;
  background: url(../img/faq/icn_q.gif) 0 0 no-repeat;
  background-size: contain;
}

.faq .wrapper .contents .contents_wrap .contents_box .text {
  position: relative;
  padding: 0 0 0 79px;
  width: 100%;
}
.faq .wrapper .contents .contents_wrap .contents_box .text:before {
  z-index: 10;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 45px;
  background: url(../img/faq/icn_a.gif) 0 0 no-repeat;
  background-size: contain;
}

/* ACCESS */
.access .wrapper .contents .contents_wrap {
  max-width: 1038px;
  padding: 0 20px;
  margin: 0 auto;
  width: auto;
}

.wrapper .contents .contents_wrap li {
  margin-bottom: 50px;
}

.wrapper .contents .contents_wrap li:last-child {
  margin-bottom: 0;
}

.home .wrapper .contents .contents_wrap li {
  margin-bottom: 50px;
}

.home .wrapper .contents .contents_wrap li:last-child {
  margin-bottom: 0;
}

/* ACCESSページ用(.access) */
.access .wrapper .contents .title .emphasis_major {
  margin-top: -58px;
}
.access .wrapper .contents .title .emphasis_major span {
  margin: 18px 0 53px;
}

.access .wrapper .contents .contents_wrap .contents_box .accessTtl {
  font-size: 1.6rem;
  line-height: 50px;
  text-align: center;
  color: #fff;
  background: #6bb9e8;
}

.access .wrapper .contents .contents_wrap .contents_box ul {
  width: 80%;
  margin: 30px auto 37px;
}

.access .wrapper .contents .contents_wrap .contents_box ul li {
  display: table;
  padding: 10px;
  color: #6bb9e8;
  border-top: 1px solid #eaeaea;
  margin-bottom: 0;
}

.access .wrapper .contents .contents_wrap .contents_box ul li:last-child {
  border-bottom: 1px solid #eaeaea;
}

.access .wrapper .contents .contents_wrap .contents_box ul li .info_title {
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  line-height: 40px;
  width: 170px;
  padding: 0 10px;
  font-size: 1.4rem;
  text-align: center;
  background: #eaeaea;
}

.access .wrapper .contents .contents_wrap .contents_box ul li .info_text {
  width: 80%;
  vertical-align: middle;
  display: table-cell;
  padding-left: 20px;
  font-size: 1.4rem;
}

.access
  .wrapper
  .contents
  .contents_wrap
  .contents_box
  ul
  li:last-child
  .info_title {
  padding-top: 3px;
}

.access
  .wrapper
  .contents
  .contents_wrap
  .contents_box
  ul
  li:last-child
  .info_text {
  line-height: 1.8em;
}

.access .wrapper .contents .contents_wrap .contents_box .gmap {
  width: 80%;
  margin: 0 auto 98px;
}

.access .wrapper .contents .contents_wrap .contents_box .gmap iframe {
  width: 100%;
  height: 474px;
}

.wrapper .contents .contents_wrap table {
  width: 63%;
  margin: 52px auto 19px;
  border-collapse: collapse;
}

.wrapper .contents .contents_wrap table tr {
  color: #6bb9e8;
  font-size: 1.5rem;
  line-height: 1.333;
  border-top: 1px solid rgba(22, 87, 128, 0.2);
}

.wrapper .contents .contents_wrap table tr:last-child {
  border-bottom: 1px solid rgba(22, 87, 128, 0.2);
}

.wrapper .contents .contents_wrap table tr th {
  font-weight: normal;
  box-sizing: border-box;
  width: 60%;
  padding-left: 3%;
  text-align: left;
  height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.wrapper .contents .contents_wrap table tr td {
  box-sizing: border-box;
  width: 39%;
  padding-right: 3%;
  text-align: right;
  padding-top: 10px;
  padding-bottom: 10px;
}

.wrapper .contents .contents_wrap .annotation {
  font-size: 1.3rem;
  line-height: 1.9;
  color: #6bb9e8;
  width: 63%;
  margin: 0 auto;
  padding: 0 1.87% 35px;
}

/* BLOG(home) */
.home .wrapper .blog {
  max-width: 1436px;
  padding: 80px 20px 69px;
  margin: 0 auto 50px;
}

.home .wrapper .blog:before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  background-size: 30px;
}

.home .wrapper .blog .title {
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding: 0;
}

.home .wrapper .blog .title .emphasis_major {
  font-size: 5rem;
  line-height: 0.8em;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 0 31px;
  text-align: center;
  color: #46b5d1;
  letter-spacing: 0.01em;
}

.home .wrapper .blog .title .emphasis_major span {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  color: #6bb9e8;
  line-height: 1;
}

/* BLOG(blog) */
.blog .wrapper .blog {
  max-width: 1039px;
  padding: 63px 20px 113px;
  margin: 0 auto;
}

.blog .wrapper .blog.singleArea {
  padding-bottom: 130px;
}

.blog .wrapper .blog .blogInner {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: center;
  align-content: center;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList {
  max-width: 699px;
  margin: 0;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: start;
  justify-content: start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.blog
  .wrapper
  .blog
  .blogInner
  .blogListWrap
  .blogArticleList
  li
  a
  .articleContents {
  width: 100%;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList li .imgWrap {
  width: 200px;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList li .ttlWrap {
  width: 100%;
  flex: 1;
  padding-left: 30px;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList li .category a {
  color: #87cefa;
  font-weight: bold;
}

.blog .wrapper .blog .blogInner .blogListWrap .blogArticleList .blogTtl {
  font-weight: bold;
}

.blog .wrapper .blog .blogInner .blogListWrap,
.blog .wrapper .blog .blogInner .singleArticle {
  width: 73%;
  margin: 0 auto 0 0;
}

.blog .wrapper .blog .blogInner .subWrap {
  width: 24%;
  border-top: none;
}

.blog .wrapper .blog .blogInner .subWrap .subTtlC .enn {
  font-size: 1.5rem;
  line-height: 1;
  display: block;
  padding: 13px 20px 12px;
  color: #fff;
  background: #6bb9e8;
  text-align: left;
  font-weight: bold;
  letter-spacing: 0.2em;
}

/* BLOG(共通部分) */
.wrapper .blog .topBlogList {
  max-width: 1000px;
  margin: 0 auto 50px;
}

.wrapper .blog .topBlogList li {
  padding: 15px 0;
  border-top: 1px solid #eaeaea;
}

.wrapper .blog .topBlogList li:last-child {
  border-bottom: 1px solid #eaeaea;
}

.wrapper .blog .topBlogList li a {
  text-decoration: none;
  color: #000;
  display: block;
}

.wrapper .blog .topBlogList li a:hover {
  opacity: 0.7;
}

.wrapper .blog .topBlogList li .imgBox {
  width: 220px;
}

.wrapper .blog .topBlogList li img {
  width: 150px;
  height: 150px;
  display: block;
}

.wrapper .blog .topBlogList li img:hover {
  opacity: 1;
}

.wrapper .blog .topBlogList li .dpf {
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.wrapper .blog .topBlogList li .text {
  position: relative;
  width: 100%;
  margin: auto 0;
  padding-right: 60px;
  /*margin-left: 30px;*/
}

.wrapper .blog .topBlogList li .text:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 42px;
  height: 21px;
  margin: auto;
  content: "";
  background-image: url(../img/index/blog_right.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.blog .wrapper .blog .topBlogList li a,
.category .wrapper .blog ul li a {
  width: 100%;
}

.wrapper .blog .topBlogList li .text .date {
  font-size: 1.5rem;
  color: #1e93b1;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.2em;
}

.wrapper .blog .topBlogList li .text .blog_title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #040f16;
  letter-spacing: 0.2em;
}

.wrapper .gallery {
  max-width: 1436px;
  margin: 0 auto 102px;
  padding-bottom: 83px;
  text-align: center;
}

.wrapper .gallery:before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  background-size: 30px;
}

.wrapper .gallery .title {
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding: 0;
}

.wrapper .gallery .title .emphasis_major {
  font-size: 5rem;
  line-height: 0.8em;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding: 80px 0 47px;
  text-align: center;
  color: #46b5d1;
}

.wrapper .gallery .title .emphasis_major span {
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  display: block;
  color: #6bb9e8;
}

.wrapper .gallery ul {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}

.wrapper .gallery ul li {
  width: 170px;
  width: -moz-calc(95% * 1/6);
  height: 170px;
  margin: 0 1% 1% 0;
}

.wrapper .gallery ul li img {
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/******************** 下層ページ ********************/
.head_back {
  position: relative;
  height: 400px;
  margin-top: -80px;
  background-repeat: no-repeat;
  background-position: bottom;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

/* 404 */
.head_back.notFound {
  background: url(../img/notfound/bg_notfound.jpg) center top no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.head_back .head_back_wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-width: 490px;
  height: 146px;
  margin: auto;
  border-top: 2px solid #6bb9e8;
  border-bottom: 2px solid #6bb9e8;
  padding: 4px 0 0;
}

.head_back .head_back_wrap .title {
  text-align: center;
  border-top: 1px solid #6bb9e8;
  border-bottom: 1px solid #6bb9e8;
  padding: 0 0 1px;
}

.head_back .head_back_wrap .title h2 {
  font-size: 7rem;
  line-height: 1em;
  margin: 15px 0;
  text-align: center;
  text-transform: uppercase;
  color: #46b5d1;
}

.head_back .head_back_wrap .title .emphasis_lowertitle {
  font-size: 7rem;
  margin: 17px 0;
  letter-spacing: normal;
	text-shadow: 1px 1px 0 rgba(255,255,255,0.5), -1px -1px 0 rgba(255,255,255,0.5), -1px 1px 0 rgba(255,255,255,0.5), 1px -1px 0 rgba(255,255,255,0.5), 0px 1px 0 rgba(255,255,255,0.5), -1px 0 rgba(255,255,255,0.5), -1px 0 0 rgba(255,255,255,0.5), 1px 0 0 rgba(255,255,255,0.5), 0 0 5px rgba(255,255,255,1);
}

.head_back .head_back_wrap .emphasis_lowerSubtitle {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  display: block;
  color: #6bb9e8;
  letter-spacing: 0.1em;
  margin-top: 7px;
  text-transform: none;
}

/******************** .facility_box ********************/
.wrapper .message.facility_box {
  margin: 57px 0 6%;
}

.wrapper .message.facility_box .inner:before {
  display: none;
}

.wrapper .message.facility_box .inner {
  padding: 0 20px;
}

.wrapper .message.facility_box .inner ul {
  padding: 0;
}

.wrapper .message.facility_box .inner ul li {
  margin-right: 54px;
}

.wrapper .message.facility_box .inner ul li:last-child {
  margin-right: 0;
}

.wrapper .message.facility_box .inner ul li .ext {
  font-size: 1.5rem;
  position: static;
  width: 100%;
  line-height: 1;
  padding: 13px 0 0;
  color: #6bb9e8;
  margin: 0;
  background: none;
  letter-spacing: 0.05em;
}

.wrapper .message.facility_box .inner ul li img {
  width: 100%;
  height: 100%;
  /*min-height: inherit;*/
}

@media all and (-ms-high-contrast: none) {
  .wrapper .message.facility_box ul li .ext {
    margin: auto;
    text-align: center;
  }
}

.facility_box ul li img {
  width: 100%;
}

#cnt.cnt_s {
  background: #fff;
}

#cnt.cnt_s .wrapper .message:before {
  background: none;
}

.concept ul,
.facility ul {
  padding: 90px;
}

.blog .subWrap,
.single-post .subWrap,
.category .subWrap {
  margin-top: 0;
}

.single-post .tiltBox .inner {
  padding: 0;
}

.single-post .tiltBox {
  margin: 0;
  background: #fff;
}

.subTtlC {
  position: relative;
  top: 0;
  text-align: left;
}

.bold {
  font-weight: bold;
  color: #1e93b1;
}

/******************** footer ********************/
footer {
  position: relative;
  z-index: 1;
  height: auto;
}

footer .page_top {
  position: relative;
  height: 51px;
  background: #2796da;
}

footer .page_top p {
  width: 100%;
  height: 100%;
}

footer .page_top p a {
  display: block;
  height: 100%;
}

footer .page_top p a img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 26px;
  height: 21px;
  margin: auto;
}

footer .footer_nav {
  color: #fff;
  font-size: 1.6rem;
  background: #6bb9e8;
}

footer .footer_nav ul {
  margin: 0 auto;
  line-height: 1;
  padding: 45px 0 0;
  justify-content: center;
}

footer .footer_nav ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 1.5rem;
  padding: 0 0.5em;
}

footer .footer_nav .copy {
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  padding: 37px 0 20px;
}
/******************** //footer ********************/

/* ページネーション */
.nav-links {
  line-height: 2em;
  display: flex;
  justify-content: center;
  text-align: center;
}
.nav-links span {
  display: inline-block;
  width: 45px;
  height: 45px;
  line-height: 45px;
  margin: 0 6px;
  color: #fff;
  font-weight: bold;
}
.nav-links span.current {
  background: #87cefa;
}
.nav-links span.link {
  background: none;
}
.nav-links a {
  display: inline-block;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-decoration: none;
  background: #fff;
  color: #6bb9e8;
  margin: 0 6px;
  font-weight: bold;
  border: solid 1px #dcdcdc;
}
.nav-links a:hover {
  color: #fff;
  background: #87cefa;
}
.nav-links span a {
  margin: 0;
}
.nav-links a.prev.page-numbers,
.nav-links a.next.page-numbers {
  font-weight: normal;
}
.single strong {
  font-weight: bold;
  background: -moz-linear-gradient(transparent 50%, #92d5fe 50%);
  background: -webkit-linear-gradient(transparent 50%, #92d5fe 50%);
  background: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    color-stop(0.5, transparent),
    color-stop(0.5, #92d5fe)
  );
  background: -o-linear-gradient(transparent 50%, #92d5fe 50%);
  background: linear-gradient(transparent 50%, #92d5fe 50%);
}

.wp-post-image,
.reImg02 {
  max-width: 100%;
  height: auto;
}

.modP {
  margin-bottom: 1em;
}

.modP:last-child {
  margin-bottom: 0;
}

.contentNotice {
  font-size: 1.3rem;
}

.contentText strong,
.contentNotice strong {
  font-weight: bold;
}

.contentText i,
.contentNotice i {
  font-style: italic;
}

.contentText p,
.contentNotice p {
  margin-bottom: 1em;
}

.contentText p:last-child,
.contentNotice p:last-child {
  margin-bottom: 0;
}

.siteHeaderInner .headline {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: bold;
  padding: 0 0 0 20px;
  margin: 20px 0 20px 20px;
  border-left: 1px solid #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.modaal-container {
  background-color: rgba(69, 69, 69, 0.5);
}

.modaal-content {
  padding-left: 70%;
  min-height: 100%;
}

.wrap .cntWrap {
  position: relative;
}

.tiltBox {
  background: #87cefa;
  position: relative;
  margin: 0 0 100px;
}

.inner.center {
  z-index: 10;
}

.tiltBox .inner {
  padding: 100px 0 200px;
}

.subTtlB .en {
  font-size: 4rem;
  line-height: 1.3;
  display: inline-block;
  vertical-align: top;
}

.subTtlB .min {
  font-size: 1.5rem;
  line-height: 1.3;
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 35px 0 0 40px;
  margin: 0;
}

.subTtlB .min:before {
  content: "";
  position: absolute;
  height: 90px;
  width: 1px;
  top: -10px;
  left: 20px;
  background: #000000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.subTtlC {
  position: relative;
  top: 0px;
  text-align: center;
}

.subTtlC .en {
  display: block;
  font-size: 6rem;
  line-height: 1;
}

.subWrap .subTtlC .en {
  display: block;
  font-size: 4rem;
  line-height: 1;
}

.subTtlC .jp {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  position: relative;
  margin: 10px 0 0;
}

.subTtlD {
  text-align: center;
  display: block;
  font-weight: bold;
  font-size: 2.4rem;
}

.ttlA {
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 10px;
  position: relative;
}

.ttlA span {
  padding: 10px 10px 5px 15px;
  position: relative;
  display: inline-block;
}

.ttlA:before,
.ttlA:after,
.ttlA span:before,
.ttlA span:after {
  content: "";
  display: block;
  position: absolute;
  background: #000000;
}

.ttlA:before {
  width: 40px;
  height: 1px;
  left: -5px;
  top: 0;
}

.ttlA:after {
  width: 1px;
  height: 40px;
  left: 0;
  top: -5px;
}

.ttlA span:before {
  width: 40px;
  height: 1px;
  right: -5px;
  bottom: 0;
}

.ttlA span:after {
  width: 1px;
  height: 40px;
  right: 0;
  bottom: -5px;
}

.ttlB {
  font-size: 2rem;
  font-weight: bold;
}

.ttlC {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.2em;
}

.ttlD {
  text-align: center;
  line-height: 1.4;
}

.ttlD .en {
  display: block;
  font-size: 4rem;
}

.ttlD .jp {
  position: relative;
  text-align: center;
}

.ttlD .jp:after,
.ttlD .jp:before {
  content: " ";
  width: 40px;
  height: 1px;
  display: inline-block;
  background: rgba(28, 28, 28, 0.9);
  vertical-align: top;
  margin-top: 10px;
}

.ttlD i {
  font-style: normal;
  display: inline-block;
  vertical-align: top;
  padding: 0 10px;
  font-size: 1.6rem;
}

.ttlE {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.ttlF {
  text-align: center;
  line-height: 1.4;
}

.ttlF .en {
  display: block;
  font-size: 2rem;
}

.ttlF .jp {
  position: relative;
  text-align: center;
}

.pageTtl {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 0 0 80px;
  z-index: 10;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pageTtl .en {
  display: inline-block;
  font-size: 8rem;
  line-height: 1;
  letter-spacing: 0.2em;
}

.pageTtl .jp {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: bold;
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 80px 0 0 55px;
  margin: 0;
}

.pageTtl .jp:before {
  content: "";
  position: absolute;
  height: 90px;
  width: 1px;
  top: 40px;
  left: 25px;
  background: #000000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* .onebBox */
.oneBox {
  padding: 35px;
  width: 100%;
  background-color: #ffffff;
}

.oneBox + .oneBox {
  margin-top: 50px;
}

.oneBox .contentText {
  margin-top: 25px;
  padding: 25px;
  background-color: #eeeeee;
}

.mw1000 {
  width: 100%;
  max-width: 1000px;
  height: auto;
}

.mw1000 .oneBox {
  padding: 60px 0 100px;
  text-align: center;
}

dl .dlA {
  font-size: 1.6rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.dlA dt {
  font-weight: bold;
  font-size: 1.6rem;
  color: #fff;
  background-color: #097c70;
  width: 25%;
  padding: 8px 0;
  margin-top: 5px;
  text-align: center;
}

.dlA dd {
  width: 75%;
  padding: 0 15px;
  margin-top: 5px;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
}

.dlA dt:first-child,
.dlA dt:first-child + dd {
  margin-top: 0;
}

.dlB {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 800px;
}

.dlB.title + .dlB {
  margin-top: 0;
}

.w600 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 800px;
}

.privacyWrap .dlB {
  margin-top: 20px;
}

.dlB dt {
  background: rgba(28, 28, 28, 0.2);
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
}

.dlB dd {
  border-bottom: 1px solid rgba(28, 28, 28, 0.9);
  padding: 10px 0;
  width: 100%;
  display: block;
}

.dlB dd p {
  margin-bottom: 1.5em;
}

.dlB dd p:last-child {
  margin-bottom: 0;
}

.dlB dd .itemName {
  text-align: left;
}

.dlB dd .price {
  text-align: right;
}

.dlB dd small {
  display: block;
}

.dlB li {
  margin-bottom: 15px;
  padding-left: 2em;
  text-indent: -2em;
}

.dlB li li {
  margin: 15px 0 15px 1.5em;
}

.dlB .number {
  font-style: normal;
  font-weight: bold;
  width: 2em;
  white-space: nowrap;
  display: inline-block;
  text-indent: 0;
  vertical-align: top;
}

.dlB .content {
  width: 100%;
  display: inline-block;
  text-indent: 0;
  vertical-align: top;
}

.dlB .one {
  margin-bottom: 15px;
  display: block;
}

.privacy .dlB dd {
  border-bottom: none;
}

.message .tiltBox .inner {
  padding-bottom: 100px;
}

.message .imgBox {
  position: relative;
  top: -150px;
}

.message .imgBox .img:first-child {
  width: 60%;
}

.message .imgBox .img:last-child {
  position: absolute;
  width: 60%;
  right: 0;
  margin-top: -50px;
}

.ttl {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 2rem;
}

.small {
  font-size: 1.2rem;
}

.gallery #sb_instagram #sbi_images {
  text-align: center;
}

.gallery #sb_instagram #sbi_images .sbi_item {
  float: none;
}

.gallery #sb_instagram #sbi_load {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo,
    sans-serif;
  word-break: break-all;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-top: 30px;
}

.gallery #sb_instagram #sbi_load .sbi_follow_btn {
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
  text-align: center;
}

.gallery #sb_instagram #sbi_load .sbi_follow_btn a {
  width: 100%;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 25px 0 26px;
  transition: border 0.2s linear, background 0.2s linear;
  text-decoration: none;
  border: 1px solid #6bb9e8;
  border-radius: 50px;
  color: #6bb9e8;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  transition: border 0.2s linear, background 0.2s linear;
  background-color: transparent;
  text-align: center;
  box-shadow: none;
}

.gallery #sb_instagram #sbi_load .sbi_follow_btn a:hover {
  color: #fff;
  background: #6bb9e8;
  box-shadow: none;
}

@media screen and (max-width: 770px) {
  .gallery #sb_instagram #sbi_load {
    margin-top: 10px;
  }
  .gallery #sb_instagram #sbi_load .sbi_follow_btn {
    width: 80%;
    max-width: 350px;
  }
  .gallery #sb_instagram #sbi_load .sbi_follow_btn a {
    font-size: 1.5rem;
    line-height: 1;
    padding: 21px 0 22px;
  }
}

.bloglist.blog .tiltBox .inner {
  padding-top: 50px;
}

.blogList {
  margin: 0 auto 50px;
  border-top: 1px solid rgba(28, 28, 28, 0.9);
}

.blogList li {
  border-bottom: 1px solid rgba(28, 28, 28, 0.9);
}

.blogList li a {
  position: relative;
  display: block;
  padding: 15px 15px 15px 0;
}

.blogList li a:after {
  content: "";
  position: absolute;
  width: 18px;
  height: 21px;
  right: 25px;
  top: 50%;
  margin: -10px 0 0;
  z-index: 5;
  background: url(../img/arrow_01.png) no-repeat 0 0;
  background-size: cover;
}

.blogList .imgWrap {
  width: 20%;
}

.blogList figcaption {
  padding-left: 30px;
  width: 80%;
}

.blogList .date {
  width: 100%;
  color: #87cefa;
  font-size: 1.5rem;
}

.blogList .title {
  font-size: 1.6rem;
  font-weight: bold;
}

.blogList .txtWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.snsWrap {
  padding: 30px;
  background: #f2f2f2;
  margin-top: 40px;
  text-align: center;
}

.snsWrap .ttlF .en {
  font-size: 4rem;
}

.snsWrap .ttlF {
  margin-bottom: 1em;
}

footer #topBtn {
  position: fixed;
  bottom: 2vh;
  right: 10px;
  display: none;
  z-index: 99;
}

footer #topBtn a {
  display: block;
  width: 40px;
  height: 40px;
  color: #fff;
  line-height: 40px;
  font-size: 2rem;
  background: #87cefa;
  border: 1px solid rgba(255, 255, 255, 0.8);
  text-align: center;
}

#footer {
  border-top: 1px solid rgba(28, 28, 28, 0.9);
  padding: 50px 0 0;
}

.home #footer {
  margin-top: 100px;
}

.footLogo {
  text-align: center;
  margin-bottom: 20px;
}

.footBtnWrap {
  margin-top: 50px;
  border-top: 1px solid rgba(28, 28, 28, 0.9);
  padding: 50px 0 0;
}

.subTtlD + p {
  text-align: center;
  font-size: 1.4rem;
}

.footBtn {
  width: 100%;
  max-width: 1000px;
  background-color: #eeeeee;
  margin: 30px auto 0;
  padding: 20px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.footBtn:first-child {
  margin-top: 0;
}

.footBtnWrap li {
  width: calc(50% - 10px);
  font-size: 1.4rem;
}

.footBtnWrap li:first-child {
  margin-right: auto;
}

.footBtnWrap li:last-child {
  margin-left: auto;
}

.footBtnWrap li h3 {
  color: #ffffff;
  background-color: #87cefa;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 1px;
}

.footBtnWrap li .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  margin: 20px auto 0;
}

.footBtnWrap li .wrap a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 70px;
  padding: 0;
  cursor: pointer;
}

.footBtnWrap .bgCircle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #87cefa;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  color: #fff;
  font-size: 1.6rem;
}

.tel .en {
  font-size: 3rem;
  display: block;
  line-height: 1;
  color: #333333;
  margin-left: 20px;
}

.infoWrap {
  margin: 50px auto 0;
  border-top: 1px solid rgba(28, 28, 28, 0.9);
  padding: 30px 0 0;
}

.footNav {
  font-size: 0;
  text-align: center;
  margin: 20px 0 0;
}

.footNav li {
  display: inline-block;
  margin-right: 15px;
  font-size: 1.4rem;
}

.footNav li .en {
  display: none;
}

img {
  object-fit: cover;
  object-position: center top;
  font-family: "object-fit: cover; object-position: center top;";
}

@media screen and (min-width: 769px) {
  .links:hover {
    text-decoration: none;
  }

  a:hover img {
    opacity: 0.7;
  }

  .bread a:hover {
    text-decoration: underline;
  }

  .formWrap .formBtn:hover {
    color: #fff;
    border: 1px solid #87cefa;
    background-color: #87cefa;
  }

  .formWrap .formBtn:hover {
    color: #fff;
    border: 1px solid #87cefa;
    background-color: #87cefa;
  }

  .headingWrap .category a:hover {
    text-decoration: none;
  }

  .categoryDl li a:hover {
    background: #e0f0fa;
  }

  .subWrap .latest a:hover {
    background: #e0f0fa;
  }

  .blogList li a:hover {
    background: #e3e3e3;
  }

  .blogList li a:hover img {
    opacity: 1;
  }

  .blogArticleList li .category a:hover {
    text-decoration: underline;
  }

  .blogArticleList .blogTtl a:hover {
    text-decoration: underline;
  }

  .pagination-box a:hover {
    background: #87cefa;
    color: #fff;
  }

  .pagination-box span.link:hover {
    background: #87cefa;
    color: #fff;
  }

  .pagination-box span.link:hover a {
    color: #fff;
  }

  .contact a:hover {
    background: #87cefa;
    color: #fff;
  }

  .humNavi li a:hover .en,
  .humNavi li a:hover {
    opacity: 0.7;
  }

  .footNav li a:hover {
    text-decoration: underline;
  }

  .footNav li:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 1350px) {
  .top .kv h2 {
    font-size: 7vw;
    line-height: 1.2em;
    width: 95%;
  }

  .wrapper .message ul {
    display: flex;
    justify-content: space-around;
    margin: 0 auto 90px;
    padding: 40px 20px;
  }

  .wrapper .message.facility_box ul {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    padding: 40px 20px;
  }

  .wrapper .message .inner {
    display: flex;
    justify-content: space-around;
    margin: 0 auto 90px;
    padding: 40px 20px;
  }

  .wrapper .message.facility_box .inner {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* GUIDANCEページ用(.message) */
  .guidance .wrapper .message .inner {
    display: block;
  }

  .wrapper .message .inner h2,
  .wrapper .recommend .title h2,
  .wrapper .contents .title h2,
  .wrapper .blog .title h2,
  .wrapper .gallery .title h2 {
    font-size: 4vw;
    position: static;
  }

  .wrapper .message .inner h2 span,
  .wrapper .recommend .title h2 span,
  .wrapper .contents .title h2 span,
  .wrapper .blog .title h2 span,
  .wrapper .gallery .title h2 span {
    font-size: 1.6vw;
  }

  .wrapper .message .inner .title {
    padding: 39px 5% 0;
    font-size: 2.4rem;
    margin-bottom: -13px;
  }

  .wrapper .message .inner .text {
    width: 55%;
  }

  .wrapper .message.facility_box ul li {
    margin-bottom: 50px;
    padding-right: 0;
    padding: 0;
    width: 32%;
    margin-right: 2%;
  }

  .wrapper .message .inner img,
  .wrapper .message ul li img {
    min-height: auto;
  }

  .wrapper .message .inner img {
    min-height: auto;
  }

  .wrapper .recommend .border_top,
  .wrapper .recommend .title,
  .wrapper .recommend .border_bottom,
  .wrapper .recommend .recommend_wrap {
    width: 80%;
  }

  .wrapper .recommend .recommend_wrap li {
    margin-bottom: 19%;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .bkg {
    width: 50%;
    max-width: 70%;
    height: auto;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .bkg img {
    max-width: 100%;
    height: auto;
    margin: 0;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .text,
  .wrapper .contents .contents_wrap .contents_box .box .text,
  .wrapper .contents .contents_wrap .contents_box .box .arrow {
    font-weight: normal;
  }

  .wrapper .contents .contents_wrap {
    margin: 50px auto;
    padding-bottom: 50px;
  }

  /*
	.wrapper .contents .contents_wrap  > ol li {
		margin-bottom: 70px;
	}
	*/

  .home .wrapper .contents .contents_wrap li {
    margin-bottom: 9%;
  }

  /* **********************************************************
	 セクションコンテンツ（テキスト）
	********************************************************** */
  .wrapper .contents .contents_wrap .contents_box .point {
    font-size: 1.8rem;
  }

  .wrapper .contents .contents_wrap .contents_box .contents_title {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
  }

  .wrapper .contents .contents_wrap .contents_box .text {
    padding-bottom: 5%;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .reco_title {
    font-size: 2.5vw;
  }

  .link p {
    width: 54%;
  }

  .link p a {
    font-size: 1.5vw;
  }

  .single .link p {
    width: auto;
  }

  .single .link p a {
    font-size: 1.6rem;
  }

  .wrapper .contents .contents_wrap .contents_box .content_img img {
    font-family: "object-fit: cover;";
    display: block;
    width: 100%;
    object-fit: cover;
  }

  .wrapper .message .inner .emphasis_middle {
    font-size: 4rem;
    line-height: 0.8em;
    position: absolute;
    margin: auto;
    vertical-align: middle;
    color: #46b5d1;
  }

  .wrapper .message .inner .emphasis_middle span {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1100px) {
  .top .kv h1 {
    font-size: 9vw; /* 11rem */
  }

  .top .kv h1 strong {
    font-size: 10vw; /* 12rem */
  }

  .top .kv .noto {
    font-size: 4vw; /* 4rem */
  }

  .blogArticleList li .imgWrap {
    width: 30%;
  }

  .blogArticleList li .ttlWrap {
    width: 68%;
  }
}

@media screen and (max-width: 1000px) {
  body {
    min-width: 100%;
  }

  .wrapper .contents .contents_wrap .contents_box:last-child {
    display: block;
  }

  .wrapper .contents .contents_wrap .contents_box .content_img {
    display: block;
    width: 100%;
  }

  .wrapper .contents .contents_wrap .contents_box .content_img .w50p {
    width: 100%;
  }

  .wrapper .contents .contents_wrap .contents_box .content_img img {
    height: auto;
  }

  .wrapper .contents .contents_wrap table {
    width: 100%;
    margin: 40px auto 20px;
    border-collapse: collapse;
  }

  .wrapper .contents .contents_wrap .annotation {
    width: 100%;
    padding: 0 3% 10px;
  }

  /* **********************************************************
	 セクションコンテンツ（画像）
	********************************************************** */
  .wrapper .contents .contents_wrap .contents_box .content_img {
    margin-bottom: 82px;
  }

  /* **********************************************************
	 セクションコンテンツ（テキスト）
	********************************************************** */
  .wrapper .contents .contents_wrap .contents_box .box {
    width: 100%;
    padding-top: 24px;
  }

  /* IE11ハック */
  .wrapper .contents .contents_wrap .contents_box.ieStyle .box {
    margin-top: 90px;
  }

  .wrapper .contents .contents_wrap .contents_box .point {
    font-size: 2rem;
    margin-top: -79px;
    margin-bottom: 0;
  }

  .wrapper .contents .contents_wrap .contents_box .box .contents_title {
    margin-top: 13px;
    margin-bottom: 16px;
    padding-bottom: 0;
  }

  .wrapper .contents .contents_wrap .contents_box .text {
    font-weight: bold;
  }

  /* 矢印テキストリンク */
  .wrapper .contents .contents_wrap .contents_box .arrow {
    font-size: 1.6rem;
  }

  .wrapper .blog .title {
    width: 80%;
  }

  .wrapper .blog .topBlogList li .text .date {
    font-size: 2vw;
  }

  .wrapper .blog .topBlogList li .text .blog_title {
    font-size: 1.8vw;
    padding-right: 25px;
  }

  /* 1000pxの幅になった時、一列にする */
  .wrapper .contents .contents_wrap .contents_box {
    display: block;
  }

  /* LESSON */
  .lesson .wrapper .contents .contents_wrap .contents_box .dpf {
    display: block;
  }

  /* VOICE */
  .voice .wrapper .contents .contents_wrap {
    width: 80%;
  }

  /* FAQ */
  .faq .wrapper .contents .contents_wrap {
    width: 80%;
  }
}

@media screen and (min-width: 770px) {
  .entryBtn a:hover {
    color: #2796da;
    background: #fff;
  }
  .entryBtn a:hover .en {
    border-right: 1px solid #2796da;
  }
  .hum a:hover {
    background: #fff;
  }
  .hum a:hover .hamburger-inner,
  .hum a:hover .hamburger-inner:after,
  .hum a:hover .hamburger-inner:before {
    position: absolute;
    width: 35px;
    height: 2px;
    background-color: #87cefa;
  }
}

@media screen and (max-width: 770px) {
  /* パンくずリスト */
  .bread p {
    padding: 11px 5%;
  }

  .emphasis_subtitle {
    margin-top: 0.4em;
  }

  .categoryDl li {
    display: block;
  }

  body {
    font-size: 1.3rem;
    min-width: 320px;
    padding-top: 60px;
  }

  /* header */
  .siteHeader {
    height: 60px;
    border: none;
  }

  .siteHeaderInner {
    padding: 0;
  }

  .siteHeaderInner .logoWrap {
    width: 100%;
    height: 60px;
    padding: 0 5%;
  }

  .siteHeaderInner .logo {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
  }

  .siteHeaderInner .logo a {
    margin: 0;
    max-width: 150px;
    width: 100%;
    padding: 0;
    -webkit-box-pack: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
  }

  .siteHeaderInner .logo img {
  }

  .siteHeaderInner .headline {
    display: none;
  }

  .hum a {
    width: 60px;
    height: 60px;
  }

  .hum .hamburger-inner {
    height: 1px;
  }

  .hum .hamburger-inner:before {
    top: -10px;
    height: 1px;
  }

  .hum .hamburger-inner:after {
    bottom: -10px;
    height: 1px;
  }

  .humNavi .none {
    display: block;
  }

  .closeBT {
    z-index: 99;
    width: 60px;
    height: 60px;
  }

  .humNavi {
    z-index: 2;
    padding-top: 25px;
  }

  .humNavi .en {
    font-size: 2.2rem;
    line-height: 1.4;
  }

  .humNavi li {
    margin-bottom: 15px;
  }

  .entryBtn {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
  }

  .entryBtn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 90px;
    transition: background 0.2s linear;
    text-align: center;
    color: #fff;
    background: #2796da;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 5%;
  }

  .entryBtn .bgCircle {
    margin-left: 0;
  }

  .entryBtn .en {
    padding: 2px 10px 3px;
    font-size: 2rem;
    white-space: nowrap;
    margin-left: 0;
    margin-right: 0;
  }

  .entryBtn .txt {
    font-size: 1.2rem;
    line-height: 1;
    padding: 0 0px 0 15px;
    white-space: nowrap;
  }

  .inner {
    width: 100%;
    max-width: none;
    padding-right: 5vw;
    padding-left: 5vw;
  }

  .tiltBox .inner {
    padding-top: 50px;
    padding-right: 5vw;
    padding-bottom: 50px;
    padding-left: 5vw;
  }

  .bgColor.inner {
    padding-right: 0;
    padding-bottom: 50px;
    padding-left: 0;
    background-color: transparent;
  }

  .subTtlC {
    top: -20px;
  }

  .subTtlC .en {
    font-size: 3rem;
  }

  .subTtlC .jp {
    font-size: 1.5rem;
    margin: 5px 0 0;
  }

  .ba {
    margin-bottom: 15px;
  }

  .wrapper .blog .blogInner {
    padding: 0;
  }

  .wrapper .blog .blogInner .subTtlC {
    top: -10px;
  }

  .categoryDl {
    margin-bottom: 25px;
    padding-top: 30px;
    padding-right: 10%;
    padding-bottom: 10px;
    padding-left: 10%;
  }

  .blogArticleList .blogTtl {
    font-size: 1.2rem;
  }

  .blogArticleList li .category a {
    font-size: 1.2rem;
    line-height: 1.2;
    display: block;
  }

  .blogArticleList li .ttlWrap {
    padding-left: 10px;
  }

  .blogArticleList li .ttlWrap time {
    font-size: 1.2rem;
  }

  .blogArticleList time:after {
    content: "";
  }

  .blogArticleList li .imgWrap {
    width: 25%;
  }

  .blogArticleList li .ttlWrap {
    width: 73%;
  }

  .singleTtl {
    font-size: 1.8rem;
  }

  /*****form*******/
  .formWrapOuter {
    padding: 0;
  }

  .modPCenter {
    text-align: left;
  }

  .formWrap {
    width: 100%;
    margin: 20px auto 30px;
    padding: 5vw 0 0;
  }

  .formWrap dl {
    width: 100%;
  }

  .formWrap dd {
    margin: 10px 0 15px 0;
  }

  .consent + p {
    max-width: inherit;
    margin: 0 auto;
  }

  .formWrap .formBtn {
    font-size: 1.4rem;
    height: 60px;
    max-width: 100%;
  }

  .formWrap .privacy dt {
    font-size: 1.4rem;
    padding: 10px;
  }

  .mw_wp_form_input .formMessage01 .modPCenter,
  .mw_wp_form_confirm .formMessage02 .modPCenter {
    padding: 0;
    text-align: left;
  }

  .snsWrap {
    margin-top: 20px;
    padding: 15px;
  }

  /*margin*/
  .mb10 {
    margin-bottom: 5px;
  }

  .mb15 {
    margin-bottom: 7px;
  }

  .mb20 {
    margin-bottom: 10px;
  }

  .mb30 {
    margin-bottom: 15px;
  }

  .mb40 {
    margin-bottom: 20px;
  }

  .mb50 {
    margin-bottom: 25px;
  }

  .mb70 {
    margin-bottom: 35px;
  }

  .mb80 {
    margin-bottom: 40px;
  }

  .mb90 {
    margin-bottom: 45px;
  }

  .mb100 {
    margin-bottom: 50px;
  }

  .mb120 {
    margin-bottom: 60px;
  }

  .mb150 {
    margin-bottom: 75px;
  }

  .home #cnt {
    width: 100%;
    margin-top: -250px;
  }

  #cnt .bkg_change:first-child .top {
    height: auto;
    padding: 82px 5% 0 5%;
  }

  .top .kv h2 {
    font-size: 2.5rem;
    line-height: 1.3;
    margin-bottom: 0;
    letter-spacing: 0;
    color: #46b5d1;
    white-space: nowrap;
  }

  .top .kv .noto {
    letter-spacing: 0.01em;
    font-size: 1.5rem;
    margin-top: 5px;
  }

  .top .campaign .exBox {
    max-width: inherit;
  }

  .top .campaign .exBox a {
    display: block;
  }

  .top .campaign .exBox .imgBox {
    width: 20%;
  }

  .top .campaign .emphasis_little {
    font-size: 1.5rem;
    margin-bottom: 5px;
  }

  .top .campaign .emphasis_little span {
    font-size: 1.3rem;
    font-weight: bold;
    padding-left: 10px;
    color: #6bb9e8;
  }

  .top .campaign .exBox .imgBox {
    padding: 10px 0 10px 10px;
    margin: 0;
  }

  .top .campaign .exBox img {
    max-width: 80px;
    width: auto;
  }

  .top .campaign .exBox .txt {
    padding: 10px 10px 11px 10px;
  }

  .top .campaign .exBox .txt h4 {
    font-size: 1.5rem;
    margin-top: -87px;
    margin-bottom: 29px;
    margin-left: 90px;
    letter-spacing: 0.03em;
    height: 50px;
  }

  .top .campaign .exBox .txt p {
    font-size: 1.4rem;
    color: #040f16;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  #cnt .bkg_change:first-child .wrapper {
    margin-top: 81px;
  }

  .wrapper .message:before {
    bottom: -5%;
  }

  .wrapper .message .inner {
    display: block;
    margin: 0 auto;
    padding: 0 0 48px;
  }

  .wrapper .message .inner .text {
    width: 100%;
    margin: auto;
    height: auto;
  }

  .home .wrapper .message .inner .text {
    width: 90%;
    margin: 0 auto;
  }

  .wrapper .message .inner img {
    font-family: "object-fit: cover;";
    width: 100%;
    min-height: auto;
    object-fit: cover;
  }

  .wrapper .message .inner .title {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
  }

  .home .wrapper .message .inner .title {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .wrapper .message .inner li:first-child {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
  }

  .wrapper .message .inner li .emphasis_middle {
    font-size: 3rem;
    line-height: 1em;
    position: static;
    top: 0;
    bottom: 0;
    height: auto;
    margin-bottom: 20px;
    padding-top: 20px;
    padding-left: 20px;
    vertical-align: middle;
    color: #46b5d1;
  }

  .wrapper .message .inner li:last-child {
    width: 100%;
    margin: 0 auto;
  }

  .wrapper .message .inner p {
    font-size: 1.4rem;
    width: 90%;
    padding: 15px;
    margin: -7% auto 0;
    line-height: 1.6;
  }

  .wrapper .message .inner .emphasis_middle {
    font-size: 2.4rem;
  }

  .wrapper .message .inner .emphasis_middle span {
    font-size: 1.4rem;
  }

  .home .wrapper .message .inner .emphasis_middle {
    position: static;
    padding: 38px 0 0;
  }

  .wrapper .recommend .border_top {
    display: flex;
    width: 90%;
    margin: 0 auto;
  }

  .wrapper .recommend .border_top > div:nth-child(1) {
    width: 40%;
    padding-top: 5px;
    border-top: 2px solid #6bb9e8;
  }

  .wrapper .recommend .border_top > div:nth-child(2) {
    width: 20%;
    border-top: none;
  }

  .wrapper .recommend .border_top > div:nth-child(3) {
    width: 40%;
    padding-top: 5px;
    border-top: 2px solid #6bb9e8;
  }

  .wrapper .contents .title,
  .wrapper .blog .title,
  .wrapper .gallery .title {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }

  .wrapper .recommend .title {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 11% 0 3%;
  }

  .home .wrapper .blog .title .emphasis_major {
    padding: 0;
    margin: 0;
    font-size: 2.4rem;
    text-align: center;
  }
  .home .wrapper .gallery .title .emphasis_major {
    padding-top: 32px;
    text-align: center;
  }

  .home .wrapper .blog {
    padding: 32px 0 40px;
  }

  .home .wrapper .blog .dpf {
    display: block;
  }

  .home .wrapper .blog .title .emphasis_major span {
    font-size: 1.4rem;
    padding-bottom: 25px;
  }

  .home .wrapper .gallery .title .emphasis_major span {
    font-size: 1.4rem;
    padding-bottom: 0;
  }

  .home .wrapper .recommend .title .emphasis_major {
    margin-top: 0;
    text-align: center;
    font-size: 2.4rem;
  }

  .home .wrapper .recommend .title .emphasis_major span {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 0.1em;
  }

  #sb_instagram {
    padding-bottom: 0 !important;
  }

  .wrapper .recommend .title:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    margin: auto;
    content: "";
    height: 100%;
    background-image: url(../img/index/bg_top_ttl_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  .wrapper .recommend .title:after {
    position: absolute;
    bottom: -100%;
    right: 0;
    left: 0;
    width: 100%;
    margin: auto;
    height: 100%;
    content: "";
    background-image: url(../img/index/bg_bottom_ttl_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  .wrapper .recommend .border_bottom {
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding-bottom: 5px;
    border-bottom: 2px solid #6bb9e8;
  }

  .wrapper .recommend .recommend_wrap {
    width: 90%;
    margin: 14% auto 0;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .point {
    font-size: 1.5rem;
    top: -16px;
    right: 0;
    left: 0;
    width: 120px;
    padding: 4px;
    font-weight: 100;
  }

  .wrapper .recommend .link {
    padding: 50px 0;
    width: 100%;
  }

  .wrapper .contents .title .emphasis_major,
  .wrapper .blog .title .emphasis_major,
  .wrapper .gallery .title .emphasis_major {
    font-size: 2.4rem;
    line-height: 1;
    width: 100%;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    text-align: left;
    color: #46b5d1;
  }

  .wrapper .recommend .title .emphasis_major {
    font-size: 3rem;
    line-height: 1em;
    width: 100%;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    color: #46b5d1;
  }

  .home .wrapper .contents .title .emphasis_major {
    text-align: center;
  }

  .wrapper .contents .title .emphasis_major span {
    font-size: 1.4rem;
    font-weight: bold;
    display: block;
    color: #6bb9e8;
    margin: 6px 0 31px;
    line-height: 1;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .reco_title {
    font-size: 1.8rem;
    padding: 0 5%;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .text {
    font-size: 1.4rem;
    position: static;
    right: 0;
    left: 0;
    top: 74%;
    z-index: 10;
    width: 90%;
    margin: 0 auto;
    padding: 8px 10px 12px 10px;
    width: 88%;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .text p {
    font-size: 1.4rem;
  }

  .wrapper .contents .contents_wrap .contents_box .box .arrow {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .wrapper .contents .contents_wrap .contents_box .box .arrow a {
    display: block;
    border: 1px solid #6bb9e8;
    padding: 16px 10px 17px;
    border-radius: 50px;
    font-size: 1.5rem;
  }

  .wrapper .contents .contents_wrap .contents_box .box .arrow a:before {
    display: none;
  }

  .wrapper .contents .contents_wrap {
    width: 90%;
    padding: 0;
    margin: 0 auto;
  }

  .about .wrapper .contents .contents_wrap,
  .guidance .wrapper .contents .contents_wrap {
    padding: 0;
  }

  .wrapper .contents .contents_wrap .contents_box:last-child {
    display: block;
  }

  .wrapper .contents .contents_wrap .contents_box .box {
    display: block;
    width: 100%;
    max-height: none;
    margin-bottom: auto;
    padding: 20px;
  }

  .pages .wrapper .contents .contents_wrap .contents_box .box {
    width: 100%;
  }

  .wrapper .contents .contents_wrap .contents_box .content_img {
    display: block;
    width: 100%;
    margin-bottom: 0;
  }

  .wrapper .contents .contents_wrap .contents_box .point {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }

  .wrapper .contents .contents_wrap .contents_box .box .contents_title {
    font-size: 1.5rem;
    font-weight: bold;
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 16px;
    padding-bottom: 0;
    position: relative;
    z-index: 2;
    white-space: normal;
  }

  .wrapper .contents .contents_wrap .contents_box .arrow {
    padding-bottom: 0;
  }

  /* IE11ハック */
  .wrapper .contents .contents_wrap .contents_box.ieStyle .box {
    margin-top: 52px;
  }

  .wrapper .contents .contents_wrap .contents_box.ieStyle .point {
    margin-bottom: 20px;
  }

  .wrapper .contents .contents_wrap .contents_box.ieStyle .box .contents_title {
    display: block;
    margin-bottom: 7px;
  }

  /* HOME */
  .home .wrapper .contents .contents_wrap .contents_box .box .text {
    width: 100%;
  }

  .home .wrapper .contents .contents_wrap li {
    margin-bottom: 30px;
  }

  /* ABOUT */
  .about .wrapper .contents .contents_wrap li {
    margin-bottom: 30px;
  }
  .about .wrapper .contents .contents_wrap li:last-child {
    margin-bottom: 0;
  }

  /* GUIDANCE */
  .guidance .wrapper .contents .contents_wrap li {
    margin-bottom: 30px;
  }
  .guidance .wrapper .contents .contents_wrap li:last-child {
    margin-bottom: 0;
  }

  /* LESSON */
  .lesson .wrapper .contents {
    margin-top: 0;
    padding-top: 39px;
  }
  .lesson .wrapper .contents .title .emphasis_major span {
    margin: 0.4em 0 19px;
  }

  /* VOICE */
  .voice .wrapper .contents {
    padding: 0 0 30px;
  }

  .voice .wrapper .contents .contents_wrap {
    width: 90%;
    padding: 0;
  }

  .voice .wrapper .contents .contents_wrap .contents_box .box {
    margin-top: 39px;
    padding: 20px 20px 24px;
  }

  .voice .wrapper .contents .contents_wrap .contents_box .contents_title {
    font-size: 1.5rem;
    margin-top: 0;
    white-space: normal;
  }

  /* **********************************************************
	 セクションコンテンツ（テキスト）
	********************************************************** */
  @media all and (-ms-high-contrast: none) {
    .voice .wrapper .contents .contents_wrap .contents_box .text {
      padding-top: 0;
    }
  }

  /* FAQ */
  .faq .wrapper .contents {
    padding: 0 0 30px;
  }

  .faq .wrapper .contents .contents_wrap .contents_box {
    margin-bottom: 30px;
  }

  .faq .wrapper .contents .contents_wrap .contents_box .box {
    margin-top: 39px;
    padding: 16px 16px 24px;
  }

  .faq .wrapper .contents .contents_wrap {
    width: 90%;
    padding: 0;
  }

  .faq .wrapper .contents .contents_wrap ul {
    margin-top: 39px;
  }

  .faq .wrapper .contents .contents_wrap .contents_box .contents_title {
    font-size: 1.5rem;
  }

  /* BLOG */
  .wrapper .blog ul {
    width: 90%;
    margin: 0 auto 30px;
  }

  .blog
    .wrapper
    .blog
    .blogInner
    .blogListWrap
    .blogArticleList
    li
    a
    .articleContents
    .dpf {
    display: block;
  }

  .wrapper .blog .topBlogList li a {
    display: block;
    text-decoration: none;
    color: #000;
  }

  .wrapper .blog .topBlogList li .imgBox {
    width: 100%;
  }

  .wrapper .blog .topBlogList li img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 51%;
    margin: 0 auto;
  }

  .wrapper .blog .topBlogList li .text .blog_title {
    font-size: 1.6rem;
  }

  .wrapper .blog .topBlogList li .text {
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 10px;
    padding: 0;
  }

  .wrapper .blog .topBlogList li .text .date {
    font-size: 1.3rem;
    color: #1e93b1;
  }

  .wrapper .blog .topBlogList li .text .blog_title {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 5px 0 0;
  }

  .wrapper .blog .topBlogList li .text:after {
    display: none;
  }

  .wrapper .blog .link {
    width: 100%;
    margin: 0 auto;
  }

  .wrapper .blog .single .link {
    width: 100%;
    margin: 30px auto 0;
  }

  .blog .subWrap,
  .single-post .subWrap,
  .category .subWrap {
    width: 100%;
    margin-top: 0;
  }

  .blog .wrapper .blog .blogInner .subWrap {
    width: 90%;
    margin: 60px auto 0;
  }
  .blog .wrapper .blog .blogInner .subWrap ul {
    width: 100%;
    margin: 0;
  }

  .blog .wrapper .blog .blogInner .subWrap .latest {
    margin-bottom: 30px;
  }

  .blog .wrapper .blog {
    padding: 39px 0 0;
  }

  .blog .wrapper .blog.singleArea {
    padding-bottom: 0;
  }

  .blog .wrapper .blog .blogInner .blogListWrap,
  .blog .wrapper .blog .blogInner .singleArticle {
    width: 90%;
    margin: 0 auto;
  }

  .blog .wrapper .blog .blogInner .blogListWrap .blogArticleList {
    max-width: inherit;
    width: 100%;
    margin: 0;
  }

  .wrapper .contents .contents_wrap .contents_box {
    display: block;
    /*margin-bottom: 80px;*/
  }

  .wrapper .contents .contents_wrap .contents_box > div {
    display: block;
  }

  .wrapper .contents .contents_wrap .annotation {
    width: 100%;
    margin: 0 auto;
  }

  .wrapper .contents .contents_wrap .contents_box .box .membar {
    font-size: 1.4rem;
    margin-top: 10px;
    margin-bottom: -40px;
    margin-left: auto;
    padding: 3px 0;
    text-align: center;
    color: #fff;
    background: #6bb9e8;
  }

  .wrapper .contents .contents_wrap table {
    width: 100%;
    margin: 40px auto 20px;
    border-collapse: collapse;
  }

  .wrapper .contents .contents_wrap table tr {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .wrapper .contents .contents_wrap table tr th {
    display: block;
    width: 100%;
    height: auto;
  }
  .wrapper .contents .contents_wrap table tr td {
    display: block;
    width: 100%;
  }
  .wrapper .contents .contents_wrap table tr td:first-child {
    padding-left: 2%;
  }

  .wrapper .contents .contents_wrap table tr td:last-child {
    padding-top: 0;
    padding-right: 2%;
  }

  /* ACCESS */
  .access .wrapper .contents {
    padding: 39px 0 0;
  }

  .access .wrapper .contents .contents_wrap {
    width: 90%;
    padding: 0;
  }

  .access .wrapper .contents .title .emphasis_major {
    margin: 0;
  }

  .access .wrapper .contents .title .emphasis_major span {
    font-size: 1.4rem;
    font-weight: bold;
    display: block;
    margin: 6px 0 19px;
    line-height: 1;
  }

  .access .wrapper .contents .contents_wrap .contents_box .accessTtl {
    font-size: 1.4rem;
    line-height: 40px;
    text-align: left;
    padding: 0 10px;
  }

  .access .wrapper .contents .contents_wrap .contents_box ul {
    width: 100%;
    margin: 10px auto 0;
  }

  .access .wrapper .contents .contents_wrap .contents_box ul li {
    display: block;
    border: none;
    padding: 0;
  }

  .access .wrapper .contents .contents_wrap .contents_box ul li:last-child {
    border: none;
  }

  .access .wrapper .contents .contents_wrap .contents_box ul li .info_title {
    display: block;
    width: 100%;
    line-height: 30px;
    text-align: left;
  }

  .access .wrapper .contents .contents_wrap .contents_box ul li .info_text {
    display: block;
    padding: 10px 10px 20px;
    width: 100%;
  }

  .access .wrapper .contents .contents_wrap .contents_box .gmap {
    width: 100%;
    margin: 0 auto 30px;
  }

  .access .wrapper .contents .contents_wrap .contents_box .gmap iframe {
    width: 100%;
    height: 200px;
  }

  .wrapper .blog {
    width: 100%;
    margin: 0 auto 30px;
    padding: 0;
    padding-bottom: 50px;
  }

  .wrapper .gallery {
    width: 100%;
    margin: 0 auto 45px;
    padding: 0;
    padding-bottom: 41px;
  }

  .categoryDl {
    padding: 0;
  }

  .wrapper .blog .blogInner .subTtlC {
    top: 0;
  }

  .blogListWrap {
    width: 100%;
    margin-bottom: 50px;
  }

  .wrapper .contents {
    width: 100%;
    margin: 0 auto;
    padding-top: 50px;
    background-image: url(../img/index/back_star1.png);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: 300%;
  }

  .top > .inner {
    padding: 0;
  }

  .top .kv {
    margin-top: 230px;
    margin-bottom: 91px;
  }

  .wrapper .recommend {
    width: 100%;
    margin: 40px 0 31px;
    padding: 40px 0 0;
  }

  .wrapper .recommend .recommend_wrap .recommend_box {
    position: relative;
    padding-top: 13%;
    padding-bottom: 20px;
    border: 1px solid #6bb9e8;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .bkg {
    margin: 7% auto 20px;
    width: 100%;
    max-width: 87%;
    height: auto;
  }

  .wrapper .recommend .recommend_wrap .recommend_box .bkg img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

  .privacy {
    text-align: left;
  }

  .privacy,
  .mw_wp_form .consent {
    width: 100%;
  }

  .wrapper .message .inner.box_list {
    display: block;
    margin: 0 auto 90px;
    padding: 0;
  }

  .wrapper .message ul.box_list {
    display: block;
    margin: 0 auto;
    padding: 0;
  }

  .wrapper .message .inner.box_list li,
  .wrapper .message .inner.box_list li:first-child,
  .wrapper .message .inner.box_list li:last-child,
  .wrapper .message ul.box_list li,
  .wrapper .message ul.box_list li:first-child,
  .wrapper .message ul.box_list li:last-child {
    width: 100%;
  }

  footer .page_top {
  }

  footer .footer_nav {
    font-size: 1.6rem;
    color: #fff;
    background: #6bb9e8;
  }

  footer .footer_nav ul {
    display: none;
  }

  footer .footer_nav .copy {
    font-size: 1.2rem;
    padding: 17px 0 18px;
  }

  .foot_contact {
    margin-bottom: 0;
  }

  .wrapper .contents {
    padding: 41px 0 30px;
  }

  .wrapper section {
    position: relative;
    z-index: 0;
    width: 90%;
    margin: 50px auto 200px;
  }

  /* **********************************************************
	 セクションコンテンツ（テキスト）
	********************************************************** */
  .wrapper .contents .contents_wrap .contents_box .text {
    font-size: 1.4rem;
    font-weight: bold;
    display: inline-block;
    width: 100%;
    padding-bottom: 0;
  }

  /* トップページ用(.message) */
  .home .wrapper section.message {
    position: relative;
    z-index: 0;
    width: 100%;
    margin: 0 auto;
  }

  /* ABOUTページ用(.message) */
  .about .wrapper .message {
    margin: 0 auto 20px;
  }

  .about .wrapper .message .inner {
    max-width: inherit;
    padding: 0;
    width: 100%;
  }

  .about .message .inner .emphasis_middle {
    position: static;
    height: auto;
    padding: 39px 0 19px;
  }

  .about .wrapper .message.facility_box {
    margin: 50px auto 0;
  }

  /* GUIDANCEページ用(.message) */
  .guidance .wrapper .message {
    margin: 0 auto;
  }
  .guidance .wrapper .message ul li .emphasis_middle {
    font-size: 3rem;
    line-height: 1em;
    position: static;
    height: auto;
    margin-bottom: 20px;
    text-align: left;
    color: #46b5d1;
  }

  .wrapper section.mb100 {
    margin-bottom: 250px;
  }

  .link {
    width: 100%;
    margin: 0 auto;
  }

  .link p {
    /*width: 256px;*/
    width: 80%;
    margin: 0 auto;
    max-width: inherit;
  }

  .link p a {
    font-size: 1.5rem;
    line-height: 1;
    padding: 21px 0 22px;
  }

  /* 下層ページ */
  .head_back {
    position: relative;
    height: 230px;
    margin-top: -60px;
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover!important;
  }

  .head_back .head_back_wrap {
    position: absolute;
    top: 55px;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 280px;
    padding: 4px 0 0;
    height: 90px;
  }

  .head_back .head_back_wrap .title .emphasis_lowertitle {
    font-size: 3.2rem;
    margin: 11px 0;
  }

  .head_back .head_back_wrap .emphasis_lowerSubtitle {
    font-size: 1.4rem;
  }

  /* 404 */
  .head_back.notFound {
    background: url(../img/notfound/bg_notfound_sp.jpg) center top no-repeat;
    background-size: cover;
  }

  .bkg_about {
    width: 100%;
    height: 100%;
    padding-top: 33.25%;
    background: url(../img/about/bkg_about.png) 0 68% no-repeat;
    background-size: 100%;
  }

  .w50p {
    width: 100%;
  }

  .modaal-content {
    padding-left: 0%;
  }

  .subWrap .subTtlC .en {
    font-size: 2.4rem;
  }

  #sb_instagram.sbi.digit-b.sbi_disable_mobile.sbi_col_6.visible.sbi_small
    #sbi_images
    .sbi_item {
    width: 50%;
    min-height: 150px;
  }

  #sb_instagram.sbi.digit-b.sbi_disable_mobile.sbi_col_6.visible.sbi_small
    #sbi_images
    .sbi_item
    .sbi_photo_wrap
    .sbi_photo {
    height: 150px !important;
  }

  .wrapper .message.facility_box .inner ul li {
    margin: 0;
    padding: 0 17px;
    text-align: center;
  }

  .wrapper .message.facility_box .inner ul li .ext {
    font-size: 1.4rem;
    padding: 10px 0 0;
    text-align: center;
    margin: 0 0 20px;
  }

  /* ABOUT */
  .wrapper .contents .title .emphasis_major.about {
  }

  .wrapper .contents .title .emphasis_major.about span {
    margin: 0.4em 0 19px;
  }

  /* GUIDANCDE */
  .guidance .wrapper .message .inner {
    padding: 0;
  }

  .guidance .wrapper .message .inner .title {
    padding: 39px 0 0;
  }

  .guidance .wrapper .message .inner .emphasis_middle {
    font-size: 2.4rem;
    line-height: 1;
    width: 100%;
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    text-align: left;
    color: #46b5d1;
  }
  .guidance .wrapper .message .inner .emphasis_middle span {
    font-size: 1.4rem;
    font-weight: bold;
    display: block;
    color: #6bb9e8;
    margin: 6px 0 19px;
    line-height: 1;
  }

  .wrapper .contents.guidance {
    margin-top: 20px;
  }

  .wrapper .contents .title .emphasis_major.guidance span {
    margin: 0.4em 0 19px;
  }

  /* LESSON */
  .lesson .wrapper .contents .contents_wrap > ol li {
    margin-bottom: 30px;
  }
  .lesson .wrapper .contents.schedule .title .emphasis_major span {
    margin: 0.4em 0 19px;
  }
  .lesson .wrapper .contents.schedule {
    padding-top: 0;
    margin-bottom: 0;
  }

  /* VOICE */
  .voice .wrapper .contents .contents_wrap .contents_box {
    margin-bottom: 30px;
  }

  /* FAQ */
  .faq .wrapper .contents .contents_wrap .contents_box .contents_title {
    margin-top: 0;
    padding: 42px 0 0;
  }

  .faq .wrapper .contents .contents_wrap .contents_box .contents_title:before {
    width: 45px;
  }

  /* **********************************************************
	 セクションコンテンツ（テキスト）
	********************************************************** */
  .faq .wrapper .contents .contents_wrap .contents_box .text {
    padding: 48px 0 0;
    margin: 0;
  }

  .faq .wrapper .contents .contents_wrap .contents_box .text:before {
    width: 45px;
  }

  /* 404 */
  .mw1000 .oneBox {
    padding: 35px 0;
    text-align: left;
  }
}
@media screen and (min-width: 500px) and (max-width: 770px) {
  .wrapper .recommend .recommend_wrap .recommend_box {
    padding-bottom: 24%;
  }
  .wrapper .recommend .recommend_wrap .recommend_box .text {
    top: 84%;
  }
}

.mw_wp_form_confirm .privacy,
.mw_wp_form_confirm .privacy + .consent {
  display: none;
}
.formWrap .formBtn {
  margin-bottom: 1em;
}
p.complete {
  margin-top: 100px;
}
/***** refusal *****/
.refusal {
  text-align: right;
  margin-top: 30px;
}
.refusal img {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 770px) {
  .refusal {
    margin-top: 15px;
  }
  .refusal img {
    max-width: 270px;
  }
}

.mobile .bkg_change1_sp:before,
.tablet .bkg_change1_sp:before,
.mobile .bkg_change2_sp:before,
.tablet .bkg_change2_sp:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-size: cover;
}

.digit-l.visible,
.digit-r.visible,
.digit-b.visible {
  transform: none;
  opacity: 1;
}

.bkg_change1_sp.visible,
.bkg_change2_sp.visible {
  opacity: 1;
  transform: none;
  z-index: 1;
  position: relative;
}
.bkg_change1_sp.visible,
.bkg_change2_sp.visible {
  opacity: 1;
  transform: none;
  z-index: 1;
  position: relative;
}

@media screen and (max-width: 770px) {
  footer {
    background: #6bb9e8;
    padding-bottom: 90px;
  }
  .foot_contact {
    padding: 0;
  }
}

/**********************************************************
アニメーションを止める場合は、下記をすべて削除してください
また、クラスを追加する際は、こちらより上に記述お願いします。
**********************************************************/

.digit-l {
  transition: all 0.6s ease-out;
  transform: translateX(-80px);
  opacity: 0;
}

.digit-r {
  transition: all 0.6s ease-out;
  transform: translateX(80px);
  opacity: 0;
}

.digit-t {
  transition: all 0.6s ease-out;
  transform: translateY(-80px);
  opacity: 0;
}
.digit-b {
  transition: all 0.6s ease-out;
  transform: translateY(80px);
  opacity: 0;
}

.bkg_change1_sp,
.bkg_change2_sp {
  opacity: 1;
}

@media screen and (max-width: 770px) {
  .digit-l,
  .digit-r,
  .digit-t,
  .digit-b {
    transition: all 0.6s ease-out;
    transform: translateY(80px);
    opacity: 0;
  }
}

@media screen and (max-width: 600px) {
  .bkg_change1_sp,
  .bkg_change2_sp {
    opacity: 0;
    transition: all 0.6s ease-out;
  }
}
