/*
Theme Name: 里親センターなら
Description: 里親センターのWebサイト
Theme URI: https://satooya-nara.com
Author: Yuki Nakamori
Author URI: https://www.derize.com
Version: 1.02
*/

@charset "utf-8";

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
モバイル向けレイアウト指定：～781px
PC向けレイアウト指定：782px〜
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-size: 17px;
}

body,
html {
  height: 100%;
}

body {
  color: #333;
  font: 400 1rem/2 "Zen Maru Gothic", sans-serif;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  word-wrap: break-word;
}

@media only screen and (max-width: 782px) {
  html {
    font-size: 15px;
  }

  body {
    font-size: 1rem;
    line-height: 1.8;
  }
}

body.fixed {
  height: 100%;
  position: fixed;
  width: 100%;
}

a {
  color: #2d2300;
  text-decoration: none;
}

a:hover,
a img:hover {
  opacity: .7;
  -webkit-transition: ease .3s opacity;
     -moz-transition: ease .3s opacity;
      -ms-transition: ease .3s opacity;
       -o-transition: ease .3s opacity;
          transition: ease .3s opacity;
}

/* 共通画像100% */
.image img {
  display: block;
  height: auto;
  width: 100%;
}

.image {
  display: block;
  height: auto;
  width: 100%;
}

/* 共通インナー */
.inner {
  margin: 0 auto;
  max-width: 1160px;
  padding: 0 40px;
}

.inner-qa {
  margin: 0 auto;
  max-width: 920px;
  padding: 0 40px;
}

.inner-page {
  margin: 0 auto;
  max-width: 1080px;
  padding: 0 40px;
}

@media only screen and (max-width: 782px) {
  .inner,
  .inner-qa,
  .inner-page {
    max-width: 600px;
    padding: 0;
    width: 90%;
  }
}

/* 共通マージン */
.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt80 {
  margin-top: 80px;
}

.p30 {
  padding-bottom: 30px;
  padding-top: 30px;
}

.p40 {
  padding-bottom: 40px;
  padding-top: 40px;
}

.p50 {
  padding-bottom: 50px;
  padding-top: 50px;
}

.p60 {
  padding-bottom: 60px;
  padding-top: 60px;
}

.p80 {
  padding-bottom: 80px;
  padding-top: 80px;
}

@media only screen and (max-width: 782px) {
  .mt10 {
    margin-top: 5px;
  }

  .mt20 {
    margin-top: 15px;
  }

  .mt30 {
    margin-top: 20px;
  }

  .mt40 {
    margin-top: 25px;
  }

  .mt50 {
    margin-top: 30px;
  }

  .mt60 {
    margin-top: 40px;
  }

  .mt80 {
    margin-top: 60px;
  }

  .p30 {
    padding-bottom: 20px;
    padding-top: 20px;
  }

  .p40 {
    padding-bottom: 25px;
    padding-top: 25px;
  }

  .p50 {
    padding-bottom: 30px;
    padding-top: 30px;
  }

  .p60 {
    padding-bottom: 30px;
    padding-top: 30px;
  }

  .p80 {
    padding-bottom: 60px;
    padding-top: 60px;
  }
}

/* カラー */
.co-w {
  color: #fff;
}

.co-or {
  color: #ff7e00;
}

.co-y {
  color: #ffd961;
}

.co-dy {
  color: #fdc600;
}

.co-r {
  color: #f50;
}

.back-top {
  background: #fff5e5;
}

.back-w {
  background: #fff;
}

.back-or {
  background: #ff7e00;
}

.back-be {
  background: #fcf6f3;
}

.back-gr {
  background: #dcf3ea;
}

.back-gry {
  background: #e8eef0;
}

/* リンク色 */
.link-color {
  color: #ff4800;
  font-weight: 500;
  text-decoration: underline;
}

/* ポジション */
.po-re {
  position: relative;
}

.ov-h {
  overflow: hidden;
}

/* 中央揃え */
.ma-auto {
  margin-left: auto;
  margin-right: auto;
}

.txt-center {
  text-align: center;
}

/* 字下げ */
.note {
  padding-left: 1em;
  text-indent: -1em;
}

/* フォント */
@font-face {
  font-family: "futura-webfont";
  font-style: normal;
  font-weight: normal;
  src: url("./fonts/futura-webfont.woff2") format("woff2"),
  url("./fonts/futura-webfont.woff") format("woff"),
  url("./fonts/futura-webfont.ttf") format("truetype");
}

.font-en {
  font-family: "futura-webfont";
  font-weight: normal;
}

.font-wn {
  font-weight: normal;
}

.font-w500 {
  font-weight: 500;
}

.font-w700 {
  font-weight: 700;
}


/* 行間 */
.linehight22 {
  line-height: 2.2;
}

.linehight19 {
  line-height: 1.9;
}

.linehight18 {
  line-height: 1.8;
}

.linehight17 {
  line-height: 1.7;
}

.linehight16 {
  line-height: 1.6;
}

.linehight15 {
  line-height: 1.5;
}

@media screen and (max-width: 782px) {
  .linehight22 {
    line-height: 2;
  }
}

/* 重なり */
.zindex1 {
  position: relative;
  z-index: 1;
}

/* ローダー */
.loading {
  align-items: center;
  -webkit-animation: fadelogo 1s 1.8s forwards;
          animation: fadelogo 1s 1.8s forwards;
  background-color: #fff;
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 9999;
}

@keyframes fadelogo {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.loading-logo {
  -webkit-animation: logo_fade 1.5s .5s forwards;
          animation: logo_fade 1.5s .5s forwards;
  max-width: 300px;
  opacity: 0;
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
       -moz-transform: translateY(20px);
        -ms-transform: translateY(20px);
         -o-transform: translateY(20px);
            transform: translateY(20px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
        -ms-transform: translateY(0);
         -o-transform: translateY(0);
            transform: translateY(0);
  }

  100% {
    opacity: 0;
  }
}

@media screen and (max-width: 782px) {
  .loading-logo {
    max-width: 200px;
  }
}

#topcontrol {
  z-index: 999;
}

/*==========================================
 モバイルナビ
===========================================*/
.menu-inner {
  display: none;
}

@media screen and (max-width: 782px) {
  .menu-inner {
    background: #fcf6f3;
    bottom: 0;
    display: block;
    left: -300px;
    margin-bottom: 14px;
    margin-left: 14px;
    opacity: 0;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 14px;
    pointer-events: none;
    position: fixed;
    top: 14px;
    -webkit-transition: all .5s;
       -moz-transition: all .5s;
        -ms-transition: all .5s;
         -o-transition: all .5s;
            transition: all .5s;
    width: calc(100% - 28px);
    z-index: 1001;
  }

  .open .menu-inner {
    left: 0;
    opacity: 1;
    pointer-events: auto;
  }

  .menu-inner li {
    background: #fff;
    -webkit-border-radius: 20px;
       -moz-border-radius: 20px;
        -ms-border-radius: 20px;
         -o-border-radius: 20px;
            border-radius: 20px;
    box-shadow: 2px 2px #f9c063;
    font-size: 1.1rem;
    margin: 0 auto 12px;
    min-width: 200px;
    padding-bottom: 0;
    text-align: center;
    width: 70%;
  }

  .menu-inner li a {
    display: block;
    padding: 2px 2%;
  }

  li.mbnv-sub {
    background: none;
    box-shadow: none;
    font-size: .9rem;
    line-height: 1;
    padding: 0;
  }

  li.mbnv-sub a {
    align-items: center;
    display: flex;
    justify-content: center;
  }

  li.mbnv-sub span {
    font-size: .5rem;
    padding-right: 3px;
  }

  li.mbnv-mb {
    margin-bottom: 24px;
  }

  li.back-or {
    background: #ff7e00;
  }

  li.mbnv-line {
    background: none;
    border-bottom: 2px solid #ff7e00;
    -webkit-border-radius: 0;
       -moz-border-radius: 0;
        -ms-border-radius: 0;
         -o-border-radius: 0;
            border-radius: 0;
    box-shadow: none;
    margin-top: 30px;
    padding: 0;
  }

  li.mbnv-line-y {
    border-bottom: 2px solid #fdc600;
    margin-top: 10px;
  }
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: none;
}

@media screen and (max-width: 782px) {
  .nav-btn {
    background: #ff7e00;
    -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
        -ms-border-radius: 50%;
         -o-border-radius: 50%;
            border-radius: 50%;
    height: 42px;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 42px;
    z-index: 1001;
  }

  .toggle_btn {
    cursor: pointer;
    display: block;
    height: 28px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
    transition: all .5s;
    width: 26px;
  }

  .toggle_btn span {
    background-color: #fff;
    border-radius: 4px;
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleY(.5) translateY(-50%);
       -moz-transform: scaleY(.5) translateY(-50%);
        -ms-transform: scaleY(.5) translateY(-50%);
         -o-transform: scaleY(.5) translateY(-50%);
            transform: scaleY(.5) translateY(-50%);
    -webkit-transition: all .5s;
       -moz-transition: all .5s;
        -ms-transition: all .5s;
         -o-transition: all .5s;
            transition: all .5s;
    width: 26px;
  }

  .toggle_btn span:nth-child(1) {
    top: 4px;
  }

  .toggle_btn span:nth-child(2) {
    top: 13px;
  }

  .toggle_btn span:nth-child(3) {
    bottom: 2px;
  }

  .open .toggle_btn span {
    background-color: #fff;
    height: 3px;
  }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
       -moz-transform: translateY(9px) rotate(-45deg);
        -ms-transform: translateY(9px) rotate(-45deg);
         -o-transform: translateY(9px) rotate(-45deg);
            transform: translateY(9px) rotate(-45deg);
  }

  .open .toggle_btn span:nth-of-type(2) {
    -webkit-animation: active-btn05-bar02 .8s forwards;
            animation: active-btn05-bar02 .8s forwards;
    left: 50%;
    opacity: 0;
  }

  @-webkit-keyframes active-btn05-bar02 {
    100% {
      height: 0;
    }
  }

  @keyframes active-btn05-bar02 {
    100% {
      height: 0;
    }
  }

  .open .toggle_btn span:nth-of-type(3) {
    bottom: 3px;
    -webkit-transform: translateY(-9px) rotate(45deg);
       -moz-transform: translateY(-9px) rotate(45deg);
        -ms-transform: translateY(-9px) rotate(45deg);
         -o-transform: translateY(-9px) rotate(45deg);
            transform: translateY(-9px) rotate(45deg);
  }
}

/*============
#mask
=============*/
.mask {
  display: none;
  -webkit-transition: all .5s;
     -moz-transition: all .5s;
      -ms-transition: all .5s;
       -o-transition: all .5s;
          transition: all .5s;
}

.open .mask {
  display: none;
}

@media screen and (max-width: 782px) {
  .open .mask {
    background: #fff;
    cursor: pointer;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
  }
}

/*==========================================
 ヘッダー PCナビ
===========================================*/
.header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 30px;
  width: 100%;
  z-index: 2;
}

.logo-waku {
  margin-left: 30px;
  max-width: 410px;
  width: 35%;
}

.logo {
  left: 0;
  max-width: 340px;
  position: absolute;
  top: 30%;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 85%;
}

@media only screen and (max-width: 782px) {
  .header {
    top: 14px;
  }

  .logo-waku {
    margin-left: 14px;
    min-width: 230px;
  }

  .logo-waku-mb {
    margin-bottom: 10px;
    margin-left: 0;
  }

  .logo {
    top: 32%;
  }
}

.nav {
  align-items: center;
  -webkit-border-radius: 40px;
     -moz-border-radius: 40px;
      -ms-border-radius: 40px;
       -o-border-radius: 40px;
          border-radius: 40px;
  display: flex;
  justify-content: flex-end;
  margin: 30px 0 0 0;
  max-width: 800px;
  width: 65%;
}

.nav li {
  margin-left: 3%;
}

.nav li a {
  display: block;
  padding: 25px 0;
}

.nav li:hover img {
  -webkit-transform: rotateX(360deg);
     -moz-transform: rotateX(360deg);
      -ms-transform: rotateX(360deg);
       -o-transform: rotateX(360deg);
          transform: rotateX(360deg);
  -webkit-transition: transform 1s;
     -moz-transition: transform 1s;
      -ms-transition: transform 1s;
       -o-transition: transform 1s;
          transition: transform 1s;
}

@media only screen and (max-width: 980px) {
  .nav {
    margin-top: 20px;
  }

  .nav li a {
    padding: 18px 0;
  }

  .nav li::after {
    bottom: 9px;
  }
}

.nav-1 {
  max-width: 89px;
}

.nav-2 {
  max-width: 116px;
}

.nav-3 {
  max-width: 116px;
}

.nav-4 {
  max-width: 68px;
}

.nav-5 {
  max-width: 91px;
}

.nav-6 {
  background: #75c779;
  max-width: 170px;
}

@media only screen and (max-width: 782px) {
  .nav {
    display: none;
  }
}

/* サブメニュー */
.menu {
  position: relative;
}

.child_menu {
  background: #ff7e00;
  -webkit-border-radius: 0 20px 0 20px;
     -moz-border-radius: 0 20px 0 20px;
      -ms-border-radius: 0 20px 0 20px;
       -o-border-radius: 0 20px 0 20px;
          border-radius: 0 20px 0 20px;
  display: none;
  font-size: .97rem;
  left: auto;
  line-height: 1;
  padding: 10px 10px 15px;
  position: absolute;
  right: auto;
  top: 50px;
  width: 235px;
  z-index: 3;
}

@media only screen and (max-width: 980px) {
  .child_menu {
    top: 37px;
  }
}

.menu:hover .child_menu {
  animation-duration: 1s;
  animation-name: fade-nav;
  display: block;
}

@keyframes fade-nav {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.sub-nav li a {
  color: #fff;
  padding: 10px 0;
}

.sub-nav li a::before {
  background-image: url(./images/arrow-w.png);
  background-size: contain;
  content: "";
  display: inline-block;
  height: 12px;
  margin-right: 3px;
  margin-top: -5px;
  vertical-align: middle;
  width: 12px;
}

/*==========================================
 スクリーン
===========================================*/
.screen {
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  height: 940px;
  margin: 30px 30px 0 30px;
}

.screen-wrap {
  height: 940px;
}

@media only screen and (max-width: 2000px) {
  .screen {
    height: 830px;
  }

  .screen-wrap {
    height: 830px;
  }
}

@media only screen and (max-width: 782px) {
  .screen {
    height: 440px;
    margin: 14px 14px 0 14px;
  }

  .screen-wrap {
    height: 440px;
  }
}

@media only screen and (max-width: 450px) {
  .screen {
    height: 395px;
  }

  .screen-wrap {
    height: 395px;
  }
}

.suisai-1 {
  left: 0;
  position: absolute;
  top: 0;
}

.suisai-1 img {
  -webkit-border-radius: 22px 22px 0 0;
     -moz-border-radius: 22px 22px 0 0;
      -ms-border-radius: 22px 22px 0 0;
       -o-border-radius: 22px 22px 0 0;
          border-radius: 22px 22px 0 0;
}

.suisai-2 {
  -webkit-border-radius: 22px 22px 0 0;
     -moz-border-radius: 22px 22px 0 0;
      -ms-border-radius: 22px 22px 0 0;
       -o-border-radius: 22px 22px 0 0;
          border-radius: 22px 22px 0 0;
  bottom: 0;
  left: 0;
  position: absolute;
}

.suisai-2 img {
  -webkit-border-radius: 0 0 22px 22px;
     -moz-border-radius: 0 0 22px 22px;
      -ms-border-radius: 0 0 22px 22px;
       -o-border-radius: 0 0 22px 22px;
          border-radius: 0 0 22px 22px;
}

/* スクリーン内 */
.topill-l {
  left: 10%;
  pointer-events: none;
  position: absolute;
  top: 18%;
  width: 40%;
  z-index: 1;
}

.topill-r {
  pointer-events: none;
  position: absolute;
  right: 10%;
  top: 18%;
  width: 40%;
  z-index: 1;
}

@media only screen and (max-width: 2000px) {
  .topill-l {
    left: 0;
  }

  .topill-r {
    right: 0;
  }
}

.topill-1 {
  left: 5%;
  max-width: 302px;
  position: absolute;
  top: 0;
  width: 54.2190305%;
  z-index: 1;
}

.topill-4 {
  left: 18%;
  max-width: 480px;
  position: absolute;
  top: 85px;
  width: 85%;
}

.topill-2 {
  max-width: 322px;
  position: absolute;
  right: 5%;
  top: 0;
  width: 57.8096948%;
}

.topill-3 {
  max-width: 370px;
  position: absolute;
  right: 30%;
  top: 370px;
  width: 66.427289%;
}

.topill-5 {
  max-width: 218px;
  position: absolute;
  right: 65%;
  top: 140px;
  width: 39.1382406%;
}

.catch {
  left: 0;
  margin: auto;
  max-width: 110px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 11%;
  z-index: 1;
}

@media only screen and (max-width: 782px) {
  .topill-1 {
    top: 10px;
  }

  .topill-4 {
    top: 50px;
  }

  .topill-3 {
    right: 20%;
    top: 180px;
  }

  .topill-5 {
    right: 60%;
    top: 70px;
  }

  .catch {
    max-width: 67px;
    top: 55%;
    width: 100%;
  }
}

@media only screen and (max-width: 550px) {
  .topill-l {
    left: 1%;
  }

  .topill-r {
    right: 1%;
  }

  .topill-4 {
    left: 12%;
    top: 140px;
  }

  .topill-3 {
    right: 20%;
    top: 180px;
  }

  .topill-5 {
    right: 52%;
    top: 90px;
  }
}

@media only screen and (max-width: 450px) {
  .catch {
    max-width: 55px;
    width: 100%;
  }
}

.fuwa {
  animation-direction: alternate;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-name: fuwa-anima;
  animation-timing-function: ease-in-out;
}

.fuwa2 {
  animation-direction: alternate;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: fuwa-anima;
  animation-timing-function: ease-in-out;
}

@keyframes fuwa-anima {
  0% {
    transform: translate(0, 0px);
  }

  100% {
    -webkit-transform: translate(0, -15px);
       -moz-transform: translate(0, -15px);
        -ms-transform: translate(0, -15px);
         -o-transform: translate(0, -15px);
            transform: translate(0, -15px);
  }
}

.fuwafuwa {
  -webkit-animation: fuwafuwa 3s ease-in-out infinite alternate;
          animation: fuwafuwa 3s ease-in-out infinite alternate;
  -webkit-transition: 1.5s ease-in-out;
     -moz-transition: 1.5s ease-in-out;
      -ms-transition: 1.5s ease-in-out;
       -o-transition: 1.5s ease-in-out;
          transition: 1.5s ease-in-out;
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-2deg);
       -moz-transform: translate(0, 0) rotate(-2deg);
        -ms-transform: translate(0, 0) rotate(-2deg);
         -o-transform: translate(0, 0) rotate(-2deg);
            transform: translate(0, 0) rotate(-2deg);
  }

  50% {
    -webkit-transform: translate(0, -2px) rotate(0deg);
       -moz-transform: translate(0, -2px) rotate(0deg);
        -ms-transform: translate(0, -2px) rotate(0deg);
         -o-transform: translate(0, -2px) rotate(0deg);
            transform: translate(0, -2px) rotate(0deg);
  }

  100% {
    -webkit-transform: translate(0, 0) rotate(2deg);
       -moz-transform: translate(0, 0) rotate(2deg);
        -ms-transform: translate(0, 0) rotate(2deg);
         -o-transform: translate(0, 0) rotate(2deg);
            transform: translate(0, 0) rotate(2deg);
  }
}

/* スクロール */
.round-m {
  bottom: 0;
  max-width: 200px;
  position: absolute;
  right: 0;
}

.scroll {
  align-items: center;
  display: flex;
  letter-spacing: .1rem;
  line-height: 1;
  position: absolute;
  right: 20%;
  top: 68px;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
}

.scroll span {
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: .65rem;
  padding-right: 3px;
}

.scroll::after {
  background-image: url(./images/arrow.png);
  background-size: contain;
  content: "";
  display: inline-block;
  height: 15px;
  margin-left: 8px;
  vertical-align: middle;
  width: 12px;
}

@media only screen and (max-width: 782px) {
  .round-m {
    max-width: 110px;
  }

  .scroll {
    font-size: .8rem;
    right: 12%;
    top: 40px;
  }

  .scroll span {
    font-size: .5rem;
  }

  .scroll::after {
    height: 10px;
    margin-left: 4px;
    width: 8px;
  }
}

a.text-anm {
  color: transparent;
  overflow: hidden;
  text-shadow: 0 -1.5em 0 #000, 0 0 0 #000;
  transition: text-shadow .3s;
}

a.text-anm:hover {
  text-shadow: 0 0 0 #000, 0 1.5em 0 #000;
}

/* サイドナビ */
.side-nav {
  left: 0;
  max-width: 50px;
  min-width: 30px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5%;
  z-index: 2;
}

.side-nav li:first-child {
  margin-bottom: 10px;
}

@media only screen and (max-width: 782px) {
  .side-nav {
    max-width: 35px;
  }

  .side-nav li:first-child {
    margin-bottom: 5px;
  }
}

/*==========================================
 トップアバウト
===========================================*/
.box {
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  margin-left: 30px;
  margin-right: 30px;
  padding-bottom: 90px;
  padding-top: 90px;
}

.round-s {
  left: 0;
  max-width: 200px;
  position: absolute;
  top: 0;
  width: 25%;
  z-index: 1;
}

.round-box {
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  padding-left: 5.5555556%;
  padding-right: 5.5555556%;
}

@media only screen and (max-width: 782px) {
  .box {
    margin-left: 14px;
    margin-right: 14px;
    padding-bottom: 40px;
    padding-top: 40px;
  }

  .round-s {
    max-width: 100px;
    width: 100%;
  }
}

.topabout-ill {
  max-width: 316px;
  position: absolute;
  right: 4%;
  top: 20px;
  width: 31%;
}

.title-sub {
  align-items: center;
  display: flex;
  letter-spacing: .1rem;
  line-height: 1;
  margin-bottom: 6px;
}

.title-sub span {
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: .65rem;
  padding-right: 3px;
}

.title-sub0 span {
  padding-top: 0;
}

.main-title {
  font-size: 1.9rem;
}

.round-line {
  margin-bottom: 14px;
  margin-top: 14px;
  max-width: 80px;
}

.to-link {
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  display: block;
  font-size: 1.1rem;
  max-width: 330px;
  padding: 10px 4%;
}

a.to-link:hover {
  opacity: .7;
  -webkit-transition: ease .3s opacity;
     -moz-transition: ease .3s opacity;
      -ms-transition: ease .3s opacity;
       -o-transition: ease .3s opacity;
          transition: ease .3s opacity;
}

.arrow-r {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
}

.fo-size {
  font-size: 1.03rem;
}

@media only screen and (max-width: 782px) {
  .topabout-ill {
    min-width: 110px;
    top: -15px;
  }

  .title-sub span {
    font-size: .6rem;
  }

  .main-title {
    font-size: 1.5rem;
  }

  .round-line {
    margin-bottom: 12px;
    margin-top: 12px;
    max-width: 70px;
  }

  .to-link {
    max-width: 280px;
    padding: 6px 4%;
  }

  .arrow-r {
    width: 13px;
  }
}

/* 里親センターならについて */
.round-flex {
  display: flex;
}

.round-flex-l {
  margin-right: 6.25%;
  width: 60.4166667%;
}

.round-flex-r {
  width: 33.3333333%;
}

.topabout-ill2 {
  bottom: -70px;
  left: 5%;
  max-width: 280px;
  position: absolute;
  width: 28%;
}

@media only screen and (max-width: 782px) {
  .round-flex {
    display: block;
  }

  .round-flex-l {
    margin-right: 0;
    width: 100%;
  }

  .round-flex-r {
    margin: 20px auto 0;
    max-width: 260px;
    width: 100%;
  }

  .topabout-ill2 {
    bottom: -30px;
    min-width: 120px;
  }
}

/*==========================================
 里親ってなに？
===========================================*/
.dot-back {
  background: url(./images/dot-back.png) repeat center top;
  background-size: 126px 126px;
}

@media only screen and (max-width: 782px) {
  .dot-back {
    background-size: 63px 63px;
  }
}

.title-sub-center {
  justify-content: center;
}

.flex-box {
  display: flex;
}

.flex-box li {
  margin-right: 2.77777778%;
  width: 31.4814815%;
}

.flex-box li:last-child {
  margin-right: 0;
}

@media only screen and (max-width: 782px) {
  .flex-box {
    flex-wrap: wrap;
    justify-content: center;
  }

  .flex-box li {
    margin-right: 4%;
    width: 48%;
  }

  .flex-box li:nth-child(2) {
    margin-right: 0;
  }

  .flex-box li:last-child {
    margin-top: 10px;
  }
}

/* ポップアップウィンドウ */
.pop-open {
  cursor: pointer;
}

.pop-open img:hover {
  opacity: .7;
  -webkit-transition: ease .3s opacity;
     -moz-transition: ease .3s opacity;
      -ms-transition: ease .3s opacity;
       -o-transition: ease .3s opacity;
          transition: ease .3s opacity;
}

#pop-up1,
#pop-up2,
#pop-up3 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up1:checked + .overlay,
#pop-up2:checked + .overlay,
#pop-up3:checked + .overlay {
  background: rgba(0, 0, 0, .6);
  display: block;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999999;
}

.window {
  animation: fadeIn .7s cubic-bezier(.33, 1, .68, 1) 1 forwards;
  background-color: #fff;
  border-radius: 10px;
  height: auto;
  left: 50%;
  max-height: 90vh;
  max-width: 800px;
  overflow-y: scroll;
  padding: 24px;
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
     -moz-transform: translateY(-50%) translateX(-50%);
      -ms-transform: translateY(-50%) translateX(-50%);
       -o-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  width: 90%;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.close {
  cursor: pointer;
  font-size: 2rem;
  position: absolute;
  right: 10px;
  top: 0;
}

/* ポップアップ内 */
.window h3 {
  font-size: 1.2rem;
  margin-bottom: 20px;
  padding: 0 6px;
}

.marker-1:after {
  background-color: #ffe89f;
  border-radius: 10px;
  content: "";
  display: block;
  height: 14px;
  margin: -16px -6px 0;
  width: 254px;
}

/* 里親についてもっと知ろう */
.more-ill {
  max-width: 210px;
  pointer-events: none;
  position: absolute;
  right: 5%;
  top: -50px;
  width: 21%;
}

@media only screen and (max-width: 782px) {
  .more-ill {
    min-width: 80px;
    top: -36px;
  }

  .more-ti {
    font-feature-settings: "palt";
    font-size: 1.45rem;
  }
}

/*==========================================
 お知らせ
===========================================*/
.news-back-1 {
  left: 0;
  max-width: 936px;
  position: absolute;
  top: 0;
  width: 70%;
}

.news-back-1 img {
  -webkit-border-radius: 22px 22px 0 0;
     -moz-border-radius: 22px 22px 0 0;
      -ms-border-radius: 22px 22px 0 0;
       -o-border-radius: 22px 22px 0 0;
          border-radius: 22px 22px 0 0;
}

.news-back-2 {
  bottom: 0;
  max-width: 685px;
  position: absolute;
  right: 0;
  width: 51%;
}

.news-back-2 img {
  -webkit-border-radius: 0 0 22px 22px;
     -moz-border-radius: 0 0 22px 22px;
      -ms-border-radius: 0 0 22px 22px;
       -o-border-radius: 0 0 22px 22px;
          border-radius: 0 0 22px 22px;
}

.new-title-wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.new-title {
  flex-shrink: 0;
}

.news-more {
  -webkit-border-radius: 20px;
     -moz-border-radius: 20px;
      -ms-border-radius: 20px;
       -o-border-radius: 20px;
          border-radius: 20px;
  justify-content: center;
  padding: 20px 4%;
  width: 200px;
}

a.news-more:hover {
  opacity: .7;
  -webkit-transition: ease .3s opacity;
     -moz-transition: ease .3s opacity;
      -ms-transition: ease .3s opacity;
       -o-transition: ease .3s opacity;
          transition: ease .3s opacity;
}

.news-more span {
  padding-top: 2px;
}

@media only screen and (max-width: 782px) {
  .news-more {
    padding: 14px 2%;
    width: 130px;
  }

  .news-more span {
    padding-top: 1px;
  }
}

.news-list li {
  background: #fff ;
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  margin-bottom: 16px;
}

.news-list li a {
  display: flex;
  padding-left: 3%;
  padding-right: 8%;
  position: relative;
}

.news-list li:last-child {
  margin-bottom: 0;
}

.news-list li a:after {
  background: url(./images/arrow-link.png) no-repeat;
  background-size: 27px 27px;
  content: "";
  height: 27px;
  pointer-events: none;
  position: absolute;
  right: 2%;
  top: 50%;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 27px;
  z-index: 1;
}

.news-list time {
  border-right: 3px solid #fcf6f3;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  padding: 20px 3% 20px 0;
}

.new-txt {
  font-size: 1.15rem;
  font-weight: 500;
  padding: 20px 0 20px 3%;
}

@media only screen and (max-width: 782px) {
  .news-list li {
    margin-bottom: 10px;
  }

  .news-list li a {
    display: block;
    padding: 12px 5.5555556%;
  }

  .news-list li a:after {
    background-size: 20px 20px;
    height: 20px;
    right: 3%;
    top: 14px;
    -webkit-transform: none;
       -moz-transform: none;
        -ms-transform: none;
         -o-transform: none;
            transform: none;
    width: 20px;
  }

  .news-list time {
    border-right: none;
    display: block;
    font-size: 1rem;
    padding: 0;
  }

  .new-txt {
    font-size: 1.05rem;
    line-height: 1.6rem;
    padding: 0;
  }
}

/*==========================================
 里親体験談
===========================================*/
.exp-ill {
  left: 5%;
  max-width: 277px;
  position: absolute;
  top: -75px;
  width: 27.7%;
  z-index: 1;
}

@media only screen and (max-width: 782px) {
  .exp-ill {
    min-width: 130px;
    top: -50px;
  }
}

/* 画像比率 */
.middle-image img {
  height: 100%;
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.middle-image {
  overflow: hidden;
  padding-top: 64.7058824%;
  position: relative;
  width: 100%;
}

/* リスト */
.exp-list li a {
  display: block;
  position: relative;
}

.exp-list li a:before {
  background: url(./images/exp-more.png) no-repeat;
  background-size: 88px 88px;
  content: "";
  height: 88px;
  position: absolute;
  right: 8px;
  top: -30px;
  width: 88px;
  z-index: 1;
}

.exp-img img {
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
}

.exp-img img:hover {
  opacity: 1;
}

.exp-txt {
  padding: 0 4%;
}

.exp-list li p {
  margin-top: 10px;
}

.vol {
  -webkit-border-radius: 14px;
     -moz-border-radius: 14px;
      -ms-border-radius: 14px;
       -o-border-radius: 14px;
          border-radius: 14px;
  font-size: .9rem;
  justify-content: center;
  max-width: 100px;
  padding: 4px 0;
}

.exp-line {
  margin-top: 14px;
}

@media only screen and (max-width: 782px) {
  .exp-list li a:before {
    background-size: 50px 50px;
    height: 50px;
    right: 0;
    top: -25px;
    width: 50px;
  }

  .exp-list li p {
    line-height: 1.6;
    margin-top: 5px;
  }

  .vol {
    font-size: .8rem;
    max-width: 82px;
    padding: 2px 0;
  }

  .exp-list li.exp-list-mt {
    margin-top: 12px;
  }
}

/*==========================================
 フッターお問い合わせ
===========================================*/
.con-container {
  align-items: flex-start;
}

.con-item-wrap {
  margin-left: 5%;
  width: 74.0740741%;
}

.con-item {
  align-items: center;
  -webkit-border-radius: 22px;
     -moz-border-radius: 22px;
      -ms-border-radius: 22px;
       -o-border-radius: 22px;
          border-radius: 22px;
  display: flex;
  justify-content: space-between;
  padding: 10px 4%;
}

.con-item-l {
  font-size: 1.1rem;
  width: 60%;
}

.con-line {
  margin: 0 4%;
  max-width: 7px;
}

.con-item-r {
  flex-shrink: 0;
  line-height: 1.5;
}

.con-line-yoko {
  display: none;
}

@media only screen and (max-width: 1130px) {
  .con-item-l br {
    display: none;
  }
}

@media only screen and (max-width: 964px) {
  .con-item {
    display: block;
    padding: 12px 4%;
  }

  .con-item-l {
    font-size: 1.05rem;
    width: 100%;
  }

  .con-line {
    display: none;
  }

  .con-item-r {
    flex-shrink: 0;
    line-height: 1.5;
  }

  .con-line-yoko {
    display: block;
    margin: 10px 0;
    max-width: 73px;
  }
}

@media only screen and (max-width: 782px) {
  .con-container {
    display: block;
  }

  .con-item-wrap {
    margin-left: 0;
    width: 100%;
  }

  .con-item {
    margin-top: 22px;
    padding: 12px 5.5555556%;
  }
}

.con-list {
  display: flex;
  justify-content: space-between;
}

.con-list li {
  margin-right: 3%;
  max-width: 375px;
}

.con-list li:last-child {
  margin-right: 0;
}

@media only screen and (max-width: 550px) {
  .con-list {
    display: block;
  }

  .con-list li {
    margin-left: auto;
    margin-right: auto;
    max-width: 280px;
    width: 100%;
  }

  .con-list li:last-child {
    margin-right: auto;
    margin-top: 10px;
  }
}

.con-ill {
  max-width: 277px;
  position: absolute;
  right: 5%;
  top: -75px;
  width: 27.7%;
  z-index: 1;
}

@media only screen and (max-width: 782px) {
  .con-ill {
    min-width: 130px;
    top: 50px;
  }
}

/*==========================================
 フッターナビ
===========================================*/
.box-foot {
  padding-bottom: 30px;
}

@media only screen and (max-width: 782px) {
  .box-foot {
    padding-bottom: 14px;
  }
}

.foot-container {
  display: flex;
  justify-content: space-between;
}

.foot-item-l {
  width: 40%;
}

.foot-item-r {
  flex-shrink: 0;
  margin-left: 5%;
  width: 450px;
}

.foot-logo,
.ins-btn {
  max-width: 300px;
}

.foot-nav-wrap {
  display: flex;
}

.foot-nav {
  font-size: .93rem;
  width: 33.3333333%;
}

.copy {
  font-size: .9rem;
  margin-top: 40px;
  text-align: right;
}

.foot-item-l br {
  display: none;
}

.foot-nav-mb {
  display: none;
}

@media only screen and (max-width: 940px) {
  .foot-item-l {
    font-size: .9rem;
    line-height: 1.6;
  }

  .foot-item-l br {
    display: block;
  }
}

@media only screen and (max-width: 830px) {
  .foot-container {
    display: block;
  }

  .foot-item-l {
    text-align: center;
    width: 100%;
  }

  .foot-item-r {
    margin-left: 0;
    margin-top: 20px;
    width: 100%;
  }

  .foot-nav li {
    border-bottom: 1px solid #fdc600;
  }

  .foot-logo,
  .ins-btn {
    margin: auto;
    max-width: 250px;
  }

  .ins-btn {
    margin-top: 16px;
  }

  .copy {
    font-size: .85rem;
    margin-top: 16px;
    text-align: center;
  }

  .foot-item-l br {
    display: none;
  }
}

@media only screen and (max-width: 782px) {
  .foot-item-l {
    font-size: .95rem;
  }

  .foot-nav-wrap {
    display: none;
  }

  .foot-nav-mb {
    display: flex;
    flex-wrap: wrap;
  }

  .foot-nav-mb li {
    border-bottom: 1px solid #fdc600;
    font-size: .9rem;
    padding: 2px 0;
    width: 50%;
  }

  .foot-logo {
    margin: auto;
    max-width: 230px;
  }

  .copy {
    font-size: .75rem;
  }
}

/*==========================================
 アニメーション
===========================================*/
/* ヘッダーアニメーション */
@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(-20px);
       -moz-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
         -o-transform: translateY(-20px);
            transform: translateY(-20px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
        -ms-transform: translateY(0);
         -o-transform: translateY(0);
            transform: translateY(0);
  }
}

.fade-up {
  -webkit-animation: fadeUp 2.5s ease 1.5s 1 normal backwards;
          animation: fadeUp 2.5s ease 1.5s 1 normal backwards;
  animation-fill-mode: both;
}

/* キャッチアニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fade-in {
  -webkit-animation: fadeIn 3.5s ease 1.5s 1 normal backwards;
          animation: fadeIn 3.5s ease 1.5s 1 normal backwards;
  animation-fill-mode: both;
}

/* 下からフェードイン */
.fadein-bottom {
  opacity: 0;
  -webkit-transform: translateY(30px);
     -moz-transform: translateY(30px);
      -ms-transform: translateY(30px);
       -o-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all .5s linear;
     -moz-transition: all .5s linear;
      -ms-transition: all .5s linear;
       -o-transition: all .5s linear;
          transition: all .5s linear;
}

.fadein-bottom.active {
  opacity: 1;
  -webkit-transform: translateY(0);
     -moz-transform: translateY(0);
      -ms-transform: translateY(0);
       -o-transform: translateY(0);
          transform: translateY(0);
}

/* 遅れて表示 */
.fade-delay1 {
  transition-delay: .1s;
}

.fade-delay2 {
  transition-delay: .3s;
}

.fade-delay3 {
  transition-delay: .5s;
}

.delay01 {
  animation-delay: .8s;
}
