@charset 'utf-8';
/*
Theme Name: グッドスターキッズハウス株式会社
Version: 1.0
*/
/*reset*/
/*******************************************************************/
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%
}
*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit
}
:after, :before {
  text-decoration: inherit;
  vertical-align: inherit
}
* {
  padding: 0;
  margin: 0
}
audio:not([controls]) {
  display: none;
  height: 0
}
hr {
  overflow: visible
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block
}
summary {
  display: list-item
}
small {
  font-size: 80%
}
[hidden], template {
  display: none
}
abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}
a:active, a:hover {
  outline-width: 0
}
code, kbd, pre, samp {
  font-family: monospace, monospace
}
b, strong {
  font-weight: bolder
}
dfn {
  font-style: italic
}
mark {
  background-color: #ff0;
  color: #000
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
input {
  border-radius: 0
}
[role=button], [type=button], [type=reset], [type=submit], 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: 700
}
button {
  overflow: visible
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: 0;
  padding: 0
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText
}
[type=reset], [type=submit], button, html [type=button] {
  -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 {
  width: auto;
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: middle
}
i {
  vertical-align: middle
}
progress {
  vertical-align: baseline
}
svg:not(:root) {
  overflow: hidden
}
audio, canvas, progress, video {
  display: inline-block
}
@media screen {
  [hidden ~ =screen] {
    display: inherit
  }
  [hidden ~ =screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important
  }
}
[aria-busy=true] {
  cursor: progress
}
[aria-controls] {
  cursor: pointer
}
[aria-disabled] {
  cursor: default
}
::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}
::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}
ul, ol {
  list-style: none
}
i {
  font-style: normal
}
a {
  color: #6E480D;
  transition: all .2s ease-out;
  text-decoration: none;
}
a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
  opacity: 0.6;
}
*:focus {
  outline: none;
}
/*LAYOUT*/
/*******************************************************************/
html {
  font-size: 62.5%;
}
body {
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  background: #FFF4DE url("img/common/bg.png") center top no-repeat;
  font-family: 'fot-udmarugo-large-pr6n', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: normal;
  font-feature-settings: "palt";
  line-height: 1.4;
  color: #6E480D;
}
#container {
  width: 100%;
  overflow: hidden;
}
#loading {
  z-index: 100000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #FFF url("img/common/loading.svg") center center no-repeat;
}
h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: 600;
	letter-spacing: 0.025em;
}
/*HEADER*/
/*******************************************************************/
#header {
  position: relative;
  width: 100%;
  max-width: 1028px;
  margin: 0 auto;
  padding: 0 14px;
  z-index: 9999;
}
#spnav, #open {
  display: none;
}
/*FOOTER*/
/*******************************************************************/
#footer {
  width: 100%;
/*   max-width: 1028px; */
  margin: 0 auto;
/*   padding: 0 14px; */
}
#pagetop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 500;
}
#pagetop a {
  display: inline-block;
  transform: rotate(-90deg);
  width: 56px;
  height: 56px;
  background: #6E480D url("img/common/arr.png") center no-repeat;
  background-size: 15px 17px;
  border-radius: 50%;
  text-indent: -9999px;
  font-size: 0;
  overflow: hidden;
}
#copyright address {
  font-size: 1.2rem;
  font-style: normal;
}
/*CONTENTS*/
/*******************************************************************/
#main {
  width: 100%;
  max-width: 1028px;
  margin: 0 auto;
  padding: 0 14px;
}
article {
  position: relative;
  padding: 44px 0;
}
article header {
  padding-bottom: 32px;
  text-align: center;
}
article header p {
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  color: #EA7E00;
}
article header h1, article header h2 {
  position: relative;
  display: inline-block;
  padding: 0 6px 4px;
  background: linear-gradient(transparent 70%, rgba(246, 236, 79, .67) 70%);
  font-size: 3.4rem;
  color: #EB5845;
}
article header h1::after, article header h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 4px;
  height: 40%;
  background: #F6EC4F;
  mix-blend-mode: multiply;
}
article h3 {
  margin-bottom: 24px;
  font-size: 2.5rem;
}
article p {
  line-height: 2;
	letter-spacing: 0.025em;
}
section {
  position: relative;
}
section + header, section + section {
  padding-top: 48px;
}
figure {
  position: relative;
}
video {
  width: 100%;
}
.radius {
  border-radius: 52px;
}
.radius-min {
  border-radius: 20px;
}
.radius-circle {
  border-radius: 50%;
}
.border {
  border: 8px solid #FFF;
}
.center {
  text-align: center !important;
}
.pccenter {
  text-align: center;
}
.right {
  text-align: right !important;
}
.left {
  text-align: left !important;
}
.row {
  display: flex;
  max-width: initial;
  margin-left: -16px;
  margin-right: -16px;
  margin-bottom: -24px;
}
.row > * {
  flex: 1;
  margin: 0 16px 24px;
  padding: 0;
}
.reverse {
  flex-direction: row-reverse;
}
.jc-center {
  justify-content: center;
}
.ai-center {
  align-items: center;
}
.w185 {
  flex: none;
  width: 18%;
}
.w270 {
  flex: none;
  width: 27%;
  max-width: 270px;
}
.w310 {
  flex: none;
  width: 30%;
  max-width: 310px;
}
.w355 {
  flex: none;
/*  width: 32%;*/
  max-width: 355px;
}
.w400 {
  flex: none;
  width: 40%;
  max-width: 400px;
}

.w445 {
	flex: none;
	width: 45%;
	max-width: 445px;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb24 {
  margin-bottom: 24px !important;
}


.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt24 {
  margin-top: 24px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt90 {
  margin-top: 90px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.fs12 {
  font-size: 1.2rem !important;
}
.fs13 {
  font-size: 1.3rem !important;
}
.fs14 {
  font-size: 1.4rem !important;
}
.fs15 {
  font-size: 1.5rem !important;
}
.fs16 {
  font-size: 1.6rem !important;
}
.fs17 {
  font-size: 1.7rem !important;
}
.fs18 {
  font-size: 1.8rem !important;
}
.fs19 {
  font-size: 1.9rem !important;
}
.fs20 {
  font-size: 2.0rem !important;
}
.fs21 {
  font-size: 2.1rem !important;
}
.fs22 {
  font-size: 2.2rem !important;
}
.fs23 {
  font-size: 2.3rem !important;
}
.fs24 {
  font-size: 2.4rem !important;
}
*[data-color="blue"] {
  color: #1289C9 !important;
}
*[data-color="lightblue"] {
  color: #49A3FD !important;
}
*[data-color="orange"] {
  color: #EA7E00 !important;
}

*[data-color="orangered"] {
  color: #F06600 !important;
}

*[data-color="green"] {
  color: #00AA6E !important;
}

*[data-color="brown"] {
  color: #A8410B !important;
}
*[data-color="red"] {
  color: #C72E00 !important;
}
*[data-color="pink"] {
  color: #F26654 !important;
}
*[data-bg="blue"] {
  background: #1289C9 !important;
}
*[data-bg="orange"] {
  background: #F77B00 !important;
}

*[data-bg="light_orange"] {
	background: #FFA700 !important;
	color: #6E480D !important;
}

*[data-bg="orangered"] {
  background: #F06600 !important;
}

[data-bg="green"] {
  background: #00AA6E !important;
}

*[data-bg="brown"] {
  background: #A8410B !important;
}
.btn a {
  position: relative;
  display: inline-block;
  padding: 18px 24px;
  text-align: center;
  background: #F26654;
  border-radius: 11px;
  font-size: 1.7rem;
  line-height: 1;
  color: #FFF;
  box-shadow: -4px 4px 0 #F6EC4F;
}
.btn a::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 17px;
  margin-left: 16px;
  vertical-align: middle;
  background: url("img/common/arr.png") center no-repeat;
  background-size: 15px 17px;
}
.btn a.instagram::after {
  width: 24px;
  height: 24px;
  background-image: url("img/common/instagram.svg");
  background-size: 24px 24px;
}
.btn a:hover {
  transform: translate(-4px, 4px);
  box-shadow: 0 0 0 #F6EC4F;
  opacity: 1;
}
.anchor {
  margin-left: -10px;
  margin-right: -10px;
}
.anchor > * {
  margin-left: 10px;
  margin-right: 10px;
}
.anchor a {
  display: block;
}
.anchor a::after {
  transform: rotate(90deg);
  margin-left: 8px;
}
.underline {
  text-decoration: underline;
}
.sp {
  display: none;
}
.fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.animated {
  opacity: 0;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-fill-mode: both;
}
.char, .deco {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .w188 {
    min-width: 188px;
  }
  .w268 {
    min-width: 268px;
  }
  .w325 {
    min-width: 325px;
  }
}
@media only screen and (max-width: 768px) {
  #container {
    min-width: initial;
  }
  #nav {
    display: none;
  }
  #spnav {
    pointer-events: none;
    opacity: 0;
    transform: scale(0.9);
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 1000;
    transition: .8s cubic-bezier(.19, 1, .22, 1);
  }
  #open {
    position: fixed;
    top: 20px;
    right: 14px;
    display: block;
    width: 48px;
    height: 48px;
    margin-left: auto;
    text-align: center;
    background: #6E480D;
    border-radius: 11px;
    cursor: pointer;
    z-index: 9999;
  }
  #open div {
    position: relative;
    display: block;
    width: 16px;
    height: 16px;
    margin: 16px;
    transition: .2s linear;
  }
  #open span {
    position: absolute;
    left: 0;
    display: block;
    width: 16px;
    height: 2px;
    background: #FDF9DB;
    transition: .2s linear;
  }
  #open span:nth-child(1) {
    top: 0;
  }
  #open span:nth-child(2) {
    top: 7px;
  }
  #open span:nth-child(3) {
    top: 14px;
  }
  .open #open span:nth-child(1) {
    top: 7px;
    background: #FFF;
    transform: rotate(45deg);
  }
  .open #open span:nth-child(2) {
    width: 0;
    left: -16px;
  }
  .open #open span:nth-child(3) {
    top: 7px;
    background: #FFF;
    transform: rotate(-45deg);
  }
  .open #spnav {
    pointer-events: auto;
    opacity: 1;
    transform: scale(1);
  }
  #close {
    position: relative;
    display: inline-block;
    padding-top: 13px;
    font-size: 1.3rem;
    text-decoration: underline;
    cursor: pointer;
  }
  #close::before, #close::after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% - 10px);
    transform: rotate(45deg);
    width: 20px;
    height: 2px;
    background: #6E480D;
  }
  #close::after {
    transform: rotate(-45deg);
  }
  #main {
    padding: 0;
  }
  article {
    padding: 32px 14px;
  }
  article header {
    padding-bottom: 24px;
  }
  article header.left {
    text-align: center !important;
  }
  article header h1, article header h2 {
    font-size: 2.9rem;
  }
  .spline {
    position: relative;
    display: inline-block;
    padding: 0 6px 4px;
    background: linear-gradient(transparent 70%, rgba(246, 236, 79, .67) 70%);
    font-size: 3.4rem;
    color: #EB5845;
  }
  .spline::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 4px;
    height: 40%;
    background: #F6EC4F;
    mix-blend-mode: multiply;
  }
  .spline {
    display: block;
    position: relative;
  }
  .pccenter {
    text-align: left;
  }
  .row {
    display: block;
    margin: 0;
  }
  .row > * {
    width: auto;
    margin: 0;
  }
  .row > figure {
    margin-left: auto;
    margin-right: auto;
  }
  .row > *:not(:first-child) {
    margin-top: 24px;
  }
  .btn a {
    padding: 16px;
    line-height: 1.2;
  }
  .btn a:not(.inline) {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .btn a::after {
    margin-left: 10px;
  }
  .btn a.min {
    padding: 10px 16px;
    font-size: 1.4rem;
  }
  .btn a.min::after {
    width: 10px;
    height: 11px;
    background-size: 10px 11px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  .lh-narrow {
    line-height: 1.4;
  }
}
@media print {
  #container {
    width: 1028px;
  }
}