/*
@mixin font-size($size) {
	font-size: $size + px;
	font-size: ($size/10) + rem;

	@include mq( $sp , $pc-l )  {
		font-size: ($size/8) + px;
		font-size: ($size/12.5) + rem;
	}
}*/
@-webkit-keyframes fuwa {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fuwa {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes rotation02 {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes rotation02 {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes rotationx {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@keyframes rotationx {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@-webkit-keyframes rotationy {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes rotationy {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@-webkit-keyframes rotationx2 {
  0% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@keyframes rotationx2 {
  0% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@-webkit-keyframes rotationy2 {
  0% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}
@keyframes rotationy2 {
  0% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
}
@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(1px);
    -moz-filter: blur(1px);
    -ms-filter: blur(1px);
    -o-filter: blur(1px);
    filter: blur(1px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -ms-filter: blur(2px);
    -o-filter: blur(2px);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
body.ccd-life .page-title-wrapper {
  background: url(../../img/bg_pagetitle_life.jpg) 50% 100% no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  body.ccd-life .page-title-wrapper {
    background-position: top 0 right 0;
  }
}

section h2 {
  margin-top: 0;
}

.event__wrap {
  margin-top: 2em;
}
.event__wrap.spring .event__list {
  background: #FCE8EA;
}
.event__wrap.spring .event__list h3 {
  background: #F092A8;
}
.event__wrap.spring .event__list dl dt {
  color: #F092A8;
}
.event__wrap.summar .event__list {
  background: #EBF7FD;
}
.event__wrap.summar .event__list h3 {
  background: #43BDD8;
}
.event__wrap.summar .event__list dl dt {
  color: #43BDD8;
}
.event__wrap.autumn .event__list {
  background: #FEF0E4;
}
.event__wrap.autumn .event__list h3 {
  background: #F8B856;
}
.event__wrap.autumn .event__list dl dt {
  color: #F8B856;
}
.event__wrap.winter .event__list {
  background: #ECF6F0;
}
.event__wrap.winter .event__list h3 {
  background: #64C0AB;
}
.event__wrap.winter .event__list dl dt {
  color: #64C0AB;
}
.event__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.event__list {
  width: 100%;
  border-radius: 30px;
  padding: 0 2em 4em;
}
.event__list h3 {
  width: 120px;
  height: 120px;
  border-radius: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 400;
  color: #fff;
  margin: -60px auto 0;
}
.event__list dl {
  margin-top: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
}
.event__list dl dt {
  width: 3em;
}
.event__list dl dd {
  width: calc(100% - 3em);
  font-weight: normal;
  margin: 0;
}
.event__img {
  width: 100%;
  margin-top: 1em;
}
.event__img img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .event__inner {
    padding: 0 1em;
  }
  .event__list {
    margin-top: 4em;
  }
  .event__img {
    padding: 0 1.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .event__list {
    width: 38%;
    padding: 0 3em 6em;
  }
  .event__img {
    width: 62%;
    margin-top: 0;
  }
  .event__img img {
    margin-left: -15px;
  }
  .event__wrap.summar .event__list, .event__wrap.winter .event__list {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .event__wrap.summar .event__img, .event__wrap.winter .event__img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .event__wrap.summar .event__img img, .event__wrap.winter .event__img img {
    margin-left: inherit;
    margin-right: -15px;
  }
}
@media print, screen and (min-width: 1023px) {
  .event__wrap {
    position: relative;
  }
  .event__wrap.spring::before, .event__wrap.autumn::before {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot02.svg) no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .event__wrap.summar::before, .event__wrap.winter::before {
    content: " ";
    display: block;
    width: 50%;
    max-width: 645px;
    height: 240px;
    background: url(../../img/bg_dot01.svg) no-repeat;
    background-position: top 0 right 0;
    background-size: cover;
    position: absolute;
    top: -5em;
    right: 0;
    z-index: -1;
  }
  .event__inner {
    padding: 0 1em;
  }
  .event__list {
    padding: 0 3.5em 7em;
  }
}

.schedule__table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin-top: 4em;
}
.schedule__table th, .schedule__table td {
  font-weight: 400;
  text-align: center;
  padding: 10px;
}
.schedule__table td.time {
  color: #F09183;
  font-weight: 450;
}
.schedule__table thead th {
  width: 45%;
  border-radius: 50px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(240, 145, 131)), to(rgb(248, 184, 86)));
  background: linear-gradient(90deg, rgb(240, 145, 131), rgb(248, 184, 86));
  color: #fff;
  font-weight: 450;
}
.schedule__table tbody tr:nth-child(even) {
  background: #FEF0E4;
}
.schedule__table tbody tr:nth-child(even) td:first-child {
  border-radius: 50px 0 0 50px;
}
.schedule__table tbody tr:nth-child(even) td:last-child {
  border-radius: 0 50px 50px 0;
}
@media print, screen and (min-width: 1023px) {
  .schedule {
    background: url(../../../life/img/img_object01.svg) no-repeat;
    background-size: 1260px;
    background-position: top 50% left 50%;
  }
  .schedule .container {
    position: relative;
  }
  .schedule .container::before {
    content: " ";
    display: block;
    width: 180px;
    height: 100%;
    background: url(../../../life/img/img_bg01.png) no-repeat;
    background-size: 177px;
    background-position: bottom 0 left 0;
    position: absolute;
    bottom: -1em;
    left: 3em;
  }
  .schedule .container::after {
    content: " ";
    display: block;
    width: 180px;
    height: 100%;
    background: url(../../../life/img/img_bg02.png) no-repeat;
    background-size: 177px;
    background-position: bottom 0 right 0;
    position: absolute;
    bottom: -1em;
    right: 3em;
  }
  .schedule__wrap {
    max-width: 590px;
    margin-left: auto;
    margin-right: auto;
  }
}

.lunch__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1em;
}
.lunch__item {
  width: calc(50% - 10px);
  margin-top: 2em;
}
.lunch__item dl {
  margin-top: 0;
  padding: 0 1em;
}
.lunch__item dl dt {
  color: #F09183;
  line-height: 1.5;
  margin: 0;
}
.lunch__item dl dt.img {
  margin: 0 -1em 20px;
}
.lunch__item dl dd {
  font-weight: normal;
  margin: 0;
}
.lunch__item dl dd ul.list {
  margin-top: 10px;
}
.lunch__item dl dd ul.list li {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .lunch__item {
    margin-right: 20px;
  }
  .lunch__item:nth-child(2n) {
    margin-right: 0;
  }
  .lunch__item dl {
    padding: 0;
  }
  .lunch__item dl dt {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .lunch__item dl dt.img {
    margin: 0 0 15px;
  }
  .lunch__item dl dd {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .lunch__item {
    width: calc(33.3333333333% - 26px);
    margin-top: 3em;
    margin-right: 39px;
  }
  .lunch__item:nth-child(3n) {
    margin-right: 0;
  }
}