@charset "utf-8";
/*
===============================================================================
■ general
===============================================================================
*/
* {
  padding: 0;
  margin: 0;
  min-height: 0;
  min-width: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html, body {
  height: 100%;
  width: 100%;
  margin: 0;
}
html {
  font-size: 62.5%;
}
body {
  color: #2f3c45;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
  font-feature-settings: "palt";
  letter-spacing: .15rem;
  text-align: justify;
  background: rgb(178, 178, 178, 0.2) url("../images/pc_logo.png") repeat 0 0/390px 160px;
  background-attachment: fixed;
}
/*　IE11　*/
_:-ms-lang(x)::-ms-backdrop, body {
  font-family: 'Noto Sans JP', sans-serif;
}
/*　Edge 2　*/
_:-ms-lang(x)::backdrop, body {
  font-family: 'Noto Sans JP', sans-serif;
}
#PageWrapper {
  overflow: hidden;
  padding: 0;
  margin: 0 auto;
  border: 0;
  outline: 0;
  width: 100%;
  max-width: 768px;
}
/*　img　*/
img {
  width: 100%;
  vertical-align: bottom;
  padding: 0;
  margin: 0;
}
/*　list　*/
ul {
  list-style: none;
}
/*　text　*/
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.small {
  font-size: 1.2rem;
}
.kome {
  margin-top: 1.4rem;
}
strong {
  font-weight: bold;
}
i {
  font-style: normal;
  margin-left: 1rem;
}
.red {
  color: #e53935;
}
.blue {
  color: #1375A2;
}
/*　link　*/
a:link {
  color: #71ACC7;
  text-decoration: none;
}
a:visited {
  color: #71ACC7;
  text-decoration: none;
}
a:hover {
  color: #71ACC7;
  text-decoration: none;
}
a:active {
  color: #71ACC7;
  text-decoration: none;
}
a img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  text-decoration: none;
}
small {
  font-size: 90%;
}
/*　clearfix　*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/*　flex box　*/
.f-container {
  display: flex;
  flex-flow: row wrap;
  /*justify-content: space-between;*/
  align-items: flex-start;
  align-content: flex-start;
}
/*　flex box　safari用*/ ::-webkit-full-page-media, :future, :root .f-container {
  justify-content: initial;
}
/*　grid　*/
.grid {
  display: grid;
  place-items: center;
}
/*　pc/sp　*/
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
@media only screen and (max-width: 560px) {
  body {
    font-size: 1.4rem !important;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/*
===============================================================================
■ header
===============================================================================
*/
header {
  position: fixed;
  overflow: hidden;
  width: 100%;
  max-width: 768px;
  background: rgba(255, 255, 255, 0.9);
  padding: 17px 0;
  z-index: 999;
}
.logo {
  width: 110px;
  float: left;
}
/*　ir header　*/
.header_inner {
  width: 94%;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .header_inner {
    max-width: 768px;
  }
}
@media screen and (max-width: 560px) {
  header {
    padding: 10px 0;
  }
  .header_inner {
    width: 94%;
  }
}
/*
===============================================================================
■ content
===============================================================================
*/
main {
  display: block;
  padding-bottom: 120px;
  margin: 74px 0 0;
  background-color: rgb(255, 255, 255);
}
#personal main {
  padding-bottom: 40px;
  margin-top: 74px;
}
.contentWrap {
  width: 100%;
  overflow: hidden;
}
.bk_wht {
  background: #fff;
}
article {
  padding: 4rem 10% 0;
}
/*　ir name　*/
.irName {
  font-size: 4rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 2px;
}
.irNameSub {
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.35rem;
}
@media screen and (max-width: 560px) {
  main {
    padding-bottom: 50px;
    margin: 56px 0 0;
  }
  #personal main {
    padding-bottom: 0;
    margin: 56px 0 0;
  }
  .irName {
    font-size: 2.5rem !important;
  }
  .irNameSub {
    font-size: 1.2rem !important;
  }
  article {
    padding: 2rem 6%;
  }
}
/*
===============================================================================
■ hawaii_flexarea
===============================================================================
*/
.hawaii_flexarea {
  display: flex;
  flex-wrap: wrap；
}
.hawaii_flexarea div {
  width: 49%;
}
.pdf_hawaii div {
  padding: 2%;
}
@media screen and (max-width: 560px) {
  .hawaii_flexarea div {
    width: 100%;
  }
  .hawaii_flexarea {
    display: block;
  }
}
/*
===============================================================================
■ top_nagano_flexarea
===============================================================================
*/
.top_nagano_flexarea {
  display: flex;
  flex-wrap: wrap；
}
.top_nagano_flexarea div {
  width: 49%;
}
.pdf_nagano {
  text-align: center;
}
.pdf_nagano div {
  padding: 2%;
}
.pdf_nagano img {
  width: 70%;
  text-align: center;
}
@media screen and (max-width: 560px) {
  .top_nagano_flexarea div {
    width: 100%;
  }
  .top_nagano_flexarea {
    display: block;
  }
}
/*
===============================================================================
■ index.html
===============================================================================
*/
/*　keyvisual　*/
.keyvisual {
  width: 100%;
}
.keyvisual img, .keyvisual video {
  width: 100%;
}
/*　movie_more　*/
.movie_more {
  width: 94%;
  max-width: 800px;
  text-align: right;
  margin: 1rem auto 0;
}
.movie_more a {
  color: #99786f;
  font-weight: bold;
  border-bottom: #99786f solid 1px;
  padding-bottom: 4px;
}
/*　introduction　*/
.topIntroduction {
  padding: 6rem 7% 3rem;
  text-align: center;
}
.topIntroduction h1 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 2rem;
  color: #1375A2;
  font-style: italic;
}
.topIntroduction p {
  line-height: 2.5;
}
.topIntroduction div {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
/*　h2　*/
h2 {
  width: 100%;
  margin: 4rem auto 8rem;
  padding: 0.8rem 0;
}
/*　month tab　*/
.monthTabContent .monthTab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  width: 90%;
  max-width: 700px;
  margin: 0 auto;
}
.monthTabContent h3 {
  color: #1375A2;
  margin: 4rem auto 2rem;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
}
.monthTabContent .monthTab li {
  list-style: none;
  width: 100%;
  text-align: center;
  position: relative;
}
.monthTabContent .monthTab li :before {
  height: 0;
  display: block;
  position: absolute;
  right: -3px;
  content: "";
  border-top: solid 20px #fff;
  border-left: solid 20px transparent;
  top: -3px;
  z-index: 2;
}
.monthTabContent .monthTab li :after {
  height: 0;
  display: block;
  position: absolute;
  right: -2px;
  content: "";
  border-top: solid 20px transparent;
  border-left: solid 20px transparent;
  top: -2px;
}
.monthTabContent .monthTab li a {
  display: block;
  color: #fff;
  font-weight: bold;
  background: #1375A2;
  padding: 1rem 0;
  font-size: 2.5rem;
}
.monthTabContent .overseastab li a {
  background: #1375A2;
}
/*tabの形状*/
.tab {
  display: flex;
  flex-wrap: wrap;
}
.tab li {
  width: 50%;
  text-align: center;
}
.tab li a {
  display: block;
  background: #ddd;
  margin: 0 2px;
  padding: 10px 20px;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a {
  background: #C2A055;
}
.tab li a img {
  margin: 0 auto;
}
/*エリアの表示非表示と形状*/
/*
.area {
  display: none;
  opacity: 0;
  background: #fff;
}
*/
/*areaにis-activeというクラスがついた時の形状*/
/*
.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
*/
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*　accordion　*/
.accordion {
  margin-top: 10rem;
}
.accordion label {
  position: relative;
  display: block;
  cursor: pointer;
  width: 94%;
  max-width: 900px;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  background: #1375A2;
  border-radius: 4px;
  padding: 2rem 2rem 2rem 7rem;
  margin: 0 auto .6rem;
}
.accordion li {
  list-style: none;
}
.accordion dt {
  margin: 3rem 0 1rem;
}
.accordion dt strong {
  color: #fff;
  font-weight: bold;
  background: #C58BAE;
  padding: .4rem 1rem;
}
.accordionBox section {
  border-radius: 1rem;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
  padding-bottom: 1rem;
}
ul.accordionBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 92%;
  margin: 0 auto;
}
.accordionBox .contentWrap {
  overflow: unset;
}
.accordionBox li {
  width: 45%;
  text-align: center;
}
.accordionBox li h2 {
  margin: 4rem auto 2rem;
  padding: 0;
}
.accordionBox .post img {
  width: 50%;
  border-radius: 50%;
}
.accordionBox .irInfo {
  text-align: center;
  margin: 0 auto;
}
.accordionBox .irInfo .irName {
  font-size: 3rem;
}
.accordionBox .irInfo .irNameSub {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 560px) {
  .topIntroduction {
    padding: 3rem 10% 0;
  }
  .topIntroduction p {
    line-height: 2.1;
  }
  .topIntroduction h1 {
    font-size: 2rem !important;
  }
  /*　introduction　*/
  .introduction p {
    line-height: 2;
  }
  /*　h2　*/
  h2 {
    margin: 2rem auto 5rem;
  }
  /*　month tab　*/
  .monthTabContent .monthTab {
    grid-template-columns: repeat(3, 1fr);
  }
  .monthTabContent h3 {
    font-size: 2rem !important;
  }
  .monthTabContent .monthTab li a {
    padding: 1rem 0rem;
  }
  .monthTabContent .monthTab li .feb2024 {
    padding: 1rem 2rem;
  }
  /*　accordion　*/
  .accordion {
    margin-top: 4rem;
  }
  .accordion label {
    font-size: 1.4rem !important;
    padding: 1.4rem 2.6rem 1.4rem 4rem;
  }
  .accordion label:after {
    top: 34%;
    right: 10px;
  }
  .tab li a {
    padding: 0;
  }
  .monthTabContent .monthTab li a {
    font-size: 1.5rem !important;
  }
  .accordionBox li {
    width: 48%;
  }
  .accordionBox .irInfo .irName {
    font-size: 2rem !important;
  }
  .accordionBox .irInfo .irNameSub {
    font-size: 1rem !important;
  }
  .accordionBox .irInfo .date {
    letter-spacing: 0.1rem;
  }
}
/*
===============================================================================
■ index.html - retreat list
===============================================================================
*/
.archive_title {
  color: #fff;
  background: #1375A2;
  padding: .6rem .4rem;
  margin: 8rem auto -2rem;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 600;
}
.retreat_list h2 {
  margin: 6rem 0 4rem;
}
/* Slider */
.slide-container {
  width: 100%;
}
.swiper-container {
  width: 80%;
  /*  right: -10%;*/
  background-color: #fff;
  box-shadow: 10px 10px 15px -10px;
}
.swiper-slide .info_box {
  display: flex;
  padding: 1rem 4rem 3.5rem;
  align-items: center;
}
.swiper-slide .info_box .face_images {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 25%;
}
.swiper-slide .info_box .face_images img {
  border-radius: 50%;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.swiper-slide .info_box .face_images.multi {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}
.swiper-slide .info_box .face_images.multi img {
  width: 50%;
  height: 100%;
  border-radius: 0;
  aspect-ratio: auto;
}
.slider-caption {
  padding: .6rem 0.5rem;
  margin: 0;
  line-height: 1.5em;
  background: #ffffff;
  color: #2f3c45;
  font-size: 1.5rem;
  font-weight: 600;
}
.swiper-slide .slider-caption p {
  display: block;
}
.info_box .info_inner {
  margin-left: 4rem;
}
.info_inner .caption_title {
  font-size: 3.5rem;
  padding: 10px 0;
}
.info_inner .caption_title span {
  font-size: 2rem;
  margin-left: 3rem;
  color: #fff;
  background: #1375A0;
  padding: 0 0.5rem 0 0.9rem;
}
.info_inner .caption_days, .info_inner .caption_place {
  position: relative;
  font-size: 2rem;
}
.info_inner .caption_title i {
  margin-right: 1rem;
  color: #1375A2;
}
.info_inner .caption_days i, .info_inner .caption_place i {
  margin-right: 1.5rem;
  color: #1375A2;
}
.info_inner .caption_days, .info_inner .caption_place {
  color: #2f3c45;
}
@media screen and (max-width: 768px) {
  .archive_title {
    font-size: 2rem;
    margin: 6rem auto -2rem;
  }
}
@media screen and (max-width: 560px) {
  .retreat_list h2 {
    margin: 4rem 0 1rem;
  }
  .swiper-container {
    width: 95%;
  }
  .slider-caption {
    padding: .6rem 0 .6rem 0rem;
  }
  .info_box .info_inner {
    margin-left: 1.5rem;
  }
  .swiper-slide .info_box {
    padding: 1rem 2rem 3rem;
  }
  .info_inner .caption_title {
    font-size: 1.75rem !important;
    padding: .5rem 0;
  }
  .info_inner .caption_title span {
    font-size: 1.4rem !important;
    margin-left: 1.5rem;
    padding: 0.1rem 0.4rem 0.1rem 0.7rem;
  }
  .info_inner .caption_days, .info_inner .caption_place {
    font-size: 1.4rem !important;
    text-align: start;
  }
  .info_inner .caption_days i, .info_inner .caption_place i {
    margin-right: 1rem;
  }
}
/*
===============================================================================
■ detail.php - header
===============================================================================
*/
.header_inner_link {
  width: 50rem;
  float: right;
}
.fix_nav_sp, .fix_nav_sp_142 {
  display: none;
}
.fix_nav_pc {
  width: 22.5rem;
  float: left;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}
#retreat_top {
  width: 26rem;
  float: right;
  font-size: 1.5rem;
  letter-spacing: 0;
  text-align: center;
}
#retreat_top a {
  display: block;
  height: 3.6rem;
  line-height: 3.6rem;
  border-radius: 2rem;
  border: solid 1px #1375A2;
  color: #1375A2;
  background: #fff;
}
#retreat_top a:hover {
  background: -webkit-linear-gradient(to right, #88dea4, #6bccd8);
  background: #fff;
  border: solid 1px #1375A2;
}
@media screen and (max-width: 560px) {
  .header_inner_link {
    width: 270px;
  }
  #retreat_top {
    width: 170px;
    font-size: 1.4rem !important;
  }
  .fix_nav_pc {
    display: none;
  }
  .side_by_side_142 {
    display: flex;
  }
  .fix_nav_sp {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99999;
  }
  .fix_nav_sp_142 {
    display: inline-block;
    position: fixed;
    bottom: 0;
    width: 50%;
    z-index: 99999;
    background: #C7A133;
  }
  .fix_nav_sp_142 .right {
    display: inline-block;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 50%;
    z-index: 99999;
    background: #C7A133;
  }
}
/*
===============================================================================
■ detail.php - reserve btn
===============================================================================
*/
.reserve a:link {
  color: #fff;
}
.reserve a:visited {
  color: #fff;
}
.reserve a:active {
  color: #fff;
}
.reserve a:hover {
  color: #fff;
}
.reserve a.btn_shine {
  display: block;
  position: relative;
  overflow: hidden;
  height: 36px;
  line-height: 36px;
  border: solid 1px #fff;
  border-radius: 20px;
  font-weight: 700;
}
.reserve a.btn_shine:before {
  content: "";
  position: absolute;
  top: -50px;
  left: -25px;
  height: 130px;
  width: 40px;
  background: #fff;
  opacity: 0.3;
  transform: rotate(40deg);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.reserve a.btn_shine:hover:before {
  left: 95%;
}
.pre_reserve {
  height: 36px;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 36px;
  background: #9E9E9E;
  border: solid 1px #fff;
  border-radius: 20px;
}
.btn_shine .arrow {
  position: relative;
}
.btn_shine .arrow::after {
  content: "";
  position: absolute;
  top: 70%;
  right: -1.5em;
  transform: translateY(-90%);
  border: 11px solid transparent;
  border-left: 11px solid #fff;
}
@media screen and (max-width: 560px) {
  .reserve a.btn_shine {
    width: 100%;
    height: 65px;
    font-size: 2.2rem !important;
    font-weight: 600;
    text-align: center;
    line-height: 65px;
    border: none;
    border-radius: 0;
    background: #C7A133;
    letter-spacing: 0.4rem;
  }
  .reserve a.btn_shine_142 {
    width: 100%;
    height: 65px;
    font-size: 1.5rem !important;
    font-weight: 600;
    text-align: center;
    line-height: 1.5rem;
    border: none;
    border-radius: 0;
    letter-spacing: 0.4rem;
  }
  .reserve a.btn_shine::before {
    top: -50px;
    left: -25px;
    height: 150px;
    width: 50px;
  }
  .reserve a.btn_shine_142::before {
    top: -50px;
    left: -25px;
    height: 150px;
    width: 50px;
  }
  .reserve a.btn_shine .arrow {
    position: relative;
  }
  .reserve a.btn_shine .arrow::after {
    top: 70%;
    right: -4rem;
    transform: translateY(-90%);
    border: 8px solid transparent;
    border-left: 8px solid #fff;
  }
  .reserve a.btn_shine:hover:before {
    left: 95%;
  }
  .pre_reserve {
    height: 50px;
    font-size: 2.2rem !important;
    line-height: 50px;
    background: #9E9E9E;
    border: none;
    border-radius: 0;
  }
  .btn_shine .arrow::after {
    right: -3rem;
    transform: translateY(-90%);
    border: 8px solid transparent;
    border-left: 8px solid #fff;
  }
}
/*
===============================================================================
■ detail.php - mv
===============================================================================
*/
.personal_mv > figure img {
  width: 100%;
  height: auto;
}
.personal_mv_inner {
  justify-content: center;
  align-items: center;
  /*  background-color: rgba(255, 255, 255, 0.8);*/
  padding: 4rem 7% 0;
}
.personal_mv_inner ul {
  display: flex;
  padding-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8rem;
  margin-left: -0.5rem;
}
.fa-solid, .fas {
  margin-right: 0.5rem;
  margin-left: 0;
}
.personal_mv_inner ul li {
  display: flex;
}
.ic_logo_134 {
  margin: -2rem auto 2rem;
  width: 15rem;
}
.personal_mv_inner ul .ic_days {
  margin-left: 1.5rem;
}
.personal_mv_inner ul .ic_map, .personal_mv_inner ul .ic_days {
  position: relative;
  background: #1375A2;
  color: #fff;
  padding: 0.8rem 1rem;
  border-radius: 0.3rem;
}
/*　catchcopy　*/
.catchcopy {
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-align: start;
}
/* リトリートタイトル上の見出しがあった場合 */
.catchcopy .title_s {
  color: #fff;
  background: #2f3c45;
  border-radius: 0.3rem;
  display: inline-block;
  font-size: 2rem;
  font-weight: 600;
  padding: 0.3rem;
  margin-bottom: 0.5rem;
}
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .catchcopy {
  letter-spacing: -3px;
}
.catchcopy span {
  letter-spacing: 0.05em;
}
.catchcopy span.small45 {
  font-size: 4.5rem;
}
.catchcopy span.small40 {
  font-size: 4rem;
}
.catchcopy span.small35 {
  font-size: 3.5rem;
}
.catchcopy span.small30 {
  font-size: 3.5rem;
}
/*　ir_date　*/
.ir_date {
  display: flex;
  flex-flow: nowrap;
  width: 90%;
  max-width: 520px;
  margin: 0 auto;
  padding: 2rem 0;
  align-items: center;
}
.ir_date figure {
  width: 60%;
  max-width: 180px;
  margin: 0 auto;
}
.ir_date figure img {
  width: 100%;
  border-radius: 100px;
}
.ir_date .name {
  width: 60%;
  padding: 4.5rem 0;
}
@media screen and (max-width: 560px) {
  .personal_mv_inner {
    padding: 4rem 6% 0;
  }
  .catchcopy {
    font-size: 2.2rem !important;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0.1rem;
  }
  /* リトリートタイトル上の見出しがあった場合 */
  .catchcopy .title_s {
    font-size: 1.5rem !important;
    padding: 0.3rem;
  }
  .ir_date .name {
    width: 100%;
    padding: 1rem 0 0;
  }
  .personal_mv_inner ul {
    padding-bottom: 1rem;
    font-size: 1.5rem !important;
    letter-spacing: 0.1rem;
    line-height: 1.5rem;
  }
  .ic_logo_134 {
    margin: -2rem auto 2rem;
    width: 13rem;
  }
  .personal_mv_inner ul .ic_map, .personal_mv_inner ul .ic_days {
    padding: 0.6rem 0.7rem;
  }
}
/*
===============================================================================
■ detail.php - nav （schedule btn）
===============================================================================
*/
#personal .js-tab .triangle p::before {
  left: 8%;
}
#personal nav {
  overflow: hidden;
  margin-bottom: 5rem;
}
#personal .js-tab {
  width: 336px;
  float: right;
  background: #fff;
}
.js-tab > div {
  display: inline;
}
.js-tab > div:last-of-type {
  margin-right: 0;
}
.js-tab > div a {
  color: #74614b;
}
.button {
  padding: 10px 0;
}
.button {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 30px;
  outline: none;
  border: 1px solid #74614b;
}
.button:hover {
  background-color: #74614b;
  color: #fff;
}
.button a {
  color: #74614b;
  display: block;
  font-size: 1.3rem !important;
}
.button a:hover {
  background-color: #74614b;
  color: #fff;
}
.button::before, .button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button, .button::before, .button::after, .button a, .button a::before, .button a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.js-tab .triangle {
  position: relative;
}
.js-tab .triangle p::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 4.5px 0 4.5px;
  border-color: #cec5b2 transparent transparent transparent;
  position: absolute;
  left: 20%;
  top: 42%;
  content: '';
}
.js-tab .triangle p::before:a:hover {
  color: #fff;
}
.js-tab_content {
  background: url(../img/ico_lotus.svg) 50% 0 no-repeat;
  background-size: 35px;
  padding-top: 80px;
  margin-top: 55px;
}
/*.js-tab .triangle p::before{ left: 10px;}*/
@media screen and (max-width: 560px) {
  #personal nav {
    margin: 22px 0 40px;
  }
  #personal .js-tab {
    width: 100%;
    float: none;
  }
}
/*
===============================================================================
■ detail.php - contents
===============================================================================
*/
.article_inner {
  margin: 0 auto 5rem;
}
#personal h2 {
  position: relative;
  color: #1375A2;
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 4rem;
  text-align: center;
  background-image: linear-gradient(90deg, #1375A2 0 20%, #dedede 20%);
  background-repeat: no-repeat;
  background-size: 30% 8%;
  background-position: bottom;
}
#personal h2:after {
  content: "";
  display: block;
  height: 8px;
}
#personal h2 span {
  display: inline-block;
}
/*　link　*/
.linkStyle {
  padding: 0 4px 0 0;
}
@media screen and (max-width: 560px) {
  .article_inner {
    margin: 0 auto 4rem;
  }
  #personal h2 {
    font-size: 2rem !important;
    margin-bottom: 3rem;
  }
  .linkStyle {
    padding: 1px 6px 1px 0;
  }
}
/*
===============================================================================
■ detail.php - slider
===============================================================================
*/
.memory .slider_wrap, .greeting .slider_wrap, .description .slider_wrap {
  width: 100%;
  max-width: 740px;
  margin: 4rem auto 0;
}
.memory .slick-slide li img, .greeting .slick-slide li img, .description .slick-slide li img {
  display: block;
  width: 100%;
}
.memory .slick-prev, .memory .slick-next, .greeting .slick-prev, .greeting .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 50px;
  height: 50px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 2;
}
.memory .slick-prev:before, .memory .slick-next:before, .greeting .slick-prev:before, .greeting .slick-next:before {
  content: '';
  display: block;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}
.memory .slick-prev:after, .greeting .slick-prev:after {
  content: '';
  display: block;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 12px solid transparent;
  position: absolute;
  top: 12px;
  left: 3px;
}
.memory .slick-next:after, .greeting .slick-next:after {
  content: '';
  display: block;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 12px solid transparent;
  position: absolute;
  top: 12px;
  left: 18px;
}
.memory .slick-prev, .greeting .slick-prev {
  left: 4;
  top: 240px;
}
.memory .slick-next, .greeting .slick-next {
  right: 4;
  top: 240px;
}
@media screen and (max-width: 560px) {
  .memory .slider_wrap, .greeting .slider_wrap, .description .slider_wrap {
    width: 100%;
    margin: 2rem auto 0;
  }
  .memory .slick-prev, .greeting .slick-prev {
    top: 120px;
  }
  .memory .slick-next, .greeting .slick-next {
    top: 120px;
  }
}
/*
===============================================================================
■ detail.php - briefing（オンライン説明会）
===============================================================================
*/
.briefing {
  padding: 5rem 10% 3rem;
}
.briefing_title {
  font-weight: bold;
  font-size: 1.6rem !important;
  text-decoration: underline;
  color: #748CAC;
  line-height: 2;
}
.briefing_zoom_link {
  color: #1521AF;
  text-decoration: underline;
  word-break: break-all;
}
.briefing_schedule_title {
  font-weight: normal;
}
@media screen and (max-width: 560px) {
  .briefing {
    padding: 3rem 6% 2rem;
  }
}
/*
===============================================================================
■ detail.php - description（リトリート概要）
===============================================================================
*/
@media screen and (max-width: 560px) {
  .description {
    padding: 2rem 6% 0;
  }
  .description p {
    line-height: 2;
  }
}
/*
===============================================================================
■ detail.php - description（リトリート概要）
===============================================================================
*/
.description dl dt {
  width: 8%;
  margin-bottom: 1rem;
}
.description dl dt span {
  background: #1375A2;
  border-radius: 20px;
  color: #fff;
  display: block;
  width: 35px;
  height: 35px;
  text-align: center;
  line-height: 35px;
}
.description dl dd {
  display: block;
  width: 92%;
  max-width: 680px;
  height: 40px;
  line-height: 40px;
}
.description dl dd span {
  display: inline-block;
  line-height: 1.25;
}
.description p {
  line-height: 2.5;
}
.description p:last-child {
  padding-bottom: 0;
}
.description .apply aside {
  width: 100%;
  max-width: 660px;
  line-height: 2.0;
  margin: 0 auto;
}
.description .apply aside ul {
  margin-top: 20px;
}
.description .apply aside ul li {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 8px;
}
.description .apply aside ul li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .description dl dd {
    max-width: 548px;
  }
  .description dl dd span {
    padding-top: .2rem;
  }
}
@media screen and (max-width: 560px) {
  .description dl dd {
    width: 90%;
    max-width: 470px;
    font-size: 1.5rem;
    padding-left: 1.5rem;
  }
  .description dl dt {
    padding: 0.5rem 0 1rem;
  }
  .description p {
    line-height: 2;
  }
  .description .apply_reserve_btn {
    margin: 26px auto 24px;
  }
  .description .apply_reserve_btn a.btn_shine, .apply_pre_reserve_btn {
    font-size: 2.2rem !important;
    height: 8rem;
    line-height: 1.8;
    padding: 2rem 0;
    font-weight: 700;
    letter-spacing: 0.4rem;
  }
  .description .apply_reserve_btn a.btn_shine:before {
    display: none;
  }
  .description .apply_reserve_btn a span {
    font-size: 1.2rem !important;
  }
  .description .apply aside {
    line-height: 1.7;
  }
  .description dl dt span {
    width: 27px;
    height: 27px;
    line-height: 27px;
  }
}
@media screen and (max-width: 320px) {
  .description dl dt {
    width: 17%;
  }
  .description dl dd {
    width: 83%;
  }
}
/*
===============================================================================
■ detail.php - introduction
===============================================================================
*/
.introduction .f-container {
  align-items: center;
  width: 90%;
  margin: 0 auto 4rem;
  flex-wrap: nowrap;
  justify-content: space-around;
}
.introduction figure {
  width: 32%;
  max-width: 250px;
}
.introduction figure img {
  border-radius: 50%;
}
.introduction .introduction_btn_area {
  width: 70%;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.introduction .introduction_btn_area:last-child {
  margin-bottom: 0;
}
.introduction .introduction_btn_area .btn_introduction {
  display: block;
  background: #1375A2;
  border-radius: 5rem;
  text-align: center;
}
.introduction_btn_area .btn_introduction img {
  width: 70%;
}
a.btn_introduction:first-child {
  margin-bottom: 1rem;
}
.personal_career {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .introduction figure {
    width: 30%;
  }
  .introduction .personal_txtbox {
    width: 65%;
  }
  .introduction .personal_txtbox .btn {
    width: 40%;
  }
}
@media screen and (max-width: 560px) {
  .introduction .f-container {
    margin: 0 auto;
  }
  .introduction figure {
    width: 60%;
    float: none;
    margin: 0 auto 2rem;
  }
  .introduction .introduction_btn_area .btn_introduction {
    height: auto;
  }
  .introduction_btn_area .btn_introduction img {
    max-width: 100%;
    width: 315px;
  }
  .introduction .personal_txtbox {
    width: 94%;
    float: none;
    margin: 0 auto;
  }
  .introduction .personal_txtbox .btn {
    width: 50%;
  }
}
/*
===============================================================================
■ detail.php - greeting
===============================================================================
*/
.greeting p {
  line-height: 2.0;
  padding-bottom: 1rem;
}
.greeting p:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 560px) {
  .greeting {
    line-height: 1.7;
  }
}
/*
===============================================================================
■ detail.php - schedule
===============================================================================
*/
#schedule .article_inner {
  margin: 0 auto;
}
.time_sche h3 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: #1375A2;
  font-weight: 600;
}
.time_sche h3 span {
  color: #1375A2;
  font-size: 1.5rem;
}
.sche_box {
  background: rgba(255, 255, 255, .8);
  -moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  padding: 3rem 4rem;
  margin: 0 auto 4rem;
}
.sche_box dl {
  overflow: hidden;
  border-bottom: 1px dashed #cec5b2;
  padding: 1.5rem 0;
}
.sche_box dl:last-of-type {
  border-bottom: none;
}
.sche_box dt {
  display: block;
  width: 18%;
  float: left;
  color: #1375A2;
  letter-spacing: 0.1rem;
  margin-left: 1rem;
}
.sche_box dd {
  display: block;
  width: 80%;
  float: right;
  color: #1375A2;
}
.sche_box dd span {
  font-size: 1.2rem;
}
.sche_box dd small {
  color: #2f3c45;
  display: block;
  line-heigth: 1.7;
}
.schedule p {
  margin-top: -3rem;
}
.schedule p.sche_note {
  margin-top: 0;
}
@media screen and (max-width: 560px) {
  .sche_box {
    padding: 1rem 1.5rem;
  }
  .sche_box dl:last-of-type {
    margin: 0 auto 2rem;
  }
  .sche_box dd {
    font-size: 1.5rem !important;
    font-weight: 600;
    text-align: start;
  }
  .sche_box dd small {
    font-weight: normal;
  }
  .sche_box dt {
    width: 23%;
    margin-left: 0rem;
  }
  .sche_box dd {
    width: 77%;
  }
  .time_sche h3 {
    font-size: 1.5rem !important;
  }
}
/*
===============================================================================
■ detail.php - detail
===============================================================================
*/
#detail .article_inner {
  margin: 0 auto;
}
.detail_box {
  background: rgba(255, 255, 255, .8);
  -moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  padding: 3rem 4rem;
}
.detail_box dl {
  overflow: hidden;
  border-bottom: 1px dashed #cec5b2;
  padding: 1.5rem 0;
}
.detail_box dl:last-of-type {
  border-bottom: none;
}
.detail_box dt {
  display: block;
  width: 23%;
  float: left;
  color: #1375A2;
  letter-spacing: 0.1rem;
}
.detail_box dd {
  display: block;
  width: 77%;
  float: right;
  color: #1375A2;
}
.detail_box dd span {
  font-size: 1.2rem;
}
.detail_box dd small {
  color: #2f3c45;
  display: block;
  line-heigth: 1.7;
}
.detail_box dl dd a {
  text-decoration: underline;
}
@media screen and (max-width: 560px) {
  .detail_box {
    padding: 1rem 1.8rem;
  }
  .detail_box dd {
    font-size: 1.5rem !important;
    font-weight: 600;
  }
  .detail_box dt {
    width: 28%;
  }
  .detail_box dd {
    width: 72%;
    letter-spacing: 0.1rem;
  }
}
/*
===============================================================================
■ detail.php - access
===============================================================================
*/
.access {
  background: none;
  box-shadow: none;
}
.address {
  width: 100%;
}
.access.fade-in {
  padding: 4rem 10%;
}
.address p {
  text-shadow: none;
}
.address h5 {
  font-weight: 600;
}
.gmap_area {
  padding-top: 50%;
  position: relative;
}
.gmap_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.traffic h6 {
  font-size: 1.6rem;
  margin: 4rem 0 .4rem;
}
.traffic h6 i {
  font-size: 2.4rem;
  margin-right: .6rem;
}
.traffic p {
  font-size: 1.4rem;
}
.bus_stop td {
  font-size: 1.4rem;
  border-bottom: #433f3f 1px dashed;
  padding: 4px 0;
}
.time td {
  padding: 10px 0;
}
@media screen and (max-width: 560px) {
  article.access.fade-in {
    padding: 2rem 6%;
  }
}
/*
===============================================================================
■ detail.php - belonging
===============================================================================
*/
.belonging ul li {
  padding-bottom: 20px;
}
.belonging ul li a {
  font-weight: bold;
}
@media screen and (max-width: 560px) {
  .belonging ul li {
    padding-bottom: 10px;
  }
  .belonging aside {
    font-size: 1.4rem !important;
  }
}
/*
===============================================================================
■ detail.php - price
===============================================================================
*/
.price_box {
  text-align: center;
  background: rgba(255, 255, 255, .8);
  border-radius: 30px;
  -moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  padding: 30px 0;
  margin: 0 auto 20px;
}
.price_box h3 {
  font-size: 5rem;
  font-weight: 500;
}
.price_box .price_wrapper {
  margin: auto;
  width: 90%;
}
.price_wrapper .plan {
  padding: 2rem 0 2rem;
}
.price_wrapper .border_top {
  border-top: 1px dashed #1375A2;
  padding-bottom: 2rem;
}
.price_wrapper .plan_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
  white-space: nowrap;
}
.price_wrapper .plan_inner p {
  line-height: 1;
}
.price_wrapper .plan_inner p::before {
  content: "";
  display: inline-block;
  width: 7rem;
  height: 7rem;
  background-size: cover;
}
.price_wrapper .plan_inner .early_price::before {
  background-image: url("../images/icon/ic_early_new.png")
}
.price_wrapper .plan_inner .repeat_price::before {
  background-image: url("../images/icon/ic_repeat_new.png")
}
.price_wrapper .plan_inner .member_price::before {
  background-image: url("../images/icon/ic_member_new.svg")
}
.price_wrapper .plan_inner .pair_price::before {
  background-image: url("../images/icon/ic_pair_new.svg")
}
.price_wrapper .plan_inner strong {
  color: #1375A2;
  font-size: 7.5rem;
  margin-left: 3rem;
  letter-spacing: -.3rem;
}
.price_wrapper .plan_119 {
  padding: 0;
}
.price_wrapper .plan_inner_119 {
  white-space: nowrap;
}
.price_wrapper .plan_inner_119 .price_119 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.price_wrapper .plan_inner_119 .price_119 strong {
  color: #2f3c45;
  font-size: 7.5rem;
  margin-left: 2rem;
  letter-spacing: -.3rem;
}
.price_wrapper .plan_inner_119 span.en {
  font-size: 3.7rem;
}
.price_wrapper .plan_inner span.en {
  font-size: 3.7rem;
}
.price_wrapper .proper_price {
  text-align-last: end;
  font-size: 2.8rem;
}
.price_wrapper .plan_inner + p {
  font-size: 2.8rem;
}
.price aside {
  width: 600px;
  line-height: 2.0;
  margin: 0 auto;
}
.price aside ul li a {
  display: inline-block;
  font-weight: bold;
  padding: 2px 8px;
}
.tax {
  padding-left: 0.5em;
  font-size: 1.3rem;
  margin-top: 5rem;
}
/*価格（数字）フォント変更*/
.roboto-medium {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}
span.ic_price {
  border: solid 2px;
  font-size: 2.3rem;
  font-weight: 600;
  padding: 1.3rem 0.7rem;
  margin-top: 0.5rem;
}
/*ID：142用CSS価格（数字）フォント変更*/
.span1_id142 {
  background: #1375A2;
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 2rem;
}
.span2_id142 {
  color: #1375A2;
  border: solid 1.5px #1375A2;
  padding: 0.5rem;
}
.plan.id_142 strong {
  margin-left: 1.5rem;
}
.plan.id_142 .plan_inner {
  margin-left: -5rem;
}
.plan.id_142 p.roboto-medium:last-child {
  margin-left: -4.5rem;
}
@media screen and (max-width: 560px) {
  .price_box {
    width: 100%;
    padding: 2rem 0;
    margin: 0 auto 2rem;
  }
  .price_wrapper .plan {
    padding: 1rem 0 1rem;
  }
  .price_wrapper .plan_inner {
    margin-bottom: 1rem;
  }
  .price_wrapper .plan_inner strong {
    font-size: 4.8rem;
    margin-left: 0.5rem;
    letter-spacing: -0.2rem;
    font-weight: 600;
  }
  .price_wrapper .plan_inner_119 .price_119 strong {
    font-size: 3.75rem;
    letter-spacing: -0.1rem;
    margin-left: 1rem;
    font-weight: 600;
  }
  .price_wrapper .plan_inner_119 span.en {
    font-size: 1.5rem;
  }
  .price_box h3 {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
  .price_wrapper .plan_inner span.en {
    font-size: 1.5rem;
  }
  .price_box p {
    font-size: 1.3rem;
    line-height: 1.5;
  }
  span.ic_price {
    border: solid 1.5px;
    padding: 0.8rem 0.4rem;
    font-size: 1rem;
    font-weight: 600;
  }
  .price_wrapper .plan_inner + p {
    font-size: 1.4rem;
    margin-top: -0.5rem;
    letter-spacing: 0rem;
  }
  .price_wrapper .plan_inner p::before {
    width: 3rem;
    height: 3rem;
  }
  .price_box .plan {
    font-size: 2rem;
  }
  .price_wrapper .proper_price {
    font-size: 1.4rem;
    letter-spacing: 0rem;
  }
  .price_box .plan dl {
    width: 80%;
    margin: 0 auto;
  }
  .price aside {
    width: 100%;
    line-height: 1.7;
  }
  .price aside ul li a {
    padding: 1px 6px;
  }
  /*ID：142用CSS価格（数字）フォント変更*/
  .span1_id142 {
    padding: 0.2rem 0.5rem;
    font-size: 1.5rem;
  }
  .span2_id142 {
    color: #1375A2;
    border: solid 1.5px #1375A2;
    padding: 0.5rem;
    font-size: 1rem;
    position: relative;
    top: -0.5rem;
  }
  .plan.id_142 .plan_inner {
    margin-left: -2rem;
  }
  .plan.id_142 strong {
    font-size: 4rem;
  }
  .plan.id_142 p.roboto-medium:last-child {
    margin-left: -2.8rem;
    margin-top: -2rem;
  }
}
/*
===============================================================================
■ detail.php - apply
===============================================================================
*/
.apply_reserve_btn {
  width: 100%;
}
.apply_reserve_btn a:link, .apply_reserve_btn_142 a:link {
  color: #fff;
}
.apply_reserve_btn a:visited, .apply_reserve_btn_142 a:visited {
  color: #fff;
}
.apply_reserve_btn a:active, .apply_reserve_btn_142 a:active {
  color: #fff;
}
.apply_reserve_btn a:hover, .apply_reserve_btn_142 a:hover {
  color: #fff;
}
.apply_reserve_btn a.btn_shine {
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 3.5rem;
  line-height: 1.1;
  height: 11rem;
  text-align: center;
  letter-spacing: 6px;
  border: solid 3px #fff;
  border-radius: 60px;
  padding: 30px 0;
  background: #C7A133;
  font-weight: 700;
}
.apply_pre_reserve_btn {
  width: 100%;
  max-width: 660px;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  letter-spacing: 6px;
  background: #9E9E9E;
  border: solid 1px #fff;
  border-radius: 50px;
  padding: 16px 18px;
  margin: 0 auto 4rem;
}
.apply_reserve_btn a.btn_shine::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: kiran 3s ease-in-out infinite;
}
@keyframes kiran {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.apply_reserve_btn a.btn_shine:hover:before {
  left: 95%;
}
.apply_reserve_btn a span {
  font-size: 1.5rem !important;
  letter-spacing: 0;
}
.description .apply_reserve_btn_142 {
  width: 100%;
  margin: 0 auto;
}
.apply_reserve_btn_142 a.btn_shine {
  display: block;
  position: relative;
  overflow: hidden;
  font-size: 2.5rem !important;
  line-height: 1.1;
  height: 10rem;
  text-align: center;
  letter-spacing: 6px;
  border: solid 3px #fff;
  border-radius: 60px;
  padding: 30px 0;
  background: #C7A133;
  font-weight: 700;
}
.apply_reserve_btn_142 a.btn_shine::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: kiran 3s ease-in-out infinite;
}
@keyframes kiran {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.apply aside {
  width: 100%;
  max-width: 660px;
  line-height: 2.0;
  margin: 0 auto;
  font-size: 2.5rem;
}
.apply aside ul {
  margin-top: 2rem;
}
.apply aside ul li {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 8px;
}
.apply aside ul li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 560px) {
  .apply_reserve_btn {
    width: 100%;
    margin: 0 auto 2rem;
  }
  .apply_reserve_btn a.btn_shine, .apply_pre_reserve_btn {
    font-size: 2.2rem !important;
    padding: 1.5rem 0;
    line-height: 1.8;
    height: 8rem;
    font-weight: 700;
    letter-spacing: 0.25rem;
  }
  .apply_reserve_btn_142 a.btn_shine {
    font-size: 2rem !important;
    line-height: 1;
    height: 8rem;
    padding: 15px 0;
  }
  .apply_pre_reserve_btn {
    margin: 0 auto 2rem;
  }
  .apply aside ul {
    margin-top: 1rem;
  }
  .apply aside ul li {
    font-size: 1.5rem !important;
    margin-bottom: 0;
  }
  .apply_reserve_btn a span {
    font-size: 1.2rem !important;
  }
  .apply aside {
    line-height: 1.7;
    font-size: 1.5rem !important;
  }
}
.apply_top {
  padding: 0 7%;
}
/*
===============================================================================
■ detail.php - cancel
===============================================================================
*/
.cancel p {
  margin-bottom: 5rem;
}
.cancel .f-container {
  align-items: center;
}
.cancel .cancel_chart {
  border-top: solid 1px #1375A2;
  border-left: solid 1px #1375A2;
  margin-bottom: 5rem;
}
.cancel .f-col-1 {
  width: 70%;
  border-right: solid 1px #1375A2;
  border-bottom: solid 1px #1375A2;
}
.cancel .f-col-2 {
  width: 30%;
  border-right: solid 1px #1375A2;
  border-bottom: solid 1px #1375A2;
}
.cancel .cancel_title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  background: #1375A2;
  padding: .5rem 1.2rem;
}
.cancel ol li {
  list-style: none;
  font-size: 1.4rem;
  border-bottom: solid 1px #1375A2;
  padding: .5rem 1.2rem;
}
.cancel ol li:first-child {
  color: #1375A2;
  font-size: 1.2rem;
  background: #D0E3EC;
  padding: 0 1.2rem;
}
.cancel ol li:last-child {
  border: none;
}
.cancel .cancel_table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #1375A2;
  margin-bottom: 5rem;
  table-layout: fixed;
}
.cancel .cancel_table th,
.cancel .cancel_table td {
  border: solid 1px #1375A2;
  padding: .5rem 1.2rem;
  font-size: 1.4rem;
  vertical-align: middle;
}
.cancel .cancel_table_th {
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  background: #1375A2;
}
.cancel .cancel_table th:first-child,
.cancel .cancel_table td:first-child {
  width: 70%;
}
.cancel .cancel_table th:last-child,
.cancel .cancel_table td:last-child {
  width: 30%;
}
.cancel .contact {
  display: block;
  width: 100%;
  background: #1375A2;
  margin: 0 auto;
  padding: 2rem 0;
  border-radius: 6rem;
  text-align: center;
  font-size: 2rem;
  color: #fff;
}
.cancel .contact img {
  width: 70%;
}
@media screen and (max-width: 560px) {
  .cancel p {
    margin-bottom: 3rem;
  }
  .cancel .f-col-1 {
    width: 68%;
  }
  .cancel .f-col-2 {
    width: 32%;
  }
  .cancel .cancel_title {
    font-size: 1.4rem !important;
    padding: 0.3rem 1.2rem;
    text-align: start;
  }
  .cancel ol li {
    height: 54px;
    font-size: 1.3rem !important;
  }
  .cancel ol li:first-child {
    height: auto;
    font-size: 1rem !important;
    letter-spacing: 0rem;
  }
  .cancel .cancel_chart {
    margin-bottom: 4.5rem;
  }
  .cancel .contact img {
    width: 90%;
  }
  .cancel .contact {
    font-size: 1.6rem !important;
  }
}
@media screen and (max-width: 320px) {
  .cancel ol li:first-child {
    height: 36px;
  }
}
/*
===============================================================================
■ retreat Top
===============================================================================
*/
.to_retreat_top {
  position: relative;
  margin: 50px auto 20px;
  text-align: center;
}
.to_retreat_top a {
  color: #2f3c45;
}
.to_retreat_top p a:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 8px 4px 0;
  border-color: transparent #2f3c45 transparent transparent;
  position: absolute;
  left: 34%;
  top: 30%;
  content: '';
}
.voice_movie {
  padding: 12rem 7% 0;
}
@media screen and (max-width: 560px) {
  .to_retreat_top p a:before {
    left: 25%;
  }
  .voice_movie {
    padding: 6rem 5% 0;
  }
}
/*
===============================================================================
■ calendar
===============================================================================
*/
#calendar_area {
  padding-top: 12rem;
}
@media screen and (max-width: 560px) {
  #calendar_area {
    padding-top: 6rem;
  }
}
/*
===============================================================================
■ archive
===============================================================================
*/
#archive_area {
  padding: 12rem 7% 0;
  height: 70rem;
  margin-bottom: 5rem;
  overflow: hidden;
}
h1.heading01 {
  text-align: center;
  color: #1375A2;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
table.tableType01.mt10.medeaTable {
  background: #fff;
  border-collapse: collapse;
}
.tableType01 th, .tableType01 td {
  padding: .5rem 1rem;
  border: solid 1px #E6E6E6;
  font-size: 1.4rem;
}
.row.mb40 {
  margin: 0 2rem;
}
.selectBox {
  padding: 0.5rem;
  border: solid 1px #E6E6E6;
  width: 12%;
  margin-left: auto;
  margin-bottom: 2.5rem;
  border-radius: 5px;
  position: relative;
}
.tableType01 th.level01 {
  background: #1375A2;
  color: #fff;
}
#iframe01 {
  width: 100%;
  height: 70rem;
}
select {
  width: 100%;
  appearance: auto;
}
@media screen and (max-width: 560px) {
  #archive_area {
    padding: 6rem 2% 0;
  }
  .tableType01 th, .tableType01 td {
    padding: 4px 4px !important;
    font-size: 11px !important;
    letter-spacing: -0.05rem;
    line-height: 1.3;
  }
  .row.mb40 {
    margin: 0;
  }
  .selectBox {
    width: 20%;
    margin-bottom: 2rem;
  }
}
/*
===============================================================================
■ footer
===============================================================================
*/
footer {
  position: relative;
  font-size: 1.2rem;
  background: #1375A2;
  padding: 40px;
  margin: 0 auto;
  z-index: 999;
  max-width: 768px;
}
footer .footer_nav {
  width: 100%;
  text-align: center;
  margin: 0 auto 20px;
}
footer .footer_nav ul li {
  display: inline-block;
}
footer .footer_nav ul li:before {
  content: "";
  display: inline-block;
  height: 1em;
  border-left: 1px solid #fff;
  vertical-align: middle;
}
footer .footer_nav ul li:first-child:before, footer .footer_nav ul li:nth-child(8):before {
  border-left: none;
}
footer .footer_nav a {
  position: relative;
  display: inline-block;
  line-height: 2.5em;
  box-sizing: border-box;
  padding: 0 1em;
  color: #fff;
}
footer .footer_nav a :link {
  color: #fff;
}
@media screen and (max-width: 1024px) {
  footer .footer_nav {
    max-width: 900px;
  }
  footer .footer_nav ul li:nth-child(8):before {
    border-left: 1px solid #fff;
  }
}
@media screen and (max-width: 820px) {
  footer .footer_nav ul li:nth-child(6):before {
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(7):before {
    border-left: 1px solid #fff;
  }
}
@media screen and (max-width: 768px) {
  footer {
    width: 100%;
    font-size: 1.2rem !important;
  }
  footer .footer_nav {
    width: 700px;
  }
  footer .footer_nav ul li:last-child:before {
    border-left: none;
  }
}
@media screen and (max-width: 560px) {
  footer {
    padding-bottom: 70px;
  }
  .footer_inner_end footer {
    padding-bottom: 20px;
  }
  footer .footer_nav {
    width: 96%;
    max-width: 360px;
  }
  footer .footer_nav ul li:nth-child(odd):before {
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(6):before, footer .footer_nav ul li:last-child:before {
    border-left: 1px solid #fff;
  }
  _::-webkit-full-page-media, _:future, :root #personal footer {
    margin-bottom: 20px;
  }
  footer {
    padding: 4rem 1rem 8rem;
  }
  .detail277 footer, .detail289 footer, .detail308 footer, .detail313 footer {
    padding: 4rem 1rem 16rem;
  }
}
@media screen and (max-width: 320px) {
  footer .footer_nav ul li:nth-child(6):before, footer .footer_nav ul li:nth-child(8):before {
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(7):before {
    border-left: 1px solid #fff;
  }
}
/*
===============================================================================
■ pageTop
===============================================================================
*/
#pageTop {
  position: fixed;
  width: 100px;
  height: 100px;
  font-size: 3rem;
  text-align: center;
  line-height: 100px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  bottom: 16px;
  right: 16px;
  z-index: 9999;
}
#pageTop:hover {
  opacity: 0.85;
}
#pageTop a {
  display: block;
  text-decoration: none;
}
#pageTop a:link, #pageTop a:visited, #pageTop a:hover, #pageTop a:active {
  color: #1375A2;
}
@media screen and (max-width: 820px) {
  #pageTop {
    position: relative;
    width: 100%;
    height: 80px;
    line-height: 80px;
    background: #fff;
    border-radius: 0;
    bottom: 0;
    right: 0;
  }
}
@media screen and (max-width: 560px) {
  #pageTop {
    height: 60px;
    font-size: 2rem !important;
    line-height: 60px;
  }
}
/*
===============================================================================
■ copyright
===============================================================================
*/
#copyright {
  color: #fff;
  font-size: 10px;
  text-align: center;
}
/*=========
accordion
=========*/
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  max-width: 900px;
  margin: 0 auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  /*		border: 1px solid #1375A2;*/
}
/*アコーディオンタイトル*/
.title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1.6rem !important;
  font-weight: normal;
  padding: 3% 3% 3% 4.5rem;
  transition: all .5s ease;
  background: #D0E3EC;
  color: #1375A2;
}
/*アイコンの＋と×*/
.title::before, .title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #1375A2;
}
.title::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}
.title::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-area .box {
  display: none; /*はじめは非表示*/
  background: #fff;
  padding: 3% 6%;
}
/*=========
base
=========*/
.s_section {
  max-width: 1020px;
  margin: 0 auto;
  padding: 2rem 10px;
}
.gutter > *:not(:last-child) {
  margin-bottom: 1.5rem;
}
ul.list-disc {
  margin-bottom: 0;
  padding-left: 0;
}
.list-disc__item {
  margin-left: 1.5em;
  list-style: disc;
}
a._a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 2.0em 1.0em;
  border: 1px solid #222222;
  background: linear-gradient(to right, #ffffff 50%, #222222 50%);
  background-size: 200% auto;
  box-sizing: border-box;
  color: #222222;
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  transition: .3s;
  position: relative;
}
a._a:after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 100%;
  height: 100%;
  border-right: 1px solid #222222;
  border-bottom: 1px solid #222222;
}
a._a:hover {
  color: #ffffff;
  background-position: -100% 0;
}
/* 251225 STOP LINEバナー新設 */
.banner img {
  display: block;
  width: 80%;
  margin: 1.5rem auto 0;
}
@media screen and (min-width: 599px) {
  .banner img {
    display: block;
    width: 80%;
    margin: 3rem auto 0;
  }
  #personal .banner img {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
}
/* 260105 プレミアムメンバーシップのご案内 */
.topIntroduction .premium_member_about {
  max-width: 600px;
  text-align: left;
  background: #d2e5ee;
  padding: 4% 6%;
  margin: 2rem auto 0;
}
.price_box .premium_member_about {
  width: 90%;
  background: #d2e5ee;
  padding: 2% 4%;
  margin: 2rem auto 0;
}
.topIntroduction .premium_member_about h3 {
  color: #1375A0;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: .5rem;
}
.topIntroduction .premium_member_about p {
  line-height: 1.8;
}
.price_box .premium_member_about p {
  font-size: 2rem;
}
.topIntroduction .premium_member_about p a, .price_box .premium_member_about p a {
  color: #1375A0;
  font-weight: bold;
  text-decoration: underline;
}
@media screen and (max-width: 599px) {
  .topIntroduction .premium_member_about {
    padding: 5% 7%;
  }
  .topIntroduction .premium_member_about h3 {
    font-size: 1.6rem;
    margin-bottom: .3rem;
  }
  .price_box .premium_member_about {
    margin: 1.2rem auto 0;
  }
  .price_box .premium_member_about p {
    font-size: 1.8rem;
  }
}
/* footerにSNSアイコン追加 */
.sns_link {
  float: right;
}
.sns_link a {
  display: inline-block;
}
.sns_link img {
  width: 40px;
}
@media screen and (max-width: 560px) {
  .sns_link img {
    width: 34px;
  }
}
/*
===============================================================================
■ 202604追加 リトリートコラム
===============================================================================
*/
/* =========================
   コラムリスト
========================= */
.retreatColumnNews {
  padding: 6rem 7% 3rem;
}
.retreatColumnNews_tit {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin: 0;
}
/* リスト */
.retreatColumnNews_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* 1記事 */
.retreatColumnNews_item {
  border-bottom: 1px solid #ddd;
}
/* リンク全体 */
.retreatColumnNews_link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
  text-decoration: none;
  color: #333;
}
/* hover */
.retreatColumnNews_link:hover {
  opacity: 0.7;
}
/* サムネ */
.retreatColumnNews_thumb {
  width: 120px;
  flex-shrink: 0;
}
.retreatColumnNews_thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
/* テキスト */
.retreatColumnNews_text {
  flex: 1;
}
/* 日付 */
.retreatColumnNews_date {
  font-size: 12px;
  color: #888;
  margin-bottom: 6px;
}
/* タイトル */
.retreatColumnNews_title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
/* もっと見るボタン */
.retreatColumnNews_more {
  text-align: center;
  margin-top: 30px;
}
.retreatColumnNews_more a {
  display: inline-block;
  background-color: #1375A2;
  color: #fff;
  padding: 8px 40px 8px 30px;
  border-radius: 999px;
  text-decoration: none;
  position: relative;
  font-weight: bold;
}
.retreatColumnNews_more a::after {
  content: "＞";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}
.retreatColumnNews_more a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 560px) {
  .retreatColumnNews {
    padding: 3rem 10% 0;
  }
  .retreatColumnNews_link {
    gap: 12px;
  }
  .retreatColumnNews_thumb {
    width: 90px;
  }
  .retreatColumnNews_title {
    font-size: 14px;
  }
}
