@charset "UTF-8";
/* CSS Document */
/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  width: 100%;
  height: 100%; }

*, ::before, ::after {
  box-sizing: inherit; }

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  background-repeat: no-repeat;
  padding: 0;
  margin: 0; }

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block; }

small {
  font-size: 80%; }

[hidden], template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

a {
  color: #033857;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none; }

a:active, a:hover {
  outline-width: 0; }

b, strong {
  font-weight: bolder; }

input {
  border-radius: 0; }

button, [type="button"], [type="reset"], [type="submit"] [role="button"] {
  cursor: pointer; }

[disabled] {
  cursor: default; }

[type="number"] {
  width: auto; }

[type="search"] {
  -webkit-appearance: textfield; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: bold; }

button {
  overflow: visible; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button, select {
  text-transform: none; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

svg:not(:root) {
  overflow: hidden; }

::-moz-selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none; }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: #f6fffe;
  color: #033857;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.05em;
  width: 100%;
  height: 100%; }

img {
  vertical-align: middle; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: 1em; }

p {
  margin: 0; }

ol, ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

dl, dd {
  margin: 0; }

small {
  font-size: 100%; }

em {
  font-style: normal; }

::-moz-selection {
  background: white; }

::selection {
  background: white; }

/*
style
*/
/* modal */
.modaal-inner-wrapper {
  background: rgba(0, 0, 0, 0.5); }

.modaal-video-wrap {
  margin: auto 0; }

.modaal-close:after,
.modaal-close:before {
  background: #ccc; }

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666; }

.modaal-close:after,
.modaal-close:before {
  width: 2px;
  border-radius: 0; }

img {
  max-width: 100%; }

.pc {
  display: none; }

h1, h2, h3, h4 {
  letter-spacing: .1em; }

.header {
  height: 0;
  position: relative; }
  .header .header__logoLink {
    display: block;
    width: 80px;
    height: 80px;
    background: url(../images/logo.png);
    background-size: 100%;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    position: absolute;
    top: 10px;
    left: 10px; }

.nav {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  z-index: 10; }
  .nav .nav__btn {
    display: block;
    padding: 12px 25px 12px 0;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 101;
    line-height: 80px; }
    .nav .nav__btn .nav__btnToggle,
    .nav .nav__btn .nav__btnToggle::before,
    .nav .nav__btn .nav__btnToggle::after {
      content: "";
      position: absolute;
      display: block;
      width: 2px;
      height: 24px;
      border-color: #748f09;
      background: #748f09;
      cursor: pointer;
      -webkit-transition: all 300ms ease-in-out;
      transition: all 300ms ease-in-out;
      top: 0;
      left: 8px; }
    .nav .nav__btn .nav__btnToggle::before {
      left: -8px; }
    .nav .nav__btn .nav__btnToggle::after {
      left: 8px; }
  .nav .nav__btn.active .nav__btnToggle {
    background-color: transparent; }
  .nav .nav__btn.active .nav__btnToggle::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
    left: 0;
    border-color: #748f09;
    background: #748f09; }
  .nav .nav__btn.active .nav__btnToggle::after {
    top: 10px;
    left: 0;
    -webkit-transform: translatey(-10px) rotate(-45deg);
    -ms-transform: translatey(-10px) rotate(-45deg);
    transform: translatey(-10px) rotate(-45deg);
    border-color: #748f09;
    background: #748f09; }
  .nav .nav__wrap {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.95);
    transform: none; }
  .nav .nav__link {
    font-size: .9em;
    padding: 10px 0; }
  .nav .nav__wrap.enter {
    display: block;
    background: rgba(255, 255, 255, 0.95);
    opacity: 1;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal; }
  .nav .nav__wrap.leave {
    opacity: 0;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse; }
  .nav .nav__list {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .nav .nav__item {
    display: block;
    margin: 10px 0; }
  .nav .nav__link {
    font-family: 'Roboto', sans-serif;
    color: #24353f; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.element {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s; }

.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0); }

.btn__app {
  display: block;
  width: 120px;
  height: 120px;
  position: fixed;
  right: 5px;
  bottom: 10px;
  z-index: 30; }

main {
  overflow: hidden; }

.bg {
  width: 100%;
  height: 100vh;
  background: url(../images/bg.jpg) center;
  background-size: cover;
  position: fixed;
  z-index: -1; }

.mainVisual {
  width: 100%;
  height: 110vh;
  position: relative;
  color: white;
  background: url(../images/main_sp.png) center;
  background-size: cover; }
  .mainVisual .mainVisual__txtWrap {
    width: 80%;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
    white-space: nowrap;
    font-weight: bold; }
  .mainVisual .mainVisual__ttl {
    margin-top: 10px;
    font-size: 2em; }

.section {
  width: 90%;
  margin: 160px auto; }

.heading {
  font-family: 'Roboto', sans-serif;
  letter-spacing: .08em; }

.heading__txt {
  font-weight: bold;
  font-size: 1.6em;
  line-height: 1.6em; }

.heading + * {
  margin: 20px 0 40px; }

.heading__subTxt {
  font-weight: bold;
  font-size: 1.3em;
  line-height: 1.8em;
  text-align: center; }

.heading__subTxt + p {
  margin-top: 20px; }

.txt:nth-child(n+2) {
  margin-top: 20px; }

.descList .topic {
  font-weight: bold; }

.btn {
  display: block;
  width: 100%;
  line-height: 60px;
  margin: 40px auto;
  border: 1px solid #033857;
  text-align: center;
  font-weight: bold;
  font-size: 1.1em;
  overflow: hidden;
  position: relative;
  z-index: 1; }
  .btn.disable {
    color: #999;
    border: none;
    font-size: 1em;
    background: #ddd;
    box-shadow: none; }
  .btn::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #033857;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: 0.5s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1; }

.btn:hover {
  color: white; }
  .btn:hover::before {
    transform: scale(1, 1); }

.btn.wt {
  color: white;
  border-color: white; }
  .btn.wt::before {
    background: white; }

.btn.wt:hover {
  color: #033857; }

.btn.disable:hover {
  color: #999; }
  .btn.disable:hover::before {
    display: none; }

.btn.fixed {
  display: none;
  border: none;
  width: 100px;
  height: 100px;
  padding-top: 36px;
  margin: 0;
  font-size: .8em;
  line-height: 1.3em;
  color: white;
  background: #0eb2cd;
  background: -webkit-linear-gradient(-20deg, #1bb5b3 0%, #b15ea2 100%);
  background: linear-gradient(155deg, #1bb5b3 0%, #b15ea2 100%);
  box-shadow: rgba(0, 0, 0, 0.16) 0 3px 6px;
  border-radius: 50%;
  box-sizing: border-box;
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 10; }

.btn.fixed:hover::before {
  display: none; }

.layer .btn {
  background: white;
  box-shadow: 0 10px 30px rgba(22, 120, 132, 0.3); }

.trigger {
  display: block;
  margin-top: 20px;
  text-align: right;
  font-weight: bold;
  position: relative; }
  .trigger::after {
    content: "";
    display: inline-block;
    width: 36px;
    height: 4px;
    background: url(../images/ico_link.png);
    background-size: 100%;
    margin-left: 10px; }

.link {
  font-weight: bold;
  text-decoration: underline; }

.bold {
  font-weight: bold; }

.intro {
  color: white;
  position: relative; }
  .intro .intro__img {
    width: 90%;
    position: absolute;
    top: -15%;
    left: 8%;
    opacity: .3; }
  .intro .poetry {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 2.6em;
    letter-spacing: .2em;
    margin: 0 auto; }
  .intro .intro__copy {
    margin: 120px 0 40px;
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.6em; }

.project,
.voice01,
.contents,
.about,
.descInr {
  background-color: #f6fffe;
  width: 100%;
  padding: 80px 5%;
  margin: 0; }

.project {
  padding: 10px 5% 80px;
  margin: 260px auto 0; }
  .project .project__headingWrap {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    margin: -160px -3% 0;
    padding: 120px 0;
    color: white;
    text-shadow: 0 0 30px rgba(13, 18, 70, 0.8);
    text-align: center;
    font-weight: bold;
    background: url(../images/bg_project.jpg) center;
    background-size: cover; }
    .project .project__headingWrap .heading__txt {
      font-size: 2em;
      line-height: 1.2;
      margin-bottom: 0; }
    .project .project__headingWrap .subHeading {
      font-size: 1.2em;
      margin-top: 20px; }
  .project .leadTxt {
    margin-top: 40px;
    font-size: 1.2em;
    line-height: 1.8em;
    font-weight: bold;
    text-align: center; }
  .project .project__detail {
    position: relative; }
    .project .project__detail::before, .project .project__detail::after {
      content: "";
      display: block;
      opacity: .3;
      position: absolute; }
    .project .project__detail::before {
      width: 100%;
      padding-top: 112%;
      background: url(../images/whale_01.png);
      background-size: 100%;
      top: -40px;
      left: -10%; }
    .project .project__detail::after {
      width: 100%;
      padding-top: 55%;
      background: url(../images/whale_02.png);
      background-size: 100%;
      bottom: 200px;
      right: -20%; }
  .project .detail__item {
    margin-top: 80px;
    position: relative;
    z-index: 2; }
    .project .detail__item .lead {
      font-size: 1.2em;
      line-height: 2em;
      font-weight: bold;
      margin-bottom: 30px; }
    .project .detail__item .imgWrap {
      margin-top: 30px; }
    .project .detail__item .subTxtWrap {
      margin-top: 40px; }
    .project .detail__item .bold {
      font-size: 1.2em;
      margin-bottom: 20px; }
      .project .detail__item .bold span {
        display: block;
        font-weight: normal;
        font-size: .8em; }
  .project .addInfo > * {
    margin-top: 20px; }
  .project .addInfo h3 {
    font-size: 1.8rem;
    text-align: center; }

.videoWrap {
  margin-top: 40px;
  width: 100%;
  aspect-ratio: 16/9; }
  .videoWrap iframe {
    width: 100%;
    height: 100%; }

.voice01 {
  text-align: center;
  position: relative; }
  .voice01::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    box-sizing: border-box;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 50px solid #f6fffe;
    position: absolute;
    bottom: -50px;
    left: 0;
    z-index: 1; }
  .voice01 .voice01__list {
    margin-top: 40px; }
  .voice01 .voice01__item {
    margin: 0 auto;
    position: relative;
    z-index: 5;
    width: 300px;
    height: 240px; }
    .voice01 .voice01__item::before {
      content: "";
      display: block;
      width: 200px;
      height: 200px;
      background: white;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: -1;
      box-shadow: 0 10px 30px rgba(22, 120, 132, 0.1); }
    .voice01 .voice01__item .txtWrap {
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .voice01 .voice01__item .bold {
      line-height: 1.7em;
      margin-bottom: 8px; }
  .voice01 .drawing__list {
    margin: 40px 0;
    column-count: 2; }
  .voice01 .drawing__item {
    margin-top: 20px;
    break-inside: void; }
    .voice01 .drawing__item img {
      box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
      border-radius: 2px; }
  .voice01 .lead {
    font-size: 2em;
    margin-top: 40px; }

.guide {
  background: #e7f6f6;
  padding: 80px 5% 100px;
  position: relative; }
  .guide::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    box-sizing: border-box;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 50px solid #e7f6f6;
    position: absolute;
    bottom: -50px;
    left: 0; }
  .guide h2 {
    text-align: center; }

.flow .flow__list {
  margin-top: 60px; }
.flow .flow__item {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d6e3ea; }
.flow .flow__imgWrap {
  width: 80%;
  margin: 0 auto; }
.flow .subHeading {
  margin: 20px 0;
  font-size: 1.2em;
  text-align: center; }
  .flow .subHeading .num {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-style: italic;
    font-size: 1.6em;
    margin-right: 5px; }
  .flow .subHeading .min {
    display: block;
    font-weight: normal;
    font-size: .8em; }
.flow .flow__desc {
  font-size: 1.2em;
  font-weight: bold;
  margin-top: 20px; }

#application.flow .flow__imgWrap {
  width: 30%; }

.benefit {
  margin-top: 120px; }
  .benefit .benefit__list {
    margin-top: 60px; }
  .benefit .benefit__item {
    text-align: center;
    line-height: 1.7em; }
    .benefit .benefit__item:nth-child(n+2) {
      margin-top: 60px; }
    .benefit .benefit__item img {
      display: block;
      width: 50%;
      margin: 0 auto 10px; }

.plan {
  margin-top: 120px; }
  .plan .plan__list {
    margin-top: 40px; }
  .plan .plan__item {
    background: white;
    padding: 30px 5%;
    box-shadow: 0 10px 30px rgba(22, 120, 132, 0.1);
    margin-bottom: 10px; }
  .plan .plan__ttl {
    font-size: 1.2em; }
  .plan .plan__size {
    font-weight: bold;
    margin: 10px 0 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #d3e2eb; }
  .plan .plan__price {
    font-weight: bold;
    font-size: 1.4em; }
  .plan .desc {
    margin: 60px 0 20px;
    text-align: center; }

.schedule {
  margin-top: 120px; }
  .schedule .heading__subTxt {
    margin-bottom: 40px; }
  .schedule p {
    margin-top: 10px; }
  .schedule .bold {
    font-size: 1.1em; }
  .schedule .imgWrap {
    margin-top: 40px; }

.notice {
  margin-top: 40px; }
  .notice h3 {
    font-size: 1.2em; }
  .notice .notice__item {
    padding-left: 14px;
    margin-top: 10px;
    position: relative; }
    .notice .notice__item::before {
      content: "";
      display: block;
      width: 7px;
      height: 7px;
      background: #748f09;
      border-radius: 50%;
      position: absolute;
      top: 10px;
      left: 0; }

.voice02 {
  margin-top: 60px;
  position: relative;
  z-index: 5; }
  .voice02::before, .voice02::after {
    content: "";
    display: block;
    opacity: .2;
    position: absolute; }
  .voice02::before {
    width: 100%;
    padding-top: 68%;
    background: url(../images/voice_01.png);
    background-size: 100%;
    top: -80px;
    right: -30%; }
  .voice02::after {
    width: 100%;
    padding-top: 60%;
    background: url(../images/voice_02.png);
    background-size: 100%;
    bottom: 50%;
    left: -20%;
    z-index: -1; }
  .voice02 .voice02__item {
    padding: 40px 0;
    border-bottom: 1px solid #d6e3ea;
    line-height: 1.6em; }
    .voice02 .voice02__item:last-child {
      border: none; }
    .voice02 .voice02__item .txtWrap {
      margin-top: 20px; }
    .voice02 .voice02__item .lead {
      font-weight: bold;
      font-size: 1.2em;
      line-height: 1.8em; }
    .voice02 .voice02__item .name {
      margin: 10px 0 20px; }
    .voice02 .voice02__item .subTtl {
      font-weight: bold;
      margin: 30px 0 10px; }
    .voice02 .voice02__item span {
      font-size: .8em; }
    .voice02 .voice02__item img + img {
      margin-top: 20px; }
  .voice02 .cut {
    display: block;
    margin: 40px 0; }

.member {
  margin-top: 80px; }
  .member .member__list .member__item {
    margin-top: 60px; }
    .member .member__list .member__item:nth-child(n+2) {
      margin-top: 80px; }
    .member .member__list .member__item .member__txtWrap {
      margin-top: 40px; }
    .member .member__list .member__item .heading__txt {
      margin-bottom: 20px; }
    .member .member__list .member__item .heading__txt span {
      display: block;
      font-size: 1.4rem; }
    .member .member__list .member__item .member__message {
      margin-top: 30px; }
    .member .member__list .member__item .member__career {
      margin-top: 30px;
      padding-top: 30px;
      border-top: 1px solid rgba(3, 56, 87, 0.2);
      font-size: 1.2rem; }
    .member .member__list .member__item .member__links {
      display: flex;
      margin-top: 30px; }
      .member .member__list .member__item .member__links .member__link a {
        display: block;
        width: 20px;
        height: 20px;
        background-image: url(../images/ico_fb.png);
        background-size: 100%;
        margin-right: 20px;
        text-indent: 100%;
        overflow: hidden; }
        .member .member__list .member__item .member__links .member__link a.ig {
          background-image: url(../images/ico_ig.png); }
        .member .member__list .member__item .member__links .member__link a.nt {
          background-image: url(../images/ico_nt.png); }
        .member .member__list .member__item .member__links .member__link a.web {
          background-image: url(../images/ico_web.png); }

.pageTtl.tapestry {
  background: url(../images/bg_project.jpg);
  background-size: cover;
  background-position: center 60%;
  padding: 100px 0; }
  .pageTtl.tapestry h1 {
    color: white;
    text-align: center;
    font-size: 2.4rem; }

.session {
  margin-top: 120px; }
  .session .session__item {
    margin-top: 60px; }
    .session .session__item .imgWrap {
      width: 70%;
      margin: 0 auto; }
    .session .session__item .ttl {
      text-align: center;
      font-size: 1.1em;
      margin: 20px 0; }
    .session .session__item .access {
      margin: 60px 0; }
      .session .session__item .access h4 {
        margin-bottom: 20px; }
      .session .session__item .access .access__imgWrap {
        width: 90%;
        margin: 40px auto 0; }
      .session .session__item .access img + img {
        margin-top: 60px; }
    .session .session__item .aside {
      background: white;
      margin: 0 -2%;
      padding: 40px 5%; }
      .session .session__item .aside h4 {
        margin: 20px 0 10px; }

.faq {
  margin-top: 120px; }
  .faq .bold {
    margin-top: 60px; }

.image {
  height: 70vh;
  min-height: 500px;
  position: relative;
  overflow: hidden; }
  .image .image__wrap {
    width: 120%;
    position: absolute;
    top: 50%;
    right: -120%;
    animation: scroll 25s linear infinite; }
@keyframes scroll {
  0% {
    transform: translate(0, -20%); }
  100% {
    transform: translate(-200%, -100%); } }
  .image img {
    opacity: .8; }

.contents {
  padding-left: 3%;
  padding-right: 3%; }
  .contents .contents__list .contents__item {
    background: #e7f6f6;
    padding: 40px 4%;
    color: white; }
    .contents .contents__list .contents__item:nth-child(n+2) {
      margin-top: 40px; }
    .contents .contents__list .contents__item.radio {
      background: url(../images/bg_contents_01.jpg) center;
      background-size: cover; }
    .contents .contents__list .contents__item.trip {
      background: url(../images/bg_contents_02.jpg);
      background-size: cover; }
    .contents .contents__list .contents__item .txtWrap {
      margin-top: 40px; }
    .contents .contents__list .contents__item h3 {
      font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
      font-size: 1.2em;
      text-align: center;
      margin-bottom: 20px; }
    .contents .contents__list .contents__item .btn {
      line-height: 40px; }
    .contents .contents__list .contents__item .triggerItem {
      margin-top: 30px;
      text-align: center; }
      .contents .contents__list .contents__item .triggerItem .btn {
        margin-top: 10px; }

.about {
  padding: 120px 5% 0;
  position: relative; }
  .about::before {
    content: "";
    display: block;
    width: 85%;
    padding-top: 55%;
    background: url(../images/about_01.jpg) center center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0; }
  .about .about__headingWrap,
  .about .about__txtWrap {
    position: relative; }
  .about .about__headingWrap {
    text-shadow: 0 0 20px white; }
  .about .heading__subTxt {
    text-align: left; }
  .about .about__logo {
    background: rgba(3, 56, 87, 0.05);
    padding: 40px 5%;
    margin-top: 40px; }
    .about .about__logo .logo__imgWrap {
      width: 60%;
      margin: 0 auto; }
    .about .about__logo .logo__txtWrap {
      margin-top: 30px; }
  .about .projectMember {
    margin-top: 100px;
    text-align: center; }
    .about .projectMember h3 {
      font-size: 1.3em; }
    .about .projectMember .projectMember__list {
      display: flex;
      flex-wrap: wrap; }
    .about .projectMember .projectMember__item {
      width: 48%;
      margin-top: 20px;
      font-weight: bold; }
      .about .projectMember .projectMember__item:nth-child(odd) {
        margin-right: 4%; }

.footer {
  padding: 100px 0 20px;
  margin-top: -1px;
  background: url(../images/contact_sp.jpg) center;
  background-size: cover; }
  .footer .contact {
    width: 90%;
    margin: 0 auto;
    position: relative;
    text-shadow: white 0 0 5px; }
    .footer .contact p {
      margin-bottom: 20px; }
    .footer .contact .contact__trigger {
      display: block;
      position: relative;
      text-align: right;
      padding-right: 88px; }
      .footer .contact .contact__trigger::after {
        content: "";
        display: block;
        width: 77px;
        height: 9px;
        background: url(../images/ico_contact.png);
        background-size: 100%;
        position: absolute;
        right: 0;
        bottom: 10px; }
    .footer .contact .txtWrap {
      margin-top: 30px; }
  .footer .sns__list {
    display: flex;
    width: 100px;
    margin: 80px auto 40px; }
  .footer .sns__item a {
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../images/ico_fb.png);
    background-size: 100%;
    margin-right: 20px;
    text-indent: 100%;
    overflow: hidden; }
    .footer .sns__item a.ig {
      background-image: url(../images/ico_ig.png); }
    .footer .sns__item a.yt {
      background-image: url(../images/ico_yt.png);
      margin-right: 0; }
  .footer .footer__copyright {
    color: #4c748b;
    text-align: center;
    font-size: 1.2rem; }

.layer .header .header__logoLink {
  width: 60px;
  height: 60px;
  background: url(../images/logo_white.png);
  background-size: 100%; }
.layer .pageTtl {
  height: 180px;
  background: url(../images/ttl_hypno.jpg) no-repeat center;
  background-size: cover;
  position: relative; }
  .layer .pageTtl .pageTtl__ttl {
    width: 100%;
    font-size: 1.6em;
    color: white;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
.layer .pageHeading .pageHeading__imgWrap {
  width: 90%;
  margin: 20px auto; }
.layer .heading__txt {
  margin-bottom: 40px; }
.layer .heading__subTxt {
  margin-bottom: 30px; }
.layer .layer__inr {
  width: 90%;
  margin: 40px auto; }
  .layer .layer__inr > *:nth-child(n+2) {
    margin-top: 100px; }
.layer .flow,
.layer .plan,
.layer .reserve,
.layer .merit {
  width: 90%;
  margin: 100px auto; }
.layer .reserve {
  color: #033857; }
  .layer .reserve .desc {
    margin-bottom: 20px; }

.reservation .notice h3 {
  margin-bottom: 20px; }
.reservation .visual {
  padding: 20% 0;
  width: 100%;
  background: url(../images/reservation.jpg) center;
  background-size: cover; }
.reservation .voice .voice__list {
  margin-bottom: 20px; }
  .reservation .voice .voice__list .voice__item {
    padding: 20px 0;
    border-bottom: 1px solid #d6e3ea;
    line-height: 1.6em; }
    .reservation .voice .voice__list .voice__item span {
      font-size: .8em; }

.hypno .subHeading {
  font-size: 1.2em;
  margin-bottom: 10px; }
.hypno .layer__inr > *:nth-child(n+2).img {
  margin-top: 40px; }
.hypno .layer__inr > *:nth-child(n+2).case,
.hypno .layer__inr > *:nth-child(n+2).voice {
  margin-top: 60px; }
.hypno .merit .merit__item {
  padding-left: 44px;
  position: relative; }
  .hypno .merit .merit__item:nth-child(n+2) {
    margin-top: 20px; }
  .hypno .merit .merit__item .num {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    font-size: 1.6em;
    font-style: italic;
    position: absolute;
    top: -2px;
    left: 0; }
.hypno .merit .heading__subTxt:nth-of-type(2n) {
  margin-top: 60px; }
.hypno .merit .merit__imgWrap {
  width: 80%;
  margin: 20px auto 0; }
.hypno .desc__list {
  margin-top: 40px; }
  .hypno .desc__list .desc__item:nth-child(n+2) {
    margin-top: 40px; }
    .hypno .desc__list .desc__item:nth-child(n+2)::before {
      content: "";
      display: block;
      width: 20%;
      height: 1px;
      background-color: #d3e2eb;
      margin-bottom: 40px; }
.hypno .plan__list {
  margin-bottom: 40px; }
.hypno .list__item {
  padding-left: 14px;
  margin-top: 10px;
  position: relative; }
  .hypno .list__item::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background: #748f09;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 0; }
.hypno .category__item {
  margin-top: 40px; }
  .hypno .category__item .category__ttl {
    text-align: center;
    color: white;
    font-size: 1.1em;
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
    background: url(../images/ttl_cat01.jpg) center;
    background-size: cover;
    padding: 30px 0;
    margin-bottom: 20px; }
    .hypno .category__item .category__ttl.cat02 {
      background-image: url(../images/ttl_cat02.jpg); }
    .hypno .category__item .category__ttl.cat03 {
      background-image: url(../images/ttl_cat03.jpg); }
    .hypno .category__item .category__ttl span {
      display: block;
      font-size: .6em;
      font-style: italic; }
.hypno .voice .desc__item span {
  font-weight: bold;
  margin-right: 10px; }
.hypno .voice .trigger {
  margin-top: 40px; }
.hypno .btn {
  margin-top: 60px; }

@media screen and (min-width: 768px) {
  .pc {
    display: block; }

  .sp {
    display: none; }

  .btn.fixed {
    right: 30px;
    bottom: 30px;
    width: 140px;
    height: 140px;
    font-size: 1.5rem;
    padding-top: 50px; }

  .header .header__logoLink {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 11; }

  .nav {
    width: 80px;
    height: 100%; }
    .nav .nav__btn {
      left: 40px;
      right: inherit; }

  .btn__app {
    width: 180px;
    height: 180px;
    right: 40px;
    bottom: 40px; }

  .mainVisual {
    background-image: url(../images/main.png); }
    .mainVisual .mainVisual__txtWrap {
      width: 40%; }

  .section {
    width: 70%;
    max-width: 1200px; }

  .heading + * {
    margin: 30px 0 60px; }

  h2.heading__subTxt {
    font-size: 1.6em; }

  .heading__subTxt {
    line-height: 2em; }

  .btn {
    width: 360px;
    line-height: 60px; }

  .intro .intro__img {
    width: 50%;
    top: -20%;
    left: 50%;
    transform: translate(-50%, 0); }
  .intro .poetry {
    font-size: 1.3em;
    line-height: 4em; }
  .intro .intro__copy {
    margin: 220px 0 60px;
    font-size: 2em;
    font-weight: normal; }
  .intro .txtWrap {
    width: 80%;
    margin: 0 auto; }

  .project {
    margin-top: 400px;
    padding: 10px 0 0; }
    .project .project__headingWrap {
      width: 96%;
      margin: -240px auto 0;
      padding: 200px 0; }
      .project .project__headingWrap .heading__txt {
        font-size: 2.8em; }
      .project .project__headingWrap .subHeading {
        font-size: 1.6em;
        margin: 10px 0 40px; }
      .project .project__headingWrap .info {
        font-size: 1.3em; }
    .project .leadTxt {
      font-size: 1.4em; }
    .project .project__detail {
      max-width: 1440px;
      margin: 0 auto; }
      .project .project__detail:last-child {
        padding-bottom: 80px; }
        .project .project__detail:last-child .btn {
          margin-left: 0; }
      .project .project__detail::before {
        width: 40%;
        padding-top: 45%;
        top: 340px;
        left: 0; }
      .project .project__detail::after {
        width: 50%;
        padding-top: 27.5%;
        bottom: -200px;
        right: -3%; }
      .project .project__detail:last-child::before, .project .project__detail:last-child::after {
        display: none; }
    .project .detail__item {
      display: flex; }
      .project .detail__item .imgWrap {
        width: 42%;
        margin-top: 0; }
      .project .detail__item .txtWrap {
        width: 45%;
        margin: 0 5% 0 8%; }
      .project .detail__item:nth-child(odd) {
        flex-direction: row-reverse; }
        .project .detail__item:nth-child(odd) .txtWrap {
          margin: 0 8% 0 5%; }
      .project .detail__item .bold span {
        display: inline;
        margin-left: 10px; }
    .project .addInfo {
      margin-top: 60px; }
      .project .addInfo p {
        text-align: center; }

  .videoWrap {
    width: 800px;
    margin: 80px auto 0; }

  .about,
  .descInr {
    padding: 200px 0; }

  .descInr {
    padding-bottom: 100px; }

  .voice01 .voice01__list {
    display: flex;
    max-width: 1200px;
    margin: 40px auto; }
  .voice01 .drawing__list {
    width: 90%;
    margin: 100px auto;
    column-count: 3; }
  .voice01 .drawing__item {
    margin: 50px 20px; }

  .guide {
    padding: 120px 0; }

  .flow,
  .benefit,
  .plan {
    width: 70%;
    margin: 180px auto; }
    .flow .heading__subTxt + p,
    .flow .plan__list p,
    .benefit .heading__subTxt + p,
    .benefit .plan__list p,
    .plan .heading__subTxt + p,
    .plan .plan__list p {
      text-align: center; }

  .flow {
    margin-top: 0; }
    .flow .flow__item {
      display: flex;
      align-items: center;
      padding: 0 3% 30px; }
      .flow .flow__item .flow__imgWrap {
        width: 25%; }
      .flow .flow__item .flow__txtWrap {
        width: 70%;
        margin-left: 5%; }
      .flow .flow__item .subHeading {
        text-align: left; }
        .flow .flow__item .subHeading .min {
          display: inline-block;
          margin-left: 20px; }
    .flow .flow__desc {
      text-align: center; }

  #application.flow .flow__imgWrap {
    width: 13%; }
  #application.flow .flow__txtWrap {
    width: 75%; }

  .benefit .benefit__list {
    display: flex; }
  .benefit .benefit__item:nth-child(n+2) {
    margin-top: 0; }
  .benefit .benefit__item img {
    width: 60%;
    margin-bottom: 20px; }

  .plan .plan__list {
    display: flex; }
    .plan .plan__list .plan__item {
      width: 100%;
      padding: 30px 4%; }
      .plan .plan__list .plan__item:nth-child(n+2) {
        margin-left: 2%; }
  .plan .notice {
    margin: 20px 15% 60px; }

  .schedule {
    display: flex;
    flex-direction: row-reverse;
    align-items: center; }
    .schedule .txtWrap {
      margin: 0 5%; }
      .schedule .txtWrap .heading__subTxt {
        text-align: left;
        margin-bottom: 40px; }
      .schedule .txtWrap .bold {
        font-size: 1.2em; }
    .schedule .imgWrap {
      margin-top: 0; }

  .voice02 {
    width: 70%;
    margin: 0 auto; }
    .voice02::before {
      width: 65%;
      padding-top: 44%;
      right: -15%; }
    .voice02::after {
      width: 65%;
      padding-top: 39%;
      bottom: 52%;
      left: -25%; }
    .voice02 .voice02__item {
      display: flex;
      padding: 60px 0; }
      .voice02 .voice02__item .imgWrap {
        width: 30%;
        margin-right: 5%; }
      .voice02 .voice02__item .txtWrap {
        width: 65%;
        margin-top: 0; }

  .member {
    width: 80%;
    margin: 160px auto 0; }
    .member .heading {
      text-align: center; }
    .member .member__list {
      margin-top: 0; }
      .member .member__list .member__item {
        display: flex; }
        .member .member__list .member__item:nth-child(n+2) {
          margin-top: 120px; }
        .member .member__list .member__item .member__imgWrap {
          width: 35%;
          margin-right: 5%; }
        .member .member__list .member__item .member__txtWrap {
          width: 60%;
          margin-top: 0; }

  .session {
    width: 50%;
    margin: 0 auto; }
    .session .session__item .decWrap {
      display: flex;
      align-items: center; }
      .session .session__item .decWrap .imgWrap {
        width: 30%; }
      .session .session__item .decWrap .txtWrap {
        width: 65%;
        margin-left: 5%; }
      .session .session__item .decWrap .ttl {
        text-align: left; }
    .session .session__item .access__imgWrap {
      display: flex; }
      .session .session__item .access__imgWrap img {
        width: 47%; }
      .session .session__item .access__imgWrap img + img {
        margin: 0 0 0 6%; }
    .session .session__item .aside {
      margin: 0 -5%;
      display: flex; }
      .session .session__item .aside .imgWrap {
        width: 35%; }
      .session .session__item .aside .txtWrap {
        width: 60%;
        margin-left: 5%; }
      .session .session__item .aside h4 {
        margin-top: 0; }
      .session .session__item .aside p {
        font-size: .9em;
        line-height: 1.8em; }

  .faq {
    width: 50%;
    margin: 200px auto 0; }

  .image .image__wrap {
    width: 50%;
    right: -50%;
    animation: scroll 40s linear infinite; }
  @keyframes scroll {
    0% {
      transform: translate(0, -10%); }
    100% {
      transform: translate(-310%, -90%); } }
  .image img {
    opacity: .5; }

  .contents .contents__list .contents__item {
    padding: 100px 0;
    display: flex;
    align-items: center; }
    .contents .contents__list .contents__item:nth-child(odd) {
      flex-direction: row-reverse; }
    .contents .contents__list .contents__item .txtWrap,
    .contents .contents__list .contents__item .imgWrap {
      width: 100%;
      margin: 0 5%; }
    .contents .contents__list .contents__item h3 {
      text-align: left;
      font-size: 1.4em; }
    .contents .contents__list .contents__item .btn {
      margin-bottom: 0; }
    .contents .contents__list .contents__item .triggerList {
      display: flex; }
    .contents .contents__list .contents__item .triggerItem {
      width: 100%;
      margin: 40px 1% 0; }
      .contents .contents__list .contents__item .triggerItem .btn {
        width: 100%; }

  .about {
    width: 100%;
    padding: 200px 0 0;
    max-width: 1440px; }
    .about::before {
      width: 35%;
      padding-top: 65%; }
    .about .about__wrap {
      width: 45%;
      margin: 0 13% 0 42%; }
    .about .about__logo {
      padding: 40px 30px; }
      .about .about__logo .logo__wrap {
        display: flex; }
      .about .about__logo .logo__imgWrap {
        width: 23%; }
      .about .about__logo .logo__txtWrap {
        width: 72%;
        margin: 0 0 0 5%; }
        .about .about__logo .logo__txtWrap h3 {
          margin-bottom: 20px;
          font-size: 1.4em; }
    .about .projectMember {
      width: 70%;
      margin: 160px auto 0; }
      .about .projectMember .projectMember__list {
        flex-wrap: nowrap; }
      .about .projectMember .projectMember__item {
        margin-right: 2%; }
      .about .projectMember .projectMember__item:nth-child(odd) {
        margin-right: 2%; }
      .about .projectMember .projectMember__item:last-child {
        margin-right: 0; }

  .footer {
    padding: 240px 0 20px;
    background: url(../images/contact.jpg);
    background-size: cover; }
    .footer .contact {
      width: 30%;
      margin: 0 0 0 50%;
      text-shadow: none; }
    .footer .sns__list {
      margin: 60px 0 80px 50%; }
    .footer .sns__item a {
      margin-right: 30px; }

  .pageTtl.tapestry {
    padding: 200px 0; }
    .pageTtl.tapestry h1 {
      font-size: 3rem; }

  .layer .header .header__logoLink {
    width: 80px;
    height: 80px;
    position: relative; }
  .layer .pageTtl {
    height: 280px; }
    .layer .pageTtl .pageTtl__ttl {
      font-size: 2em; }
  .layer .layer__inr {
    width: 50%;
    margin: 60px auto; }
    .layer .layer__inr > *:nth-child(n+3) {
      margin-top: 160px; }
  .layer .heading__subTxt {
    font-size: 1.8em; }
  .layer .pageHeading .pageHeading__imgWrap {
    width: 60%;
    margin: 20px auto; }
  .layer .flow,
  .layer .plan,
  .layer .reserve,
  .layer .merit {
    width: 70%;
    margin-top: 120px; }
  .layer .reserve .desc {
    text-align: center; }
  .layer .reserve .notice {
    margin: 60px 15%; }
  .layer .reservation .visual {
    padding: 10% 0; }
  .layer .hypno .layer__inr > *:nth-child(n+2).img {
    margin-top: 60px; }
  .layer .hypno .layer__inr > *:nth-child(n+2).case,
  .layer .hypno .layer__inr > *:nth-child(n+2).voice {
    margin-top: 80px; }
  .layer .hypno .merit {
    display: flex;
    flex-direction: row-reverse;
    align-items: center; }
    .layer .hypno .merit .merit__txtWrap {
      width: 55%; }
    .layer .hypno .merit .merit__imgWrap {
      width: 40%;
      margin: 0 5% 0 0; }
  .layer .hypno .category__item {
    display: flex;
    flex-wrap: nowrap; }
    .layer .hypno .category__item:nth-child(n+2) {
      margin-top: 60px; }
    .layer .hypno .category__item .category__ttl {
      width: 35%;
      height: 160px; }
    .layer .hypno .category__item .category__txtWrap {
      width: 65%;
      margin-left: 20px; }
  .layer .hypno .btn {
    line-height: 60px; } }

/*# sourceMappingURL=style.css.map */
