html {
  font-size: calc(10vw / 7.5);
  -webkit-font-smoothing: antialiased; }

body {
  color: #141414;
  font-family: "BIZ UDGothic", sans-serif;
  font-size: 2.4rem;
  line-height: 1.67;
  background-color: #f7f5ee;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

body.lock,
body.loading {
  overflow: hidden;
  width: 100vw;
  height: 100vh; }

@media screen and (min-width: 769px) {
  html {
    font-size: 8px; }

  body {
    font-size: 1.6rem;
    line-height: 1; } }
@media screen and (min-width: 960px) {
  html {
    font-size: 10px; } }
* {
  -webkit-tap-highlight-color: transparent; }

a {
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

p, dt, dd, li {
  word-break: break-word;
  word-wrap: normal; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

figure img {
  width: 100%;
  height: auto; }

picture img {
  width: 100%;
  height: auto; }

video {
  width: 100%;
  height: auto; }

label {
  cursor: pointer; }

::placeholder {
  color: #f7f5ee; }

.cf:after {
  content: "";
  display: block;
  clear: both; }

.fleft {
  float: left; }

.fright {
  float: right; }

.clear {
  clear: both; }

.ib {
  display: inline-block;
  line-height: inherit;
  font-weight: inherit; }

.en {
  font-family: "Lato", sans-serif; }

.txtBold {
  font-weight: 700; }

.telLink {
  color: #e56666;
  text-decoration: underline;
  text-underline-offset: 0.15em; }

.accordionTrigger {
  cursor: pointer;
  display: block; }

.accordionContent {
  display: none; }

.slide .item {
  opacity: 0;
  position: absolute !important;
  top: 0; }
  .slide .item:first-child {
    opacity: 1;
    position: relative !important; }
.slide.slick-initialized .item {
  opacity: 1;
  position: relative; }
.slide .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 15;
  margin: 0 0 calc(60 / 710 * 100%) 0; }
  .slide .slick-dots li {
    overflow: hidden;
    flex-basis: 12px;
    margin: 0 5px; }
    .slide .slick-dots li button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      box-sizing: border-box;
      display: block;
      cursor: pointer;
      width: 100%;
      height: 12px;
      text-indent: -9999em;
      background-color: transparent;
      border: 2px solid #f399a8;
      border-radius: 50%;
      transition: background-color 0.2s ease-out; }
    .slide .slick-dots li button:hover, .slide .slick-dots li.slick-active button {
      background-color: #f399a8; }

@media screen and (min-width: 769px) {
  .slide .slick-dots {
    margin: 0 0 calc(35 / 1400 * 100%) 0; }
    .slide .slick-dots li {
      flex-basis: 15px;
      margin: 0 8px; }
      .slide .slick-dots li button {
        height: 15px; }
  .slide .slick-arrow {
    cursor: pointer;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10;
    width: 8rem;
    height: 8rem;
    text-indent: -9999em;
    margin: auto;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box; }
    .slide .slick-arrow.slick-prev {
      left: calc(40 / 1400 * 100%);
      background: url(/img/common/icon_arrow01_prev.png) center center no-repeat;
      background-size: contain; }
    .slide .slick-arrow.slick-next {
      right: calc(40 / 1400 * 100%);
      background: url(/img/common/icon_arrow01_next.png) center center no-repeat;
      background-size: contain; } }
.gallery .item {
  opacity: 0;
  position: absolute;
  top: 0; }
  .gallery .item:first-child {
    opacity: 1;
    position: relative; }
.gallery.slick-initialized .item {
  opacity: 1;
  position: relative; }
.gallery .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: calc(2.8rem * 1.8);
  z-index: 10;
  width: 8rem;
  height: 8rem;
  text-indent: -9999em;
  margin: auto;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }
  .gallery .slick-arrow.slick-prev {
    right: calc(100% - 3rem);
    background: url(/img/common/icon_arrow01_prev.png) center center no-repeat;
    background-size: contain; }
  .gallery .slick-arrow.slick-next {
    left: calc(100% - 3rem);
    background: url(/img/common/icon_arrow01_next.png) center center no-repeat;
    background-size: contain; }

@media screen and (min-width: 769px) {
  .gallery .slick-arrow.slick-prev {
    right: 100%; }
  .gallery .slick-arrow.slick-next {
    left: 100%; } }
@media screen and (min-width: 960px) {
  .gallery .slick-arrow.slick-prev {
    right: calc(100% + 4rem); }
  .gallery .slick-arrow.slick-next {
    left: calc(100% + 4rem); } }
.wpcf7 form .wpcf7-spinner {
  display: none; }

.wpcf7 form.sent .wpcf7-response-output {
  display: none; }

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  font-size: 1em; }

.wpcf7 form .wpcf7-response-output {
  color: #dc3232;
  font-size: 1em;
  text-align: center; }

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
  margin-top: 10px; }
.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
  display: block; }

@media screen and (min-width: 769px) {
  /* mover */
  .mover {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
    .mover:hover {
      opacity: 0.8; }

  .moverContent:before, .moverContent:after, .moverContent > * {
    transition: opacity 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }
  .moverContent:hover:before, .moverContent:hover:after,
  .moverContent:hover > * {
    opacity: 0.8; }

  .moverColor {
    transition: background-color 0.2s ease-out;
    backface-visibility: hidden;
    zoom: 1; }

  .moverLine.white .line {
    background-image: linear-gradient(90deg, #ffffff, #ffffff); }
  .moverLine .line {
    position: relative;
    background-image: linear-gradient(90deg, #141414, #141414);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.2s ease-out; }
  .moverLine:hover .line {
    background-size: 100% 1px; } }
.modePC,
.modePCib {
  display: none; }
  .modePC.important,
  .modePCib.important {
    display: none !important; }

.modeSP {
  display: block; }
  .modeSP.important {
    display: block !important; }

.modeTB {
  display: none; }

@media screen and (min-width: 769px) {
  .modePC {
    display: block; }
    .modePC.important {
      display: block !important; }

  .modePCib {
    display: inline-block; }
    .modePCib.important {
      display: inline-block !important; }

  .modeSP {
    display: none; }
    .modeSP.important {
      display: none !important; }

  .modeTB {
    display: block; } }
@media screen and (min-width: 900px) {
  .modeTB {
    display: none; } }
.animate {
  overflow: hidden;
  opacity: 1; }

.animate .animate-text {
  display: block; }

.animated {
  opacity: 1; }

.lazyload {
  opacity: 1; }

@keyframes arrowMove {
  0% {
    transform: translateX(0); }
  99% {
    transform: translateX(50%); }
  100% {
    transform: translateX(0); } }
.wrapper {
  overflow: hidden;
  position: relative;
  padding-top: calc(120 / 750 * 100%);
  transition: opacity 0.3s; }
  .load_complete .wrapper {
    opacity: 1; }

.scrollPosition {
  margin-top: calc(-120 / 750 * 100%);
  padding-top: calc(120 / 750 * 100%); }

.contentWrap {
  margin-top: calc(-120 / 750 * 100%);
  padding-top: calc(120 / 750 * 100%); }

.contentInner {
  width: calc(710 / 750 * 100%);
  margin: auto; }

.fadeContent {
  opacity: 0;
  transition: opacity 1.0s ease-out; }

.fadeContent.current {
  opacity: 1; }

@media screen and (min-width: 769px) {
  .wrapper {
    padding: 126px 0 0 0; }

  .scrollPosition {
    margin-top: -126px;
    padding-top: 126px; }

  .contentWrap {
    margin-top: -126px;
    padding-top: 126px; }

  .contentInner {
    position: relative;
    width: 100%;
    max-width: 1420px;
    padding: 0 10px;
    box-sizing: border-box; } }
/*----------------------
 breadcrumb
----------------------*/
.breadcrumb {
  background-color: #ffffff; }
  .breadcrumb .contentInner {
    overflow: auto;
    width: auto;
    margin: 0 0 0 calc(20 / 750 * 100%);
    white-space: nowrap; }
  .breadcrumb .list {
    padding: calc(15 / 730 * 100%) 0 calc(15 / 730 * 100%) 0; }
    .breadcrumb .list .item {
      display: inline;
      font-size: 2.4rem;
      line-height: 1.67; }
      .breadcrumb .list .item > * {
        display: inline-block; }
      .breadcrumb .list .item:first-child:before {
        display: none; }
      .breadcrumb .list .item:before {
        content: ">";
        margin: 0 0.8em 0 0.4em; }

@media screen and (min-width: 769px) {
  .breadcrumb .contentInner {
    width: 100%;
    margin: auto; }
  .breadcrumb .list {
    padding: calc(15 / 1400 * 100%) 0; }
    .breadcrumb .list .item {
      font-size: 1.4rem;
      line-height: 2.29; }
      .breadcrumb .list .item:before {
        margin: 0 15px 0 5px; } }
/* telLayout */
.telLayout {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  .telLayout .num {
    display: flex;
    align-items: center;
    color: #e56666;
    font-size: 3rem;
    line-height: 1.33; }
    .telLayout .num:before {
      content: "";
      display: inline-block;
      width: 1.1em;
      height: 1.1em;
      background: url(/img/common/icon_tel_pink.png) center center no-repeat;
      background-size: contain;
      margin: 0 0.4em 0 0.6em; }
  .telLayout .time {
    flex-basis: 100%; }

@media screen and (min-width: 769px) {
  .telLayout .num {
    font-size: 2.2rem;
    line-height: 1.18; }
    .telLayout .num:before {
      width: 1.1em;
      height: 1.1em;
      margin: 0 0.4em 0 0.6em; }
  .telLayout .time {
    font-size: 1.8rem;
    line-height: 1.28; } }
/* faxLayout */
.faxLayout {
  display: flex;
  align-items: center; }
  .faxLayout .num {
    font-weight: 700;
    margin: 0 0 0 0.5em; }

@media screen and (min-width: 769px) {
  .faxLayout .num {
    margin: 0 0 0 0.5em; } }
/* tableType01 */
.tableType01 {
  border: 2px solid #f399a8; }
  .tableType01 .row {
    display: flex;
    font-size: 2.4rem;
    line-height: 1.67; }
    .tableType01 .row:last-of-type .head {
      border-bottom: 0; }
    .tableType01 .row:last-of-type .cont {
      border-bottom: 0; }
    .tableType01 .row .head {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-basis: 9em;
      flex-shrink: 0;
      color: #ffffff;
      font-weight: 700;
      background-color: #f399a8;
      padding: 0 0.5em;
      border-bottom: 2px solid #ffffff;
      box-sizing: border-box; }
    .tableType01 .row .cont {
      flex-basis: calc(100% - 9em);
      padding: 0.5em 1em 0.5em 1em;
      border-bottom: 2px solid #f399a8; }
      .tableType01 .row .cont.target {
        display: flex;
        align-items: center;
        flex-basis: calc(100% - 9em - 6em);
        border-right: 2px solid #f399a8;
        box-sizing: border-box; }
      .tableType01 .row .cont.number {
        display: flex;
        align-items: center;
        flex-basis: 6em; }
      .tableType01 .row .cont p {
        margin: 0 0 0.8em 0; }
        .tableType01 .row .cont p:last-of-type {
          margin: 0; }

@media screen and (min-width: 769px) {
  .tableType01 .row {
    display: flex;
    font-size: 1.8rem;
    line-height: 1.44; }
    .tableType01 .row .head {
      flex-basis: 11.5em; }
    .tableType01 .row .cont {
      flex-basis: calc(100% - 11.5em);
      padding: 0.6em 1.5em 0.58em 1.5em; }
      .tableType01 .row .cont.target {
        flex-basis: calc(100% - 11.5em - 12.7em); }
      .tableType01 .row .cont.number {
        flex-basis: 12.7em; } }
/* layoutType01 */
.layoutType01 .content {
  position: relative;
  background-color: #ffffff;
  padding: calc(230 / 750 * 100%) 0 calc(160 / 750 * 100%) 0; }
.layoutType01 .bgTop:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(580 / 750 * 100%);
  max-width: 580px;
  background: url(/img/common/bg_info_top_left.png) left top no-repeat;
  background-size: contain;
  padding: calc(372 / 750 * 100%) 0 0 0; }
.layoutType01 .bgTop:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(580 / 750 * 100%);
  max-width: 580px;
  background: url(/img/common/bg_info_top_right.png) right top no-repeat;
  background-size: contain;
  padding: calc(372 / 750 * 100%) 0 0 0; }
.layoutType01 .bgBottom:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(580 / 750 * 100%);
  max-width: 580px;
  background: url(/img/common/bg_info_bottom_left.png) left bottom no-repeat;
  background-size: contain;
  padding: calc(305 / 750 * 100%) 0 0 0; }
.layoutType01 .bgBottom:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(580 / 750 * 100%);
  max-width: 580px;
  background: url(/img/common/bg_info_bottom_right.png) right bottom no-repeat;
  background-size: contain;
  padding: calc(305 / 750 * 100%) 0 0 0; }
.layoutType01 .contentInner {
  position: relative;
  z-index: 1; }
.layoutType01 .wrap {
  width: calc(600 / 750 * 100%);
  margin: auto; }
  .layoutType01 .wrap .section {
    margin: 0 0 calc(80 / 600 * 100%) 0; }
    .layoutType01 .wrap .section .title {
      margin: 0 0 0.6em 0; }
    .layoutType01 .wrap .section .desc {
      font-size: 2.4rem;
      line-height: 1.67;
      text-align: center;
      margin: 0 0 calc(22 / 600 * 100%) 0; }
    .layoutType01 .wrap .section .list .item {
      margin: 0 0 calc(22 / 600 * 100%) 0; }
      .layoutType01 .wrap .section .list .item:last-of-type {
        margin: 0 0 calc(12 / 600 * 100%) 0; }
      .layoutType01 .wrap .section .list .item .button {
        max-width: 100%; }
        .layoutType01 .wrap .section .list .item .button .icon {
          padding: 0 1em 0 1.8em; }
    .layoutType01 .wrap .section .more {
      text-align: right; }
      .layoutType01 .wrap .section .more a {
        font-size: 2.4rem;
        line-height: 1.67; }

@media screen and (min-width: 769px) {
  .layoutType01 .content {
    padding: calc(165 / 1660 * 100%) 0 calc(147 / 1660 * 100%) 0; }
  .layoutType01 .bgTop:before {
    width: calc(580 / 1660 * 100%);
    max-width: 580px;
    padding: calc(372 / 1660 * 100%) 0 0 0; }
  .layoutType01 .bgTop:after {
    width: calc(580 / 1660 * 100%);
    max-width: 580px;
    padding: calc(372 / 1660 * 100%) 0 0 0; }
  .layoutType01 .bgBottom:before {
    width: calc(580 / 1660 * 100%);
    max-width: 580px;
    padding: calc(305 / 1660 * 100%) 0 0 0; }
  .layoutType01 .bgBottom:after {
    width: calc(580 / 1660 * 100%);
    max-width: 580px;
    padding: calc(305 / 1660 * 100%) 0 0 0; }
  .layoutType01 .wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 960px; }
    .layoutType01 .wrap.center {
      justify-content: center; }
    .layoutType01 .wrap .section {
      flex-basis: calc(440 / 960 * 100%);
      margin: 0; }
      .layoutType01 .wrap .section .title {
        margin: 0 0 0.6em 0; }
      .layoutType01 .wrap .section .desc {
        font-size: 1.8rem;
        line-height: 1.78;
        text-align: center;
        margin: 0 0 calc(22 / 440 * 100%) 0; }
      .layoutType01 .wrap .section .list .item {
        margin: 0 0 calc(22 / 440 * 100%) 0; }
        .layoutType01 .wrap .section .list .item:last-of-type {
          margin: 0 0 calc(12 / 440 * 100%) 0; }
        .layoutType01 .wrap .section .list .item .button {
          max-width: 100%; }
          .layoutType01 .wrap .section .list .item .button .icon {
            padding: 0 1em 0 1.8em; }
      .layoutType01 .wrap .section .more a {
        font-size: 1.8rem;
        line-height: 1.56; } }
/* layoutType02 */
.layoutType02 {
  background-color: #ffffff;
  margin: calc(39 / 710 * 100%) 0 calc(30 / 710 * 100%) 0;
  padding: calc(43 / 710 * 100%) calc(50 / 710 * 100%) calc(30 / 710 * 100%) calc(50 / 710 * 100%);
  border-radius: 4rem; }
  .layoutType02.image {
    position: relative;
    margin: calc(49 / 710 * 100%) 0 calc(60 / 710 * 100%) 0;
    padding: calc(39 / 710 * 100%) calc(50 / 710 * 100%) calc(100 / 710 * 100%) calc(50 / 710 * 100%);
    border-radius: 0; }
    .layoutType02.image:after {
      content: "";
      display: block;
      width: 100%;
      background: url(/img/about/img_about_policy.jpg) center center no-repeat;
      background-size: contain;
      margin: calc(30 / 630 * 100%) 0 0 0;
      padding: calc(257 / 630 * 100%) 0 0 0; }
    .layoutType02.image .list {
      flex-basis: calc(430 / 630 * 100%);
      margin: 0; }
  .layoutType02 .title {
    font-size: 2.6rem;
    line-height: 1.54;
    font-weight: 700;
    margin: 0 0 0.7em 0;
    padding: 0 0 0.5em 0; }
  .layoutType02 .list {
    font-size: 2.6rem;
    line-height: 1.54;
    margin: 0 0 calc(37 / 860 * 100%) 0; }
    .layoutType02 .list .listTitle {
      font-size: 3rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 0.7em 0;
      padding: 0 0 0.5em 0;
      border-bottom: 2px dotted #d3d3d3; }
    .layoutType02 .list .row {
      margin: 0 0 calc(13 / 860* 100%) 0; }
      .layoutType02 .list .row .head {
        position: relative;
        font-weight: 700;
        margin: 0 0 0.4em 0;
        padding: 0 0 0 1.4em; }
        .layoutType02 .list .row .head:before {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 0.9em;
          height: 0.9em;
          margin: auto;
          border: 0.3em solid #fbd74d;
          border-radius: 50%;
          box-sizing: border-box; }
  .layoutType02 .textWrap {
    font-size: 2.4rem;
    line-height: 1.67;
    margin: 0 0 calc(66 / 710 * 100%) 0; }

@media screen and (min-width: 769px) {
  .layoutType02 {
    margin: calc(39 / 960* 100%) 0 calc(30 / 960* 100%) 0;
    padding: calc(43 / 960 * 100%) calc(50 / 960 * 100%) calc(2 / 960 * 100%) calc(50 / 960 * 100%); }
    .layoutType02.image {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
      margin: calc(49 / 960* 100%) 0 calc(22 / 960* 100%) 0;
      padding: calc(39 / 960* 100%) calc(40 / 960* 100%) calc(40 / 960* 100%) calc(50 / 960* 100%);
      border-radius: 0; }
      .layoutType02.image:after {
        flex-basis: calc(390 / 870 * 100%);
        margin: 0;
        padding: calc(257 / 870 * 100%) 0 0 0; }
      .layoutType02.image .list {
        flex-basis: calc(430 / 870 * 100%);
        margin: 0; }
    .layoutType02 .title {
      font-size: 2.6rem;
      line-height: 1.54;
      margin: 0 0 0.7em 0;
      padding: 0 0 0.5em 0; }
    .layoutType02 .list {
      font-size: 1.8rem;
      line-height: 1.89;
      margin: 0 0 calc(37 / 860 * 100%) 0; }
      .layoutType02 .list .listTitle {
        font-size: 2.6rem;
        line-height: 1.54;
        margin: 0 0 0.7em 0;
        padding: 0 0 0.5em 0; }
      .layoutType02 .list .row {
        margin: 0 0 calc(13 / 860* 100%) 0; }
        .layoutType02 .list .row .head {
          margin: 0 0 0.4em 0;
          padding: 0 0 0 1.4em; }
    .layoutType02 .textWrap {
      font-size: 1.8rem;
      line-height: 2.22;
      margin: 0 0 calc(66 / 960* 100%) 0; } }
#toContact .content {
  background-color: #ffffff;
  padding: 0 0 calc(86 / 1660* 100%) 0; }
#toContact .contentInner {
  max-width: 980px; }
#toContact .text {
  font-size: 1.8rem;
  line-height: 2.22;
  margin: 0 0 calc(14 / 960* 100%) 0; }

.contactType01 .list {
  margin: calc(30 / 710 * 100%) 0 calc(30 / 710 * 100%) 0; }
  .contactType01 .list.tel .contactCont .text {
    font-size: 2.4rem;
    line-height: 1.33;
    font-weight: 700;
    text-align: center;
    margin: 0 0 0.1em 0; }
  .contactType01 .list.tel .contactCont .num {
    justify-content: center;
    font-size: 3rem;
    line-height: 1.2; }
    .contactType01 .list.tel .contactCont .num:before {
      width: 1em;
      height: 1em;
      margin: 0 0.4em 0 0; }
  .contactType01 .list.mail .contactCont .button {
    width: calc(550 / 710 * 100%); }
  .contactType01 .list .contactTitle {
    margin: 0 0 0.2em 0; }
  .contactType01 .list .contactCont {
    position: relative;
    background-color: #f7f5ee;
    padding: calc(180 / 710 * 100%) 0 0 0;
    border-radius: 4rem; }
    .contactType01 .list .contactCont .contInner {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
      .contactType01 .list .contactCont .contInner > * {
        width: 100%; }

@media screen and (min-width: 769px) {
  .contactType01 {
    display: flex;
    justify-content: space-between; }
    .contactType01 .list {
      flex-basis: calc(415 / 860 * 100%);
      margin: 0; }
      .contactType01 .list.tel .contactCont .text {
        font-size: 1.6rem;
        line-height: 1.13; }
      .contactType01 .list.tel .contactCont .num {
        font-size: 3rem;
        line-height: 1.2; }
      .contactType01 .list.mail .contactCont .button {
        width: calc(355 / 415 * 100%); }
      .contactType01 .list .contactCont {
        padding: calc(140 / 415 * 100%) 0 0 0; } }
#guideArea.lower .content {
  padding: calc(88 / 750 * 100%) 0 calc(64 / 750 * 100%) 0; }
#guideArea .content {
  position: relative;
  padding: calc(88 / 750 * 100%) 0 calc(64 / 750 * 100%) 0; }
#guideArea .contentInner {
  position: relative;
  z-index: 1; }
#guideArea .titleWrap {
  position: relative;
  text-align: center;
  margin: 0 0 calc(170 / 710 * 100%) 0; }
  #guideArea .titleWrap:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(286 / 710 * 100%);
    background: url(/img/top/bg_cloud01.png) center top no-repeat;
    background-size: contain;
    margin: calc(-10 / 710 * 100%) 0 0 calc(30 / 710 * 100%);
    padding: calc(141 / 710 * 100%) 0 0 0; }
  #guideArea .titleWrap:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: calc(168 / 710 * 100%);
    background: url(/img/top/bg_cloud02_sp.png) center top no-repeat;
    background-size: contain;
    margin: calc(215 / 710 * 100%) calc(30 / 710 * 100%) 0 0;
    padding: calc(106 / 710 * 100%) 0 0 0; }
  #guideArea .titleWrap .title {
    position: relative;
    z-index: 1;
    font-size: 4rem;
    line-height: 2.4;
    font-weight: 700;
    letter-spacing: 0.05em; }
    #guideArea .titleWrap .title:after {
      content: "";
      display: block;
      background: url(/img/top/img_guide.png) center top no-repeat;
      background-size: contain;
      margin: calc(33 / 710 * 100%) 0 0 0;
      padding: calc(410 / 710 * 100%) 0 0 0; }
    #guideArea .titleWrap .title .line {
      display: inline-block;
      background: url(/img/common/bg_line_dot.png) left bottom repeat-x;
      background-size: 12px auto; }
#guideArea .animal {
  position: relative; }
  #guideArea .animal .animal01 {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: calc(202 / 710 * 100%);
    background: url(/img/top/img_animal01.png) center center no-repeat;
    background-size: contain;
    margin: 0 calc(45 / 710 * 100%) calc(10 / 710 * 100%) 0;
    padding: calc(175 / 710 * 100%) 0 0 0; }
#guideArea .block01 .block.block01_1 a .image {
  background-image: url(/img/top/img_guide_kindergarten.jpg); }
#guideArea .block01 .block.block01_2 a .image {
  background-image: url(/img/top/img_guide_schedule.jpg); }
#guideArea .block01 .block.block01_3 a .image {
  background-image: url(/img/top/img_guide_hamanasu.jpg); }
#guideArea .block01 .block a {
  display: block;
  position: relative; }
  #guideArea .block01 .block a .image {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 calc(20 / 710 * 100%) 0;
    padding: calc(470 / 710 * 100%) 0 0 0;
    border-radius: 0 4rem 0 0; }
    #guideArea .block01 .block a .image .name {
      position: absolute;
      bottom: 1em;
      left: 1em; }
#guideArea .block02 .block a {
  display: block;
  position: relative; }
  #guideArea .block02 .block a .textWrap {
    background-color: #ffffff;
    margin: 0 0 calc(20 / 710 * 100%) 0;
    padding: calc(30 / 710 * 100%) calc(45 / 710 * 100%) calc(30 / 710 * 100%) calc(30 / 710 * 100%);
    border-radius: 0 4rem 0 0; }
    #guideArea .block02 .block a .textWrap .name {
      display: inline-block;
      margin: 0 0 0.4em 0; }
    #guideArea .block02 .block a .textWrap .blockText {
      font-size: 2.6rem;
      line-height: 1.54;
      margin: 0; }
#guideArea .block {
  position: relative;
  margin: 0 0 calc(80 / 710 * 100%) 0; }
  #guideArea .block.large .blockText:after {
    content: "";
    display: block;
    width: 100%;
    background: url(/img/top/img_guide_about.jpg) center center no-repeat;
    background-size: contain;
    margin: calc(40 / 710 * 100%) 0 0 0;
    padding: calc(378 / 710 * 100%) 0 0 0;
    border-radius: 4rem; }
  #guideArea .block .blockTitle {
    font-size: 4rem;
    line-height: 1.6;
    font-weight: 700;
    margin: 0 0 calc(12 / 710 * 100%) 0; }
  #guideArea .block .blockText {
    font-size: 2.6rem;
    line-height: 1.77;
    margin: 0 0 calc(50 / 710 * 100%) 0; }
  #guideArea .block .name {
    color: #ffffff;
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
    background-color: #f399a8;
    padding: 0.7em 1.2em; }

@media screen and (min-width: 769px) {
  #guideArea.lower .content {
    padding: calc(72 / 1660 * 100%) 0 calc(70 / 1660 * 100%) 0; }
  #guideArea .content {
    padding: calc(147 / 1660 * 100%) 0 calc(70 / 1660 * 100%) 0; }
  #guideArea .titleWrap {
    width: 90%;
    max-width: 960px;
    text-align: left;
    margin: 0 auto calc(144 / 1400 * 100%) auto; }
    #guideArea .titleWrap:before {
      width: calc(238 / 960 * 100%);
      background: url(/img/top/bg_cloud01.png) center top no-repeat;
      background-size: contain;
      margin: calc(-80 / 960 * 100%) 0 0 calc(-108 / 960 * 100%);
      padding: calc(117 / 960 * 100%) 0 0 0; }
    #guideArea .titleWrap:after {
      width: calc(223 / 960 * 100%);
      background: url(/img/top/bg_cloud02.png) center top no-repeat;
      background-size: contain;
      margin: calc(142 / 960 * 100%) calc(-163 / 960 * 100%) 0 0;
      padding: calc(155 / 960 * 100%) 0 0 0; }
    #guideArea .titleWrap .title {
      font-size: 3.4rem;
      line-height: 2.15;
      letter-spacing: 0.015em; }
      #guideArea .titleWrap .title:after {
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1;
        width: calc(517 / 960 * 100%);
        margin: calc(-77 / 960 * 100%) 0 0 0;
        padding: calc(408 / 960 * 100%) 0 0 0; }
      #guideArea .titleWrap .title .line {
        background: url(/img/common/bg_line_dot.png) left bottom repeat-x;
        background-size: 0.58em auto;
        margin: 0 0 0.2em 0; }
  #guideArea .animal .animal01 {
    width: calc(168 / 1400 * 100%);
    margin: 0 calc(16 / 1400 * 100%) calc(-58 / 1400 * 100%) 0;
    padding: calc(145 / 1400 * 100%) 0 0 0; }
  #guideArea .block01 {
    display: flex; }
    #guideArea .block01 .block {
      flex-basis: calc(440 / 1400 * 100%);
      margin: 0 0 0 calc(40 / 1400 * 100%); }
      #guideArea .block01 .block.block01_1 {
        margin-left: 0; }
      #guideArea .block01 .block a {
        display: block;
        position: relative; }
        #guideArea .block01 .block a .image {
          margin: 0;
          padding: calc(292 / 440 * 100%) 0 0 0; }
          #guideArea .block01 .block a .image .name {
            font-size: 2rem;
            line-height: 1;
            padding: 0.7em 1.2em; }
      #guideArea .block01 .block .blockText {
        font-size: 1.8rem;
        line-height: 1.56;
        margin: calc(20 / 440 * 100%) 0 calc(38 / 440 * 100%) 0; }
  #guideArea .block02 {
    display: flex;
    flex-wrap: wrap; }
    #guideArea .block02 .block {
      flex-basis: calc(680 / 1400 * 100%);
      margin: 0 0 calc(27 / 1400 * 100%) calc(40 / 1400 * 100%); }
      #guideArea .block02 .block:nth-child(2n+1) {
        margin-left: 0; }
      #guideArea .block02 .block a .textWrap {
        display: flex;
        align-items: center;
        margin: 0;
        padding: calc(40 / 680 * 100%); }
        #guideArea .block02 .block a .textWrap .name {
          flex-shrink: 0;
          font-size: 2rem;
          line-height: 1;
          margin: 0 1.0em 0 0;
          padding: 0.7em 1.2em; }
        #guideArea .block02 .block a .textWrap .blockText {
          font-size: 1.8rem;
          line-height: 1.56; }
  #guideArea .block {
    margin: 0 0 calc(80 / 1400 * 100%) 0; }
    #guideArea .block.large {
      display: flex;
      align-items: center; }
      #guideArea .block.large:before {
        content: "";
        flex-basis: calc(750 / 1400 * 100%);
        width: 100%;
        background: url(/img/top/img_guide_about.jpg) left center no-repeat;
        background-size: contain;
        margin: 0 calc(60 / 1400 * 100%) 0 0;
        padding: calc(400 / 1400 * 100%) 0 0 0;
        border-radius: 4rem; }
      #guideArea .block.large .blockInner {
        flex-basis: calc(590 / 1400 * 100%);
        padding: calc(75 / 1400 * 100%) 0 0 0; }
      #guideArea .block.large .blockTitle {
        font-size: 3.4rem;
        line-height: 1.41;
        margin: 0 0 calc(10 / 590 * 100%) 0; }
      #guideArea .block.large .blockText {
        font-size: 1.8rem;
        line-height: 2.22;
        margin: 0 0 calc(18 / 590 * 100%) 0; }
        #guideArea .block.large .blockText:after {
          display: none; }
    #guideArea .block .blockTitle {
      font-size: 4rem;
      line-height: 1.6;
      font-weight: 700;
      margin: 0 0 calc(12 / 1400 * 100%) 0; }
    #guideArea .block .blockText {
      font-size: 2.6rem;
      line-height: 1.77;
      margin: 0 0 calc(50 / 1400 * 100%) 0; }
    #guideArea .block .name {
      color: #ffffff;
      font-size: 3.2rem;
      line-height: 1;
      font-weight: 700;
      background-color: #f399a8;
      padding: 0.7em 1.2em; } }
@media screen and (min-width: 1660px) {
  #guideArea .content:before {
    padding: calc(478 / 1660 * 100%) 0 0 0; }
  #guideArea .content:after {
    margin: calc(478 / 1660 * 100%) 0 0 0;
    padding: calc(234 / 1660 * 100%) 0 0 0; }
  #guideArea .animal .animal01 {
    margin: 0 calc(16 / 1400 * 100%) calc(-98 / 1400 * 100%) 0; } }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.pagingArea .navigation {
  padding: calc(29 / 710 * 100%) 0; }
  .pagingArea .navigation .nav-links {
    display: flex;
    align-items: center;
    justify-content: center; }
    .pagingArea .navigation .nav-links .page-numbers {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 2.5em;
      height: 2.5em;
      font-size: 2.4rem;
      line-height: 1;
      font-weight: 700;
      margin: 0 0.12em;
      border-radius: 50%;
      box-sizing: border-box; }
      .pagingArea .navigation .nav-links .page-numbers.current {
        color: #ffffff;
        background-color: #e56666; }
      .pagingArea .navigation .nav-links .page-numbers.dots {
        background-color: transparent; }
      .pagingArea .navigation .nav-links .page-numbers.prev {
        background-color: #ffffff; }
      .pagingArea .navigation .nav-links .page-numbers.next {
        background-color: #ffffff; }

@media screen and (min-width: 769px) {
  .pagingArea .navigation {
    padding: calc(41 / 792 * 100%) 0; }
    .pagingArea .navigation .nav-links a {
      transition: opacity 0.2s ease-out;
      backface-visibility: hidden;
      zoom: 1; }
      .pagingArea .navigation .nav-links a:hover {
        opacity: 0.8; }
    .pagingArea .navigation .nav-links .page-numbers {
      font-size: 1.6rem;
      line-height: 1;
      margin: 0 0.55em; } }
#modalImage .box {
  max-width: 90vw;
  margin: auto; }

@media screen and (min-width: 769px) {
  #modalImage .box {
    max-width: 980px; } }
#modalArea .modalContentWrap {
  opacity: 0;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100000;
  transform: translateY(100vh);
  transition: opacity 0.2s ease-out; }
  #modalArea .modalContentWrap .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(25, 25, 25, 0.8); }
  #modalArea .modalContentWrap .modalContent {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%; }
    #modalArea .modalContentWrap .modalContent:before {
      content: "";
      position: absolute;
      top: 3rem;
      right: 1rem;
      width: 4rem;
      height: 2px;
      background-color: #ffffff;
      transform: rotate(45deg); }
    #modalArea .modalContentWrap .modalContent:after {
      content: "";
      position: absolute;
      top: 3rem;
      right: 1rem;
      width: 4rem;
      height: 2px;
      background-color: #ffffff;
      transform: rotate(-45deg); }
  #modalArea .modalContentWrap.close .bg {
    display: none; }
  #modalArea .modalContentWrap.open {
    opacity: 1;
    transform: translateY(0); }

#page404 .content {
  padding: 0 0 calc(80 / 750 * 100%) 0; }

@media screen and (min-width: 769px) {
  #page404 .content {
    padding: calc(60 / 1660 * 100%) 0 calc(102 / 1660 * 100%) 0; }
  #page404 .contentInner {
    max-width: 980px; }
  #page404 .box {
    margin: 0 0 calc(58 / 960 * 100%) 0; }
    #page404 .box .title {
      border-bottom: 2px dotted #d3d3d3; } }
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 0;
  padding: calc(120 / 750 * 100%) 0 0 0; }
  #header .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: #ffffff;
    padding: calc(120 / 750 * 100%) 0 0 0; }
  #header .contentInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }
  #header .logoArea {
    position: relative;
    z-index: 1010;
    width: calc(314 / 750 * 100%);
    margin: 0 0 0 calc(36 / 750 * 100%); }
    #header .logoArea img {
      display: block; }

#globalNav .buttonWrap {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
  width: calc(120 / 750 * 100%);
  height: 0;
  padding: calc(120 / 750 * 100%) 0 0 0; }
  #globalNav .buttonWrap .menuButton {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    margin: auto; }
    #globalNav .buttonWrap .menuButton .wrap {
      position: relative;
      width: calc(50 / 120 * 100%);
      height: 0;
      margin: auto;
      padding: calc(38 / 120 * 100%) 0 0 0; }
      #globalNav .buttonWrap .menuButton .wrap span {
        position: absolute;
        left: 0;
        right: 0;
        height: 3px;
        background-color: #e56666;
        margin: 0;
        border-radius: 3px;
        transition: all 0.2s; }
        #globalNav .buttonWrap .menuButton .wrap span:nth-of-type(1) {
          top: 0; }
        #globalNav .buttonWrap .menuButton .wrap span:nth-of-type(2) {
          top: 0;
          bottom: 0;
          width: calc(30 / 50 * 100%);
          margin: auto 0; }
        #globalNav .buttonWrap .menuButton .wrap span:nth-of-type(3) {
          bottom: 0;
          width: calc(40 / 50 * 100%); }
#globalNav .menu {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  height: 0;
  background-color: #f7f5ee;
  padding: calc(140 / 750 * 100%) 0 calc(100 / 750 * 100%) 0;
  box-sizing: border-box;
  transition: height 0.1s ease-out;
  -webkit-overflow-scrolling: touch; }
#globalNav .box {
  width: calc(710 / 750 * 100%);
  background-color: #ffffff;
  margin: 0 auto;
  padding: calc(20 / 750 * 100%) 0 calc(47 / 750 * 100%) 0;
  border-radius: 4rem; }
  #globalNav .box.other {
    background-color: transparent;
    padding: calc(37 / 750 * 100%) 0 calc(47 / 750 * 100%) 0; }
    #globalNav .box.other .list .item {
      padding: calc(10 / 610 * 100%) 0 calc(11 / 610 * 100%) 0;
      border-bottom: 0; }
  #globalNav .box .list {
    padding: 0 calc(50 / 750 * 100%); }
    #globalNav .box .list .item {
      font-size: 3rem;
      line-height: 1;
      font-weight: 700;
      padding: calc(15 / 610 * 100%) 0 calc(13 / 610 * 100%) 0;
      border-bottom: 1px solid #e6e6e6; }
      #globalNav .box .list .item.open .parent .button:before {
        transform: rotate(180deg); }
      #globalNav .box .list .item.open .parent .button:after {
        opacity: 0; }
      #globalNav .box .list .item a {
        display: inline-block;
        position: relative;
        padding: 0.5em 0; }
      #globalNav .box .list .item .parent {
        display: block;
        position: relative; }
        #globalNav .box .list .item .parent .button {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 1.8rem;
          width: 4rem;
          height: 4rem;
          background-color: #e56666;
          margin: auto;
          border-radius: 50%; }
          #globalNav .box .list .item .parent .button:before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            width: 2rem;
            height: 2px;
            background-color: #ffffff;
            margin: auto;
            transition: all 0.2s; }
          #globalNav .box .list .item .parent .button:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            width: 2px;
            height: 2rem;
            background-color: #ffffff;
            margin: auto;
            transition: all 0.2s; }
      #globalNav .box .list .item .child .childInner .childCont {
        padding: calc(9 / 610 * 100%) 0 calc(2 / 610 * 100%) calc(15 / 610 * 100%); }
        #globalNav .box .list .item .child .childInner .childCont a {
          position: relative;
          font-size: 2.8rem;
          line-height: 1;
          font-weight: 400;
          padding-left: 1em; }
          #globalNav .box .list .item .child .childInner .childCont a:before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0.1em;
            z-index: 1;
            width: 0.5em;
            height: 0.5em;
            background-color: #141414;
            margin: auto;
            clip-path: polygon(0 0, 80% 50%, 0 100%); }
#globalNav .tel {
  text-align: center;
  margin: 0 0 calc(20 / 750 * 100%) 0; }
  #globalNav .tel .num {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e56666;
    font-size: 4.5rem;
    line-height: 1.16; }
    #globalNav .tel .num:before {
      content: "";
      display: inline-block;
      width: 1.1em;
      height: 1.1em;
      background: url(/img/common/icon_tel_pink.png) center center no-repeat;
      background-size: contain;
      margin: 0 0.4em 0 0; }
  #globalNav .tel .time {
    flex-basis: 100%;
    font-size: 2.4rem;
    line-height: 1.63; }
#globalNav .buttonArea .button {
  width: calc(550 / 750 * 100%);
  font-size: 3rem;
  line-height: 1;
  margin: 0 auto calc(45 / 750 * 100%) auto;
  padding: 1.4em 0.3em 1.3em 0.3em; }
  #globalNav .buttonArea .button.instagram .icon:before {
    width: 1.3em;
    height: 1.3em;
    margin: 0 0.65em 0 0; }
#globalNav.open .menuButton .wrap span:nth-of-type(1) {
  bottom: 0;
  left: 0;
  margin: auto;
  transform: translateY(50%) translateY(-2px) rotate(-45deg); }
#globalNav.open .menuButton .wrap span:nth-of-type(2) {
  opacity: 0;
  left: 0; }
#globalNav.open .menuButton .wrap span:nth-of-type(3) {
  top: 0;
  left: 0;
  width: 100%;
  margin: auto;
  transform: translateY(-50%) translateY(2px) rotate(45deg); }
#globalNav.open .menu {
  overflow: auto;
  height: 100vh; }
  #globalNav.open .menu:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1009;
    height: 0;
    background-color: #ffffff;
    padding: calc(120 / 750 * 100%) 0 0 0; }

@media screen and (min-width: 769px) {
  #header {
    padding: 126px 0 0 0; }
    #header .content {
      padding: 126px 0 0 0; }
    #header .contentInner {
      max-width: 1660px;
      padding: 0 130px 0 10px; }
    #header .logoArea {
      flex-shrink: 0;
      width: calc(269 / 1400 * 100%);
      min-width: 269px;
      margin: 0;
      padding: 0 calc(20 / 1400 * 100%) 0 0; }
    #header .navWrap {
      flex-basis: calc(1100 / 1400 * 100%); }

  #pcNav {
    display: none;
    width: 100%; }
    #pcNav .list {
      display: flex;
      justify-content: flex-end;
      width: 100%; }
      #pcNav .list .item {
        display: flex;
        align-items: center;
        flex-basis: calc(190 / 1003 * 100%);
        height: inherit;
        font-size: 1.4rem;
        line-height: 1;
        text-align: center;
        background: url(/img/common/bg_dot.png) left top repeat-y;
        background-size: 3px auto; }
        #pcNav .list .item.itemAbout a:before {
          background-image: url(/img/common/icon_header_about.png); }
        #pcNav .list .item.itemKindergarten a:before {
          background-image: url(/img/common/icon_header_kindergarten.png); }
        #pcNav .list .item.itemNursery a:before {
          background-image: url(/img/common/icon_header_nursery.png); }
        #pcNav .list .item.itemAdmission a:before {
          background-image: url(/img/common/icon_header_admission.png); }
        #pcNav .list .item.itemAccess a:before {
          background-image: url(/img/common/icon_header_access.png); }
        #pcNav .list .item.buttonArea {
          display: none;
          align-items: center;
          flex-wrap: wrap;
          flex-basis: calc(204 / 1003 * 100%);
          min-width: 120px; }
          #pcNav .list .item.buttonArea a {
            width: calc(173 / 204 * 100%);
            min-width: 110px;
            font-size: 1.2rem;
            line-height: 1;
            font-weight: 700;
            margin: 0.3em 0 0.3em auto;
            padding: 0.8em 0; }
            #pcNav .list .item.buttonArea a:before {
              display: none; }
            #pcNav .list .item.buttonArea a .icon:after {
              width: 0.5em;
              height: 0.5em;
              right: 0.5em; }
        #pcNav .list .item a {
          display: block;
          width: 100%;
          padding: calc(11 / 160 * 100%) 0 calc(11 / 160 * 100%) 0; }
          #pcNav .list .item a:before {
            content: "";
            display: block;
            background-position: center top;
            background-repeat: no-repeat;
            background-size: contain;
            margin: 0 0 calc(9 / 160 * 100%) 0;
            padding: calc(38 / 160 * 100%) 0 0 0; }

  #globalNav {
    height: 100%; }
    #globalNav .buttonWrap {
      width: 130px;
      padding: 126px 0 0 0; }
      #globalNav .buttonWrap .menuButton .wrap {
        width: calc(50 / 130 * 100%);
        padding: calc(36 / 130 * 100%) 0 0 0; }
        #globalNav .buttonWrap .menuButton .wrap span {
          height: 6px; }
    #globalNav .menu {
      max-width: 1100px;
      margin: 0 0 0 auto;
      padding: 115px 0 100px 0; }
    #globalNav .box {
      display: flex;
      justify-content: space-between;
      width: calc(960 / 1100 * 100%);
      padding: calc(28 / 1100 * 100%) calc(50 / 1100 * 100%) calc(40 / 1100 * 100%) calc(50 / 1100 * 100%);
      border-radius: 4rem; }
      #globalNav .box.other {
        padding: calc(30 / 1100 * 100%) 0 calc(47 / 1100 * 100%) 0; }
        #globalNav .box.other .list {
          display: flex;
          justify-content: space-around;
          flex-basis: 100%;
          padding: 0 calc(30 / 960 * 100%); }
          #globalNav .box.other .list .item {
            padding: 0; }
      #globalNav .box .list {
        flex-basis: calc(410 / 860 * 100%);
        padding: 0; }
        #globalNav .box .list .item {
          font-size: 1.8rem;
          line-height: 1;
          padding: calc(12 / 410 * 100%) 0; }
          #globalNav .box .list .item a {
            padding: 0.5em 0; }
          #globalNav .box .list .item .parent .button {
            right: 1.4rem;
            width: 2.6rem;
            height: 2.6rem; }
            #globalNav .box .list .item .parent .button:before {
              width: 1.3rem; }
            #globalNav .box .list .item .parent .button:after {
              height: 1.3rem; }
          #globalNav .box .list .item .child .childInner .childCont {
            padding: calc(8 / 410 * 100%) 0 calc(2 / 410 * 100%) calc(8 / 410 * 100%); }
            #globalNav .box .list .item .child .childInner .childCont a {
              font-size: 1.8rem;
              line-height: 1;
              padding-left: 1.2em; }
    #globalNav .tel {
      margin: 0 0 calc(20 / 1100 * 100%) 0; }
      #globalNav .tel .num {
        font-size: 3rem;
        line-height: 1; }
        #globalNav .tel .num:before {
          width: 1.1em;
          height: 1.1em;
          margin: 0 0.4em 0 0; }
      #globalNav .tel .time {
        font-size: 1.6rem;
        line-height: 1.63; }
    #globalNav .buttonArea .button {
      width: 100%;
      max-width: 370px;
      font-size: 2rem;
      line-height: 1;
      margin: 0 auto calc(30 / 1100 * 100%) auto;
      padding: 1.5em 0.3em 1.5em 0.3em; }
      #globalNav .buttonArea .button.instagram .icon:before {
        width: 1.3em;
        height: 1.3em;
        margin: 0 0.65em 0 0; }
    #globalNav.open .menuButton .wrap span:nth-of-type(1) {
      transform: translateY(50%) translateY(-3px) rotate(-45deg); }
    #globalNav.open .menuButton .wrap span:nth-of-type(3) {
      transform: translateY(-50%) translateY(3px) rotate(45deg); }
    #globalNav.open .menu:before {
      display: none; } }
@media screen and (min-width: 800px) {
  #header .logoArea {
    min-width: 200px; }

  #pcNav {
    display: block; } }
@media screen and (min-width: 900px) {
  #pcNav .list .item {
    flex-basis: calc(160 / 1003 * 100%);
    font-size: 1.6rem;
    line-height: 1; }
    #pcNav .list .item.buttonArea {
      display: flex; } }
@media screen and (min-width: 1000px) {
  #header .navWrap {
    flex-basis: calc(1004 / 1400 * 100%); }

  #pcNav .list .item {
    font-size: 1.6rem;
    line-height: 1; }
    #pcNav .list .item.buttonArea {
      min-width: 160px; }
      #pcNav .list .item.buttonArea a {
        min-width: 146px;
        font-size: 1.4rem;
        line-height: 1; }
        #pcNav .list .item.buttonArea a .icon:after {
          right: 1em; } }
@media screen and (min-width: 1400px) {
  #header .contentInner {
    padding: 0 130px; } }
#footer .content {
  color: #ffffff;
  background-color: #f399a8;
  padding: calc(89 / 750 * 100%) 0 calc(36 / 750 * 100%) 0; }
#footer .logo {
  width: calc(397 / 710 * 100%);
  margin: 0 auto calc(70 / 710 * 100%) auto; }
#footer .wrap {
  display: flex;
  margin: 0 0 calc(63 / 710 * 100%) 0; }
  #footer .wrap .column {
    flex-basis: 50%; }
  #footer .wrap .row {
    flex-basis: 50%; }
    #footer .wrap .row .item p {
      font-size: 2.8rem;
      line-height: 1.43;
      padding: 0.2em 1.5em; }
      #footer .wrap .row .item p a {
        display: inline-block;
        padding: 0.5em 0; }
        #footer .wrap .row .item p a .home {
          display: flex;
          align-items: center;
          justify-content: center; }
          #footer .wrap .row .item p a .home:before {
            content: "";
            display: inline-block;
            width: 1.0em;
            height: 1.0em;
            background: url(/img/common/icon_home.png) center center no-repeat;
            background-size: contain;
            margin: 0 0.5em 0 0; }
    #footer .wrap .row .item .child {
      display: none; }
  #footer .wrap .info {
    flex-basis: 100%;
    text-align: center;
    padding: calc(71 / 710 * 100%) 0 calc(30 / 710 * 100%) 0; }
    #footer .wrap .info .tel {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      margin: 0 0 calc(3 / 710 * 100%) 0; }
      #footer .wrap .info .tel .num {
        display: flex;
        align-items: center;
        font-size: 4.5rem;
        line-height: 1.16; }
        #footer .wrap .info .tel .num:before {
          content: "";
          display: inline-block;
          width: 1.1em;
          height: 1.1em;
          background: url(/img/common/icon_tel_white.png) center center no-repeat;
          background-size: contain;
          margin: 0 0.4em 0 0; }
    #footer .wrap .info .time {
      font-size: 2.4rem;
      line-height: 1.63;
      margin: 0 0 calc(8 / 710 * 100%) 0; }
    #footer .wrap .info .address {
      font-size: 2.6rem;
      line-height: 1.38; }
#footer .copyright {
  font-size: 2.4rem;
  line-height: 1;
  text-align: center; }

@media screen and (min-width: 769px) {
  #footer .content {
    padding: calc(98 / 1660 * 100%) 0 calc(37 / 1660 * 100%) 0; }
  #footer .contentInner {
    max-width: 980px; }
  #footer .logo {
    width: calc(268 / 960 * 100%);
    margin: 0 0 calc(10 / 960 * 100%) 0; }
  #footer .wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 calc(8 / 980 * 100%) 0; }
    #footer .wrap .column {
      display: flex;
      justify-content: space-between;
      flex-basis: calc(720 / 960 * 100%); }
      #footer .wrap .column .row {
        flex-basis: calc(220 / 720 * 100%); }
        #footer .wrap .column .row:nth-of-type(2) {
          flex-basis: calc(117 / 720 * 100%); }
        #footer .wrap .column .row:nth-of-type(3) {
          flex-basis: calc(208 / 720 * 100%); }
    #footer .wrap .row {
      flex-basis: calc(162 / 960 * 100%); }
      #footer .wrap .row .item {
        padding: 0 0 0.5em 0; }
        #footer .wrap .row .item p {
          font-size: 1.8rem;
          line-height: 1.56;
          font-weight: 700;
          padding: 0; }
          #footer .wrap .row .item p a {
            white-space: nowrap;
            padding: 0.1em 0; }
            #footer .wrap .row .item p a .home:before {
              width: 1.0em;
              height: 1.0em;
              margin: 0 0.5em 0 0; }
        #footer .wrap .row .item .child {
          display: block; }
          #footer .wrap .row .item .child p {
            font-weight: 400; }
            #footer .wrap .row .item .child p a {
              position: relative;
              padding-left: 1em; }
              #footer .wrap .row .item .child p a:before {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0.1em;
                z-index: 1;
                width: 0.5em;
                height: 0.5em;
                background-color: #ffffff;
                margin: auto;
                clip-path: polygon(0 0, 80% 50%, 0 100%); }
      #footer .wrap .row .buttonArea {
        padding: calc(15 / 220 * 100%) 0 0 0; }
        #footer .wrap .row .buttonArea .button {
          font-size: 1.4rem;
          line-height: 1.14;
          text-align: left;
          padding: 1.5em 0.3em 1.2em 0.3em; }
          #footer .wrap .row .buttonArea .button .icon:before {
            width: 1.8em;
            height: 1.8em; }
    #footer .wrap .info {
      flex-basis: calc(480 / 960 * 100%);
      text-align: left;
      padding: calc(5 / 960 * 100%) 0 calc(30 / 960 * 100%) 0; }
      #footer .wrap .info .tel {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin: 0 0 calc(3 / 480 * 100%) 0; }
        #footer .wrap .info .tel .num {
          display: flex;
          align-items: center;
          font-size: 3rem;
          line-height: 1.17; }
          #footer .wrap .info .tel .num:before {
            content: "";
            display: inline-block;
            width: 1.1em;
            height: 1.1em;
            background: url(/img/common/icon_tel_white.png) center center no-repeat;
            background-size: contain;
            margin: 0 0.4em 0 0; }
      #footer .wrap .info .time {
        font-size: 1.6rem;
        line-height: 1.63;
        margin: 0 0 calc(8 / 480 * 100%) 0; }
      #footer .wrap .info .address {
        font-size: 1.8rem;
        line-height: 1.33; }
    #footer .wrap .banner {
      flex-basis: calc(360 / 960 * 100%); }
  #footer .copyright {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.1em;
    padding: calc(17 / 960 * 100%) 0 0 0; } }
/* titleType01 */
.titleType01 {
  text-align: center; }
  .titleType01 .en {
    display: block;
    color: #3cb7be;
    font-family: "Lato", sans-serif;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 700;
    margin: 0 0 0.5em 0; }
  .titleType01 .ja {
    display: block;
    font-size: 5.6rem;
    line-height: 1;
    font-weight: 700; }

@media screen and (min-width: 769px) {
  .titleType01 .en {
    font-size: 1.8rem;
    line-height: 1;
    margin: 0 0 0.5em 0; }
  .titleType01 .ja {
    font-size: 3.8rem;
    line-height: 1; } }
/* titleType02 */
.titleType02 {
  font-size: 5.6rem;
  line-height: 1;
  font-weight: 700;
  text-align: center; }
  .titleType02 .icon:before {
    content: "";
    display: block;
    width: 16rem;
    height: 12rem;
    margin: 0 auto 0.25em auto;
    padding: 0; }
  .titleType02 .ruby {
    display: block;
    font-size: 2.2rem;
    line-height: 1.59;
    letter-spacing: -0.1em; }
  .titleType02 .small {
    display: block;
    font-size: 2.2rem;
    line-height: 1.59; }

@media screen and (min-width: 769px) {
  .titleType02 {
    font-size: 4rem;
    line-height: 1; }
    .titleType02 .icon:before {
      width: 100px;
      height: 75px;
      margin: 0 auto 0.25em auto;
      padding: 0; }
    .titleType02 .ruby {
      display: block;
      font-size: 2.2rem;
      line-height: 1.59;
      letter-spacing: -0.1em; }
    .titleType02 .small {
      display: block;
      font-size: 2.2rem;
      line-height: 1.59; } }
/* titleType03 */
.titleType03 {
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 700;
  margin: 0 0 0.7em 0;
  padding: 0 0 0.5em 0;
  border-bottom: 1px dotted #bebebe; }

@media screen and (min-width: 769px) {
  .titleType03 {
    font-size: 2.6rem;
    line-height: 1.54; } }
/* titleType04 */
.titleType04 {
  font-size: 3.8rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  margin: 0 0 0.85em 0;
  padding: 0 0 0.7em 0;
  border-bottom: 1px dotted #bebebe; }

/* titleType05 */
.titleType05 {
  font-size: 2.8rem;
  line-height: 1.29;
  font-weight: 700;
  background-color: #fef1c1;
  padding: 0.5em 1em 0.41em 1em; }

@media screen and (min-width: 769px) {
  .titleType05 {
    font-size: 2.2rem;
    line-height: 1.27; } }
/* titleType06 */
.titleType06 {
  position: relative;
  font-size: 4rem;
  line-height: 2.4;
  font-weight: 700;
  text-align: center;
  padding: calc(26 / 710 * 100%) 0; }
  .titleType06.cloudL {
    padding: calc(20 / 710* 100%) 0; }
    .titleType06.cloudL:before {
      max-width: 1200px;
      padding: calc(194 / 710 * 100%) 0 0 0; }
  .titleType06:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 710px;
    height: 0;
    margin: auto;
    padding: calc(118 / 710 * 100%) 0 0 0; }
  .titleType06 .line {
    display: inline-block;
    position: relative;
    z-index: 1;
    background: url(/img/common/bg_line_dot_grey.png) left bottom repeat-x;
    background-size: 20px auto; }

@media screen and (min-width: 769px) {
  .titleType06 {
    font-size: 3.4rem;
    line-height: 2.35;
    padding: calc(26 / 960 * 100%) 0; }
    .titleType06.cloudL {
      padding: calc(20 / 960* 100%) 0; }
      .titleType06.cloudL:before {
        max-width: 1200px;
        background: url(/img/common/bg_cloud_l.png) center center no-repeat;
        background-size: contain;
        padding: calc(194 / 960 * 100%) 0 0 0; }
    .titleType06:before {
      max-width: 960px;
      background: url(/img/common/bg_cloud.png) center center no-repeat;
      background-size: contain;
      padding: calc(118 / 960 * 100%) 0 0 0; } }
/* titleType07 */
.titleType07 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #ffffff;
  font-size: 3.4rem;
  line-height: 1.18;
  font-weight: 700;
  text-align: center;
  background-color: #f399a8;
  padding: calc(20 / 960 * 100%) 0;
  margin: 0 calc(10 / 960 * 100%); }
  .titleType07:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: calc(10 / 960 * 100%);
    background: url(/img/common/bg_title07_l.png) right center no-repeat;
    background-size: cover; }
  .titleType07:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: calc(10 / 960 * 100%);
    background: url(/img/common/bg_title07_r.png) left center no-repeat;
    background-size: cover; }
  .titleType07 .small {
    font-size: 2.8rem;
    line-height: 1.43;
    margin: 0 0.7em 0 0; }

/* titleType08 */
.titleType08 {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.67;
  font-weight: 700;
  padding: 0 0 0 1.4em; }
  .titleType08:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.9em;
    height: 0.9em;
    margin: auto;
    border: 0.3em solid #fbd74d;
    border-radius: 50%;
    box-sizing: border-box; }

@media screen and (min-width: 769px) {
  .titleType08 {
    font-size: 1.8rem;
    line-height: 2.22; } }
/* titleType09 */
.titleType09 {
  font-size: 4rem;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 0.8em 0;
  padding: 0 0 0.4em 0;
  border-bottom: 2px dotted #d3d3d3; }

@media screen and (min-width: 769px) {
  .titleType09 {
    font-size: 3.8rem;
    line-height: 1.58; } }
/* titleType10 */
.titleType10 {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  background-color: #f7f5ee;
  padding: 0.4em 1em; }

/* buttonType01 */
.buttonType01, .buttonType02 {
  display: block;
  position: relative;
  max-width: calc(550 / 710 * 100%);
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  background-color: #ffea00;
  margin: auto;
  padding: 1.19em 0.3em 1.08em 0.3em;
  border-radius: 2.5em;
  box-sizing: border-box; }
  .buttonType01 .icon, .buttonType02 .icon {
    display: block;
    position: relative; }
  .buttonType01 input, .buttonType02 input,
  .buttonType01 button,
  .buttonType02 button {
    cursor: pointer;
    font-weight: 700; }
  .buttonType01.left, .left.buttonType02 {
    text-align: left; }
  .buttonType01.blue, .blue.buttonType02 {
    color: #ffffff;
    background-color: #3cb7be; }
    .buttonType01.blue.next .icon:after, .blue.next.buttonType02 .icon:after {
      background-color: #2a8f95; }
  .buttonType01.next .icon, .next.buttonType02 .icon {
    padding: 0 1em; }
    .buttonType01.next .icon:after, .next.buttonType02 .icon:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1em;
      z-index: 1;
      width: 0.8em;
      height: 0.8em;
      background-color: #e5d200;
      margin: auto;
      clip-path: polygon(0 0, 80% 50%, 0 100%); }
  .buttonType01.prev, .prev.buttonType02 {
    background-color: #d3d3d3; }
    .buttonType01.prev .icon, .prev.buttonType02 .icon {
      padding: 0 1em; }
      .buttonType01.prev .icon:after, .prev.buttonType02 .icon:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1em;
        z-index: 1;
        width: 0.8em;
        height: 0.8em;
        background-color: #bebebe;
        margin: auto;
        clip-path: polygon(20% 50%, 100% 0, 100% 100%); }
  .buttonType01.instagram, .instagram.buttonType02 {
    color: #141414;
    font-size: 2.4rem;
    line-height: 1;
    background-color: #ffffff;
    padding: 1.6em 0.3em 1.5em 0.3em; }
    .buttonType01.instagram .icon, .instagram.buttonType02 .icon {
      display: flex;
      align-items: center;
      justify-content: center; }
      .buttonType01.instagram .icon:before, .instagram.buttonType02 .icon:before {
        content: "";
        display: inline-block;
        width: 1.5em;
        height: 1.5em;
        background: url(/img/common/icon_instagram.png) center center no-repeat;
        background-size: contain;
        margin: 0 1.0em 0 0; }
  .buttonType01.pdf, .pdf.buttonType02 {
    font-size: 2.4rem;
    line-height: 1;
    text-align: left;
    padding: 1.3em 0.5em 1.4em 2.0em; }
    .buttonType01.pdf .icon, .pdf.buttonType02 .icon {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .buttonType01.pdf .icon:after, .pdf.buttonType02 .icon:after {
        content: "";
        display: inline-block;
        width: 1.3em;
        height: 1.3em;
        background: url(/img/common/icon_pdf.png) center center no-repeat;
        background-size: contain;
        margin: 0 1.0em 0 0; }

@media screen and (min-width: 769px) {
  .buttonType01, .buttonType02 {
    max-width: 370px;
    font-size: 2rem;
    line-height: 1.4;
    padding: 1.3em 0.3em; }
    .buttonType01.pdf, .pdf.buttonType02 {
      max-width: 460px;
      font-size: 2rem;
      line-height: 1; } }
/* buttonType02 */
.buttonType02 {
  background: #141414; }

/* linkType01 */
.linkType01 {
  position: relative;
  font-size: 2.6rem;
  line-height: 1.54;
  font-weight: 700;
  padding: 0 1.2em 0 0; }
  .linkType01:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 0.7em;
    height: 0.7em;
    background-color: #f399a8;
    margin: auto;
    clip-path: polygon(0 0, 80% 50%, 0 100%); }

/* linkType02 */
.linkType02 {
  position: relative; }
  .linkType02:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 7.2rem;
    height: 7.2rem;
    background-color: #ffea00;
    margin: auto;
    border-radius: 100% 0 0 0; }
  .linkType02:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1.6rem;
    right: 1.2rem;
    z-index: 1;
    width: 2.4rem;
    height: 2.4rem;
    background-color: #e5d200;
    margin: auto;
    clip-path: polygon(0 0, 80% 50%, 0 100%); }

@media screen and (min-width: 769px) {
  .linkType02:before {
    width: 4.6rem;
    height: 4.6rem; }
  .linkType02:after {
    bottom: 1.0rem;
    right: 0.9rem;
    width: 1.4rem;
    height: 1.4rem; } }
/* categoryType01 */
.categoryType01 {
  display: inline-block;
  min-width: 7em;
  font-size: 1.4rem;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  background-color: #e56666;
  padding: 0.5em 0.5em; }
  .categoryType01.info {
    background-color: #f7b517; }
  .categoryType01.hiyoko {
    background-color: #f399a8; }
  .categoryType01.hamanasu {
    background-color: #f399a8; }
  .categoryType01.release {
    background-color: #6c9b33; }
  .categoryType01.event {
    background-color: #52abb0; }
  .categoryType01.song {
    background-color: #e85c6f; }
