@charset "UTF-8";
/**$txt:#333;
$txt2: #3e5059;**/
.main-master .page-name {
  color: #000;
  top: 60%; }
@media screen and (max-width: 768px) {
  .main-master .page-name {
    top: 68%; } }

.lead.center {
  text-align: center; }

.en-title {
  font-size: 26px;
  letter-spacing: 10%;
  text-align: center;
  @inckude en;
  margin-top: 0.5em; }

.merit2 {
  display: block;
  text-align: center !important;
  width: 100%;
  padding: 25px 0;
  background: #dde4e6; }
  .merit2 img {
    max-width: 1000px;
    width: 86%;
    margin: auto; }
  @media screen and (max-width: 600px) {
    .merit2 img {
      max-width: 400px; } }

.plan-sec01 {
  display: flex;
  justify-content: space-between;
  width: 88%;
  max-width: 1100px;
  margin: auto;
  font-size: 10px; }
  .plan-sec01 li {
    width: 50%;
    box-sizing: border-box; }
    .plan-sec01 li .sec1-obi {
      background: linear-gradient(to right, #346d71, #152c2e);
      text-align: center;
      color: #fff;
      font-size: 2em;
      padding: 0.2em; }
      .plan-sec01 li .sec1-obi b {
        font-size: 150%; }
    .plan-sec01 li .img {
      margin-top: 2em; }
    .plan-sec01 li .lead {
      font-size: 1.6em;
      margin-top: 1.5em; }
    .plan-sec01 li:nth-child(1) {
      padding-right: 5%; }
    .plan-sec01 li:nth-child(2) {
      padding-left: 5%;
      border-left: 1px solid #ccc; }
  @media screen and (max-width: 600px) {
    .plan-sec01 {
      display: block;
      width: 100%; }
      .plan-sec01 li {
        width: 100%; }
        .plan-sec01 li .img {
          width: 88%;
          margin: auto;
          margin-top: 2em; }
        .plan-sec01 li .lead {
          width: 88%;
          margin: auto;
          margin-top: 1.5em; }
        .plan-sec01 li:nth-child(1) {
          padding-right: 0%;
          margin-bottom: 2rem; }
        .plan-sec01 li:nth-child(2) {
          padding-left: 0%;
          border-left: none; } }

.main-master2 {
  background: linear-gradient(to bottom, #efefef, #fff); }

.concept-sec {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  /**margin-top: 5em;**/ }
  .concept-sec .con-body {
    /**background:linear-gradient(to bottom, #efefef, #fff);**/
    padding-top: 3rem;
    padding-bottom: 0.1rem; }
    .concept-sec .con-body .lead {
      text-align: center;
      font-size: 1.1rem;
      line-height: 2.4; }
    .concept-sec .con-body .cont-top-btn a {
      margin: auto; }
  .concept-sec .concept-img2 {
    margin: auto;
    max-width: 740px;
    width: 80%;
    margin-bottom: 3rem; }
  @media screen and (max-width: 600px) {
    .concept-sec {
      /**margin-top: 4em;**/ }
      .concept-sec .con-body {
        /**background:linear-gradient(to bottom, #f6f6f6, #fff);**/ }
        .concept-sec .con-body .lead {
          text-align: left;
          width: 88%;
          margin: auto; }
          .concept-sec .con-body .lead br {
            display: none; }
      .concept-sec .concept-img2 {
        width: 90%; } }

.side-plan {
  width: 88%;
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  font-size: 10px; }
  .side-plan .main {
    width: calc(100% - 420px);
    box-sizing: border-box;
    padding-top: 15em;
    padding-left: 12%;
    padding-bottom: 5em; }
    .side-plan .main .photo {
      width: 100%;
      margin-bottom: 5em; }
      .side-plan .main .photo .note {
        line-height: 1.2;
        margin-top: 4px; }
  .side-plan .sidebar {
    width: 420px;
    padding-top: 15em; }
    .side-plan .sidebar .img {
      padding-bottom: 5em; }
  .side-plan .widget--sticky {
    position: sticky;
    top: 15em;
    /* スクロール時にビューポートの20px位置に達すると固定 */ }
  @media screen and (max-width: 600px) {
    .side-plan {
      display: block; }
      .side-plan .main {
        padding-top: 15em;
        padding-left: 0;
        margin: auto;
        padding-top: 1em;
        width: 90%; }
      .side-plan .sidebar {
        margin: auto;
        width: 90%;
        padding-top: 1em; } }

.page-head.plan-under {
  margin-bottom: -12em;
  font-size: 9px; }
@media screen and (max-width: 600px) {
  .page-head.plan-under {
    margin-bottom: 0em;
    font-size: 7px; } }

.plan-btn-sec {
  background: #dee4e6;
  font-size: 10px; }
  .plan-btn-sec .inner {
    padding: 5em 0 8em;
    max-width: 960px; }
    .plan-btn-sec .inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      padding-top: 2em; }
      .plan-btn-sec .inner ul li {
        width: 47%;
        margin-right: 6%;
        margin-top: 4em; }
        .plan-btn-sec .inner ul li:nth-child(2n) {
          margin-right: 0; }
        .plan-btn-sec .inner ul li a {
          display: block;
          background: #fff; }
          .plan-btn-sec .inner ul li a img {
            transition: 0.5s opacity; }
          .plan-btn-sec .inner ul li a:hover img {
            opacity: 0.55; }
  @media screen and (max-width: 600px) {
    .plan-btn-sec {
      font-size: 8px; }
      .plan-btn-sec .inner {
        width: 84%; }
        .plan-btn-sec .inner ul li {
          width: 100%;
          margin-right: 0; } }

.hyoka-sec {
  font-size: 10px; }
  .hyoka-sec .inner {
    padding: 0.1em 0 5em;
    width: 84%; }
    .hyoka-sec .inner .img {
      max-width: 360px;
      margin: auto; }

.slide-contents {
  font-size: 10px; }

.thumb-top,
.thumb-bottom {
  display: flex;
  flex-wrap: nowrap !important;
  width: 100%;
  position: relative;
  overflow: hidden; }
  .thumb-top .slick-list,
  .thumb-bottom .slick-list {
    display: flex !important;
    flex-wrap: nowrap !important; }
  .thumb-top .slick-track,
  .thumb-bottom .slick-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    position: inherit !important;
    left: inherit !important;
    top: inherit !important; }
  .thumb-top .slick-slide,
  .thumb-bottom .slick-slide {
    width: 33.3% !important;
    display: block !important;
    cursor: pointer !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
    .thumb-top .slick-slide:nth-child(1),
    .thumb-bottom .slick-slide:nth-child(1) {
      position: relative !important;
      background: #9db2c1 !important;
      z-index: 3 !important; }
      .thumb-top .slick-slide:nth-child(1).slick-current,
      .thumb-bottom .slick-slide:nth-child(1).slick-current {
        background: #3b6583 !important;
        z-index: 5 !important; }
    .thumb-top .slick-slide:nth-child(2),
    .thumb-bottom .slick-slide:nth-child(2) {
      position: relative !important;
      background: #99bcbf !important;
      z-index: 2 !important; }
      .thumb-top .slick-slide:nth-child(2).slick-current,
      .thumb-bottom .slick-slide:nth-child(2).slick-current {
        background: #337980 !important;
        z-index: 5 !important; }
    .thumb-top .slick-slide:nth-child(3),
    .thumb-bottom .slick-slide:nth-child(3) {
      position: relative !important;
      background: #99bfcb !important;
      z-index: 1 !important; }
      .thumb-top .slick-slide:nth-child(3).slick-current,
      .thumb-bottom .slick-slide:nth-child(3).slick-current {
        background: #267891 !important;
        z-index: 5 !important; }

.thumb-top li {
  padding: 1rem;
  text-align: center !important; }
  .thumb-top li img {
    height: auto;
    width: 90%;
    max-width: 30rem;
    margin: auto; }
  @media screen and (max-width: 600px) {
    .thumb-top li {
      padding: 0.5rem 0.5rem 0;
      text-align: center !important; }
      .thumb-top li img {
        height: 3.3rem !important;
        width: auto !important;
        margin: auto; } }

.thumb-bottom {
  display: none !important; }
  .thumb-bottom li {
    padding: 0.2rem;
    text-align: center !important; }
    .thumb-bottom li img {
      height: 2.4rem !important;
      width: auto !important;
      margin: auto; }
  @media screen and (max-width: 768px) {
    .thumb-bottom {
      display: block !important; } }

.s-main-sec {
  box-sizing: border-box;
  border: 3px solid #99bfcb;
  padding: 3em 5%;
  display: block;
  width: 100%; }
  .s-main-sec.sl-sec01 {
    border: 3px solid #3b6583; }
  .s-main-sec.sl-sec02 {
    border: 3px solid #337980; }
  .s-main-sec.sl-sec03 {
    border: 3px solid #267891; }
  .s-main-sec img {
    width: 100%;
    height: auto; }

.slick-arrow.slick-prev, .slick-arrow.slick-next {
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  background: none;
  z-index: 5;
  top: 25%; }
  .slick-arrow.slick-prev::before, .slick-arrow.slick-next::before {
    z-index: -9999px;
    display: none; }
  .slick-arrow.slick-prev:hover, .slick-arrow.slick-next:hover {
    background: none; }
  @media screen and (max-width: 768px) {
    .slick-arrow.slick-prev, .slick-arrow.slick-next {
      display: none; } }
.slick-arrow.slick-prev {
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
  left: 2.5%;
  transform: translateY(-50%) rotate(45deg); }
.slick-arrow.slick-next {
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  right: 2.5%;
  transform: translateY(-50%) rotate(-45deg); }

.hanrei {
  margin-bottom: 3rem;
  font-size: 0.8em; }
  .hanrei img {
    height: 10px;
    width: auto;
    margin-right: 5px;
    vertical-align: middle; }
  .hanrei > .aw {
    margin-right: 15px; }

.plan-detail .hanrei {
  margin-bottom: 3rem;
  width: 100%; }
  .plan-detail .hanrei img {
    height: 10px;
    width: auto;
    margin-right: 5px;
    vertical-align: middle; }
  .plan-detail .hanrei > .aw {
    margin-right: 15px; }

.plan-head {
  background: #efefef; }
  .plan-head .breadcrumbs {
    background: none; }

.l-bold {
  font-weight: bold;
  color: #3b6583;
  font-size: 140%; }

.plan-obi {
  background: #dde4e6;
  box-sizing: border-box;
  padding: 5em 5% 4em;
  margin: 7em 0 5em;
  position: relative; }
  .plan-obi .obi-sankaku {
    margin: auto;
    width: 60%;
    max-width: 300px;
    margin-bottom: 4em;
    display: block;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .plan-obi .obi-sankaku img {
      width: 100%;
      height: auto; }
  .plan-obi .obi-midashi {
    text-align: center;
    margin: auto;
    max-width: 960px;
    border-bottom: 1px solid #bbb;
    font-feature-settings: "palt";
    letter-spacing: 15%;
    font-size: 1.6em;
    color: #62562a;
    padding-bottom: 0.6em; }
    .plan-obi .obi-midashi b {
      font-weight: lighter;
      font-size: 140%; }
  .plan-obi .obi-lead {
    text-align: center;
    margin: auto;
    font-feature-settings: "palt";
    letter-spacing: 10%;
    font-size: 1.4em;
    color: #62562a;
    padding-bottom: 0.6em;
    margin-top: 0.7em;
    line-height: 1.6;
    /**b{
    	font-weight: lighter;
    	font-size: 140%;
    }**/ }
    .plan-obi .obi-lead .l-bold {
      font-size: 100%;
      font-weight: bold;
      color: #3b6583; }
  @media screen and (max-width: 600px) {
    .plan-obi {
      margin: 5em 0 5em; }
      .plan-obi .obi-midashi {
        font-size: 1.4em; }
      .plan-obi .obi-lead {
        font-size: 1.2em; } }

.sq-num {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  box-sizing: content-box;
  background: #4f7a7e;
  text-align: center;
  line-height: 0.7rem;
  margin: 0 0.1rem;
  color: #fff; }

.slide-plan .tabs {
  display: flex;
  flex-wrap: nowrap !important;
  width: 100%;
  position: relative;
  overflow: hidden; }
  .slide-plan .tabs .tab {
    cursor: pointer;
    width: 33.3% !important;
    display: block !important;
    cursor: pointer !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    transition: 0.5s background; }
    .slide-plan .tabs .tab .img {
      cursor: pointer; }
    .slide-plan .tabs .tab:nth-child(1) {
      position: relative !important;
      background: #9db2c1 !important;
      z-index: 3 !important; }
      .slide-plan .tabs .tab:nth-child(1):hover {
        background: #3b6583 !important; }
      .slide-plan .tabs .tab:nth-child(1).active {
        background: #3b6583 !important;
        z-index: 5 !important; }
    .slide-plan .tabs .tab:nth-child(2) {
      position: relative !important;
      background: #99bcbf !important;
      z-index: 2 !important; }
      .slide-plan .tabs .tab:nth-child(2):hover {
        background: #337980 !important; }
      .slide-plan .tabs .tab:nth-child(2).active {
        background: #337980 !important;
        z-index: 5 !important; }
    .slide-plan .tabs .tab:nth-child(3) {
      position: relative !important;
      background: #99bfcb !important;
      z-index: 1 !important; }
      .slide-plan .tabs .tab:nth-child(3):hover {
        background: #267891 !important; }
      .slide-plan .tabs .tab:nth-child(3).active {
        background: #267891 !important;
        z-index: 5 !important; }
.slide-plan #tabs-top .tab {
  padding: 1rem;
  text-align: center !important; }
  .slide-plan #tabs-top .tab img {
    height: auto;
    width: 90%;
    max-width: 35rem;
    margin: auto; }
  @media screen and (max-width: 600px) {
    .slide-plan #tabs-top .tab {
      padding: 0.5rem 0.5rem 0;
      text-align: center !important; }
      .slide-plan #tabs-top .tab img {
        height: 3.3rem !important;
        width: auto !important;
        margin: auto; } }
.slide-plan #tabs-bottom {
  display: none !important; }
  .slide-plan #tabs-bottom .tab {
    padding: 1rem;
    text-align: center !important; }
    .slide-plan #tabs-bottom .tab img {
      height: auto;
      width: 90%;
      max-width: 35rem;
      margin: auto; }
    @media screen and (max-width: 600px) {
      .slide-plan #tabs-bottom .tab {
        padding: 0 0.5rem 0.5rem;
        text-align: center !important; }
        .slide-plan #tabs-bottom .tab img {
          height: 3.3rem !important;
          width: auto !important;
          margin: auto; } }
  @media screen and (max-width: 768px) {
    .slide-plan #tabs-bottom {
      display: flex !important; } }
.slide-plan .panel {
  display: none;
  position: relative;
  z-index: 4; }
  .slide-plan .panel.active {
    display: block; }
.slide-plan .arrow-wrapper {
  position: relative; }
.slide-plan .arrow {
  cursor: pointer;
  user-select: none;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  background: none;
  z-index: 5;
  top: 50%;
  transition: 0.5s transform; }
  .slide-plan .arrow::before {
    z-index: -9999px;
    display: none; }
  @media screen and (max-width: 768px) {
    .slide-plan .arrow {
      /**display: none;**/ } }
  .slide-plan .arrow#arrow-left {
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
    left: 2.5%;
    transform: translateY(-50%) rotate(45deg); }
    .slide-plan .arrow#arrow-left:hover {
      transform: translateX(-50%) translateY(-50%) rotate(45deg); }
  .slide-plan .arrow#arrow-right {
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    right: 2.5%;
    transform: translateY(-50%) rotate(-45deg); }
    .slide-plan .arrow#arrow-right:hover {
      transform: translateX(50%) translateY(-50%) rotate(-45deg); }

.entrystep-sec {
  text-align: center;
  font-size: 10px; }
  .entrystep-sec .inner {
    padding-top: 0 !important;
    padding-bottom: 8em; }
  .entrystep-sec .estp-ttl {
    color: #000;
    font-size: 2.8em;
    margin-top: 2em;
    letter-spacing: 10%;
    position: relative;
    display: inline-block;
    padding: 0 0.8em; }
    .entrystep-sec .estp-ttl:before, .entrystep-sec .estp-ttl:after {
      content: "";
      width: 0.4em;
      position: absolute;
      top: 0.1em;
      bottom: 0.1em;
      border: 2px solid #000; }
      @media screen and (max-width: 768px) {
        .entrystep-sec .estp-ttl:before, .entrystep-sec .estp-ttl:after {
          display: none; } }
    .entrystep-sec .estp-ttl:before {
      left: 0;
      border-right: none; }
    .entrystep-sec .estp-ttl:after {
      right: 0;
      border-left: none; }
    @media screen and (max-width: 768px) {
      .entrystep-sec .estp-ttl {
        padding: 0 0em; } }
  .entrystep-sec .lead {
    font-size: 2em;
    margin-top: 1em;
    margin-bottom: 1.6em;
    color: #12475d; }
  .entrystep-sec .conversion {
    margin-top: 3rem;
    padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .entrystep-sec {
      font-size: 8px; }
      .entrystep-sec .estp-ttl {
        max-width: 500px;
        padding: 0 1.5em;
        font-size: 2.5em; }
        .entrystep-sec .estp-ttl:before, .entrystep-sec .estp-ttl:after {
          width: 1em; }
      .entrystep-sec .lead.center {
        text-align: left !important; } }

.estp-list {
  display: flex;
  font-size: 10px;
  padding-bottom: 2rem; }
  .estp-list li {
    width: 32%;
    margin-right: 2%;
    text-align: center;
    margin-top: 3em;
    background: #f5f7f7;
    box-sizing: border-box;
    border: 1px solid #aaa;
    position: relative;
    padding: 3.4em 1.8em 1.8em; }
    .estp-list li:nth-child(3) {
      margin-right: 0; }
    .estp-list li .estp-icon {
      position: absolute;
      height: auto;
      width: 23%;
      left: 0;
      top: 0;
      transform: translate(-22%, -22%); }
      .estp-list li .estp-icon img {
        width: 100%;
        height: auto; }
    .estp-list li .img {
      margin: auto;
      width: 90%;
      max-width: 30em; }
    .estp-list li p {
      font-size: 1.6em;
      color: #000;
      border-top: 1px solid #12475d;
      padding-top: 1.2em;
      margin-top: 1.2em;
      text-align: left; }
  @media screen and (max-width: 1200px) {
    .estp-list {
      font-size: 0.85vw; } }
  @media screen and (max-width: 768px) {
    .estp-list {
      display: block;
      margin: auto;
      max-width: 400px;
      font-size: 1.5vw;
      width: 90%; }
      .estp-list li {
        width: 100%; } }
  @media screen and (max-width: 600px) {
    .estp-list {
      font-size: 2.2vw; }
      .estp-list li .estp-icon {
        width: 18%; } }

.estp-list li .estp-icon img {
  opacity: 0; }
.estp-list.aos-animate li .estp-icon img {
  opacity: 0; }
.estp-list.aos-animate li:nth-child(1) .estp-icon img {
  animation: fadeInOut1 10s infinite; }
.estp-list.aos-animate li:nth-child(2) .estp-icon img {
  animation: fadeInOut2 10s infinite; }
.estp-list.aos-animate li:nth-child(3) .estp-icon img {
  animation: fadeInOut3 10s infinite; }
@keyframes fadeInOut1 {
  0% {
    opacity: 0;
    /* 最初：非表示 */ }
  10% {
    opacity: 1;
    /* 1秒かけてふわっと表示（全体の25%をフェードインに） */ }
  70% {
    opacity: 1;
    /* ここまで表示維持（3秒間見えている状態） */ }
  80% {
    opacity: 0;
    /* 最後にふわっと消える */ } }
@keyframes fadeInOut2 {
  10% {
    opacity: 0;
    /* 最初：非表示 */ }
  20% {
    opacity: 1;
    /* 1秒かけてふわっと表示（全体の25%をフェードインに） */ }
  70% {
    opacity: 1;
    /* ここまで表示維持（3秒間見えている状態） */ }
  80% {
    opacity: 0;
    /* 最後にふわっと消える */ } }
@keyframes fadeInOut3 {
  20% {
    opacity: 0;
    /* 最初：非表示 */ }
  30% {
    opacity: 1;
    /* 1秒かけてふわっと表示（全体の25%をフェードインに） */ }
  70% {
    opacity: 1;
    /* ここまで表示維持（3秒間見えている状態） */ }
  80% {
    opacity: 0;
    /* 最後にふわっと消える */ } }
