@charset "UTF-8";
.pc_only {
  display: block; }

span.pc_only,
br.pc_only,
img.pc_only {
  display: inline; }

.sp_only {
  display: none; }

html {
  font-family: "tbudrgothic-std" ,tbudrgothic-std;
  font-weight: 900 !important;
  letter-spacing: 0;
  line-height: 1.2; }

body {
  min-width: 980px; }
  @media only screen and (max-width: 640px) {
    body {
      min-width: 100%; } }

#sitemap, #maps {
  max-width: 100%; }

.drawer-nav a {
  color: #325B88; }

@media only screen and (max-width: 640px) {
  .drawer--left.drawer-open .drawer-nav,
  .drawer--left .drawer-hamburger,
  .drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
    right: 0 !important;
    left: auto !important; }
  .pc_only {
    display: none !important; }
  .sp_only {
    display: block; }
  span.sp_only,
  br.sp_only,
  img.sp_only {
    display: inline; }
  img {
    width: 100%; } }

.drawer-hamburger {
  width: 43px;
  padding-top: 32px; }

@media only screen and (max-width: 640px) {
  .drawer-hamburger {
    width: 40px;
    padding-top: 50px; } }

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 100%;
  height: 5px;
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #808080; }

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -12px;
  left: 0;
  content: ' '; }

.drawer-hamburger-icon:after {
  top: 12px; }

.toaccess {
  background-color: #000;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: block;
  font-size: 15px;
  width: 93px;
  height: 43px;
  position: fixed;
  z-index: 100;
  background-image: url(../../family/images/icon-pagetop.png);
  background-position: center top 10px;
  background-repeat: no-repeat;
  padding-top: 50px;
  top: 120px;
  left: 10px; }

header {
  width: 100%;
  background-color: #fff;
  height: 90px;
  position: relative; }
  header h1 {
    width: 520px;
    position: absolute;
    left: 50%;
    top: 30px;
    margin-left: -260px; }
    header h1 img {
      width: 520px; }
  @media only screen and (max-width: 640px) {
    header h1 {
      width: 40%;
      position: absolute;
      left: 10px;
      top: 10px;
      margin-left: 0; }
      header h1 img {
        width: 100%; } }
  header #menu {
    float: left;
    width: 200px; }
  @media only screen and (max-width: 640px) {
    header #menu {
      float: right; } }
  header #sns {
    padding-top: 20px;
    float: right;
    width: 150px; }
    header #sns li {
      display: inline-block;
      margin-right: 0;
      margin-left: 5px; }
  @media only screen and (max-width: 640px) {
    header #sns {
      padding-top: 5px;
      float: right;
      width: 30%; }
      header #sns li {
        display: inline-block;
        margin-left: 2%;
        width: 28%; } }

.mainwrap {
  background-image: url(../../family/images/back.png);
  background-repeat: repeat-x; }

#corocoro .mainwrap {
  background-image: url(../../family/images/back.png);
  background-repeat: repeat !important; }

#main-image {
  position: relative;
  height: 835px;
  width: 100%;
  text-align: center; }
  @media only screen and (max-width: 640px) {
    #main-image {
      height: auto; } }
  #main-image .image {
    width: 980px;
    padding-top: 19px;
    padding-bottom: 50px;
    position: relative;
    margin: 0 auto; }
    #main-image .image .maru01 {
      position: absolute;
      right: 0px;
      top: 80px; }
    #main-image .image .maru02 {
      position: absolute;
      left: 40px;
      top: 260px; }
    @media only screen and (max-width: 640px) {
      #main-image .image {
        width: 96%;
        margin: 0 auto;
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: center; } }

#second-image {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px; }
  @media only screen and (max-width: 640px) {
    #second-image {
      padding: 30px !important; } }

#buttons {
  width: 980px;
  margin: 0px auto; }
  #buttons li {
    width: 240px;
    float: left;
    margin-right: 6px;
    margin-bottom: 6px; }
  #buttons li:nth-of-type(4) {
    margin-right: 0; }
  #buttons li:nth-of-type(8) {
    margin-right: 0; }
  #buttons li a {
    display: block;
    border-radius: 5px;
    background-color: #D9D9D9;
    height: 54px;
    text-decoration: none;
    font-size: 16px;
    color: #fff;
    text-align: left;
    padding-top: 15px; }
    @media only screen and (max-width: 640px) {
      #buttons li a {
        height: auto !important;
        min-height: 54px !important;
        font-size: 13px; } }
  #buttons .single a {
    padding-top: 25px;
    height: 44px; }
    @media only screen and (max-width: 640px) {
      #buttons .single a {
        padding-top: 15px;
        height: auto; } }
  #buttons li > span {
    display: block;
    border-radius: 5px;
    background-color: #D9D9D9;
    height: 54px;
    text-decoration: none;
    font-size: 16px;
    color: #fff;
    text-align: left; }
  #buttons li.btn01 a {
    background-color: #ff8600;
    background-image: url(../../family/images/icon01.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    padding-left: 50px;
    font-size: 13px;
    position: relative; }
    #buttons li.btn01 a > .new {
      position: absolute;
      top: 49px;
      right: 10px;
      padding: 2px 3px;
      background-color: #ffcc00 !important; }
      @media only screen and (max-width: 640px) {
        #buttons li.btn01 a > .new {
          position: static;
          padding: 0px 3px;
          background-color: #ffcc00 !important; } }
  #buttons li.btn02 a {
    background-color: #ff1b00;
    background-image: url(../../family/images/icon02.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    padding-left: 50px; }
  #buttons li.btn03 span {
    background-color: #00a2ff;
    text-align: center; }
  #buttons li.btn03 a {
    background-color: #00a2ff;
    background-image: url(../../family/images/icon09-2.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    background-size: 35px;
    padding-left: 50px;
    font-size: 14px; }
    @media only screen and (max-width: 640px) {
      #buttons li.btn03 a {
        font-size: 12px; } }
    #buttons li.btn03 a > .new {
      background-color: #5CCEE5 !important; }
  #buttons li.btn04 span {
    background-color: #efabdd;
    text-align: center; }
  #buttons li.btn04 a {
    background-color: #efabdd;
    background-image: url(../../family/images/icon10-2.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    background-size: 35px;
    padding-left: 50px;
    overflow: hidden;
    display: block; }
    #buttons li.btn04 a > .new {
      background-color: #F368CE !important; }
  #buttons li.btn05 a {
    background-color: #00d13c;
    background-image: url(../../family/images/icon03.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    padding-left: 50px; }
  #buttons li.btn06 a {
    background-color: #00e58d;
    background-image: url(../../family/images/icon12-2.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    background-size: 35px;
    padding-left: 50px; }
    #buttons li.btn06 a > .new {
      background-color: #00d13c !important; }
  #buttons li.btn08 a {
    border: 1px solid white;
    background-color: #ffcc00;
    background-image: url(../../family/images/icon07-2.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    background-size: 35px;
    padding-left: 50px;
    height: 42px; }
  #buttons li.btn06 span {
    background-color: #00e58d;
    text-align: center; }
  #buttons li.btn07 span {
    background-color: #5ccee5;
    text-align: center; }
  #buttons li.btn07 a {
    background-color: #5ccee5;
    background-image: url(../../family/images/icon11-2.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
    background-size: 35px;
    padding-left: 50px; }
    #buttons li.btn07 a > .new {
      background-color: #00A2FF !important; }
  #buttons li.btn08 span {
    background-color: #ffd500;
    text-align: center; }

@media only screen and (max-width: 640px) {
  #buttons {
    width: 98%;
    margin: 0px auto; }
    #buttons li {
      width: 48%;
      float: left;
      margin-right: 6px;
      margin-bottom: 6px; }
    #buttons li:nth-child(even) {
      margin-right: 0; } }

h2 {
  text-align: center; }
  h2 > span {
    margin: 0 auto;
    text-align: center; }

#familypark {
  width: 980px;
  background-color: #fff;
  margin: -35px auto 0 auto;
  padding-top: 45px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 640px) {
    #familypark {
      width: 95%;
      margin: 0 auto;
      padding-top: 15px;
      border-radius: 10px; } }
  #familypark .text {
    margin-top: 34px;
    line-height: 1.75;
    font-size: 16px; }
    @media only screen and (max-width: 640px) {
      #familypark .text {
        width: 96%;
        margin: 0 auto;
        font-size: 14px; } }
  #familypark #box {
    width: 980px;
    overflow: hidden;
    margin-top: 50px; }
    @media only screen and (max-width: 640px) {
      #familypark #box {
        width: 96%;
        margin: 0 auto; } }
    #familypark #box li {
      width: 326px;
      float: left;
      color: #fff; }
      @media only screen and (max-width: 640px) {
        #familypark #box li {
          width: 100%;
          margin: 0 auto; } }
      #familypark #box li.game {
        background-image: url(../../family/images/taiken.jpg);
        background-repeat: no-repeat;
        background-color: #ffd500; }
        @media only screen and (max-width: 640px) {
          #familypark #box li.game {
            height: auto; } }
      #familypark #box li.ennichi {
        background-image: url(../../family/images/coupon.jpg);
        background-repeat: no-repeat;
        background-color: #00d13c; }
      #familypark #box li.programing {
        background-image: url(../../family/images/program.jpg);
        background-repeat: no-repeat;
        background-color: #00a2ff; }
      #familypark #box li .title {
        font-size: 18px;
        padding-top: 5px;
        line-height: 22px;
        padding-left: 20px; }
      #familypark #box li .text {
        font-size: 14px;
        width: 290px;
        margin: 200px auto 0 auto; }
        @media only screen and (max-width: 640px) {
          #familypark #box li .text {
            margin: 180px auto 0 auto; } }
      #familypark #box li .btn {
        border-radius: 5px;
        display: block;
        width: 300px;
        margin: 20px auto;
        text-align: center;
        font-size: 20px;
        padding-top: 7px;
        padding-bottom: 7px; }
      #familypark #box li span.btn {
        opacity: 0.5;
        background-color: #595959; }
      #familypark #box li a.btn {
        text-decoration: none;
        color: #000;
        background-color: #fff; }

#date {
  background-image: url(../../family/images/dot.png);
  background-color: #ffc933;
  padding-bottom: 50px; }
  #date dd {
    line-height: 1.7 !important; }
  #date #date-inner {
    width: 980px;
    margin: 0 auto;
    padding-top: 50px; }
    @media only screen and (max-width: 640px) {
      #date #date-inner {
        width: 96%;
        margin: 0 auto; } }
  #date .left {
    width: 550px;
    float: left;
    font-size: 18px;
    color: #636363; }
    @media only screen and (max-width: 640px) {
      #date .left {
        width: 100%;
        margin: 0 auto; } }
    #date .left dl {
      display: table;
      margin-bottom: 15px;
      line-height: 1.7 !important; }
      @media only screen and (max-width: 640px) {
        #date .left dl {
          font-size: 14px; } }
      #date .left dl dt {
        display: table-cell;
        width: 150px; }
        @media only screen and (max-width: 640px) {
          #date .left dl dt {
            width: 50px; } }
      #date .left dl dd {
        display: table-cell; }
    #date .left a.btn {
      display: block;
      background-color: #636363;
      font-size: 20px;
      width: 500px;
      border-radius: 15px;
      text-align: center;
      text-decoration: none;
      padding-top: 10px;
      padding-bottom: 10px;
      color: #fff;
      margin-top: 43px; }
      @media only screen and (max-width: 640px) {
        #date .left a.btn {
          width: 100%; } }
  #date .right {
    width: 420px;
    float: right; }
    @media only screen and (max-width: 640px) {
      #date .right {
        width: 100%;
        float: none; } }

#second-image {
  padding: 30px 0;
  text-align: center; }

#ennichi {
  width: 980px;
  background-color: #fff;
  margin: 35px auto 0 auto;
  padding-top: 45px;
  padding-bottom: 50px;
  border-radius: 10px; }
  @media only screen and (max-width: 640px) {
    #ennichi {
      width: 92%;
      margin: 20px auto 0 auto;
      padding-top: 15px;
      border-radius: 10px; } }
  #ennichi .text {
    margin-top: 34px;
    line-height: 1.75;
    font-size: 16px; }
    @media only screen and (max-width: 640px) {
      #ennichi .text {
        width: 96%;
        margin: 0 auto 0 auto; } }

.text {
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px; }

#coupon {
  width: 100%;
  background-image: url(../../family/images/back-green.png);
  margin: 35px auto 0 auto;
  padding-top: 45px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 640px) {
    #coupon {
      padding: 30px 0; } }
  #coupon .text {
    margin-top: 34px;
    line-height: 1.75;
    font-size: 16px; }
  #coupon #coupon-inner {
    width: 980px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 10px;
    padding-top: 45px;
    padding-bottom: 50px; }
    @media only screen and (max-width: 640px) {
      #coupon #coupon-inner {
        width: 92%;
        margin: 00px auto 0 auto;
        padding-top: 15px;
        border-radius: 10px; } }
  #coupon #coupon-inner .btn {
    width: 500px;
    text-align: center;
    font-size: 20px;
    color: #fff;
    margin: 0 auto;
    display: block;
    border-radius: 15px;
    background-color: #636363;
    text-decoration: none;
    padding-top: 10px;
    padding-bottom: 10px; }
    @media only screen and (max-width: 640px) {
      #coupon #coupon-inner .btn {
        width: 96%;
        margin: 0 auto 0 auto; } }
  #coupon .image {
    text-align: center;
    margin-bottom: 30px; }

footer {
  padding-top: 34px;
  padding-bottom: 34px;
  text-align: center;
  font-size: 11px; }

footer {
  width: 100%;
  background: #fff;
  overflow: hidden;
  min-width: 100%; }
  @media only screen and (max-width: 640px) {
    footer {
      width: 100%;
      padding: 15px; } }
  footer ul.op {
    overflow: hidden;
    width: 267px;
    margin: 0px auto; }
    @media only screen and (max-width: 640px) {
      footer ul.op {
        width: 100%; } }
    footer ul.op > li {
      float: left;
      text-align: center;
      margin-left: 15px; }
      @media only screen and (max-width: 640px) {
        footer ul.op > li {
          width: 100%;
          margin-left: 0px; } }
    footer ul.op .nikkei img {
      width: 136px; }
    footer ul.op .cesa img {
      width: 81px; }
    footer ul.op .cofasta img {
      width: 162px; }
  footer p {
    float: left;
    text-align: center;
    width: 100%;
    font-size: 12px;
    margin-top: 10px; }

.child {
  display: none; }

.drawer-nav {
  padding: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .drawer-nav > ul > li {
    margin-top: 15px; }
  .drawer-nav .toggle {
    background: rgba(0, 0, 0, 0) url("../images/arrow.svg") no-repeat scroll 0 center/auto 50%;
    padding-left: 20px;
    font-size: 16px;
    cursor: pointer; }
  .drawer-nav .inner li {
    font-size: 13px;
    padding-left: 20px;
    margin-top: 15px; }
  .drawer-nav .inner a {
    background: rgba(0, 0, 0, 0) url("../images/arrow.svg") no-repeat scroll 0 center/auto 50%;
    padding-left: 20px;
    color: #636363;
    text-decoration: none; }
    .drawer-nav .inner a.b_link {
      background: rgba(0, 0, 0, 0) url("../images/blank.svg") no-repeat scroll 0 center/auto 50%; }

#m_s_map {
  z-index: 1000;
  width: 100%;
  background: #d1d1d1; }
  @media only screen and (max-width: 640px) {
    #m_s_map {
      width: 100%; } }
  #m_s_map a {
    color: #000; }
  #m_s_map .m_s_mapwrap {
    width: 980px;
    margin: 0 auto;
    overflow: hidden;
    padding: 20px 0 60px; }
    @media only screen and (max-width: 640px) {
      #m_s_map .m_s_mapwrap {
        width: 100%;
        padding: 20px 0 40px; } }
    #m_s_map .m_s_mapwrap > li {
      width: 33.33333%;
      float: left; }
      @media only screen and (max-width: 640px) {
        #m_s_map .m_s_mapwrap > li {
          width: 100%;
          padding: 0 4%; } }
      #m_s_map .m_s_mapwrap > li li {
        margin-top: 7px; }
      #m_s_map .m_s_mapwrap > li .m_s_item {
        margin-top: 40px; }
        @media only screen and (max-width: 640px) {
          #m_s_map .m_s_mapwrap > li .m_s_item {
            margin-top: 20px; } }
      #m_s_map .m_s_mapwrap > li .l_item {
        font-size: 18px; }
        @media only screen and (max-width: 640px) {
          #m_s_map .m_s_mapwrap > li .l_item {
            font-size: 15px; } }
      #m_s_map .m_s_mapwrap > li .item {
        font-size: 13px; }
        @media only screen and (max-width: 640px) {
          #m_s_map .m_s_mapwrap > li .item {
            font-size: 11px; } }
      #m_s_map .m_s_mapwrap > li .n_link {
        padding: 2px 4px 2px 17px;
        background: url(../images/arrow.svg) no-repeat 0px center;
        background-size: auto 50%; }
      #m_s_map .m_s_mapwrap > li .b_link {
        padding: 2px 4px 2px 17px;
        background: url(../images/blank.svg) no-repeat 0px center;
        background-size: auto 50%; }

.menuhome {
  width: 36px !important; }
  .menuhome img {
    width: 20px; }

.pagetop {
  width: 54px;
  height: 54px;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100; }
  @media only screen and (max-width: 640px) {
    .pagetop {
      width: 45px;
      height: 45px; } }
  .pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    background: #000; }
    .pagetop a img {
      width: 100%; }

.h2-family {
  text-align: center;
  padding-bottom: 30px; }
  .h2-family > h2 {
    display: inline-block;
    font-size: 30px; }
    @media only screen and (max-width: 640px) {
      .h2-family > h2 {
        font-size: 24px; } }
  .h2-family > h3 {
    display: inline-block;
    font-size: 30px; }
    @media only screen and (max-width: 640px) {
      .h2-family > h3 {
        font-size: 24px; } }
  .h2-family > div {
    display: inline-block;
    width: 450px;
    height: 5px;
    background: url(../../family/images/color.png); }
    @media only screen and (max-width: 640px) {
      .h2-family > div {
        width: 200px; } }

.niko {
  color: #ff8600;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon04.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.car {
  color: #636363;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon05.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.koma {
  color: #00D13C;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon06.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.konto {
  color: #ffb319;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon07.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.konto2 {
  color: #ffb319;
  overflow: hidden;
  padding-left: 80px;
  background: url(../../family/images/icon07-2.png);
  background-position: left;
  background-size: 60px;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 640px) {
    .konto2 {
      background-size: 30px;
      padding-left: 40px; } }

.star {
  color: #00E58D;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon09.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.bird {
  color: #F368CE;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon10.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.present {
  color: #5CCEE5;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon11.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.aniv {
  color: #00e58d;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon12.png);
  background-position: left;
  background-size: 30px;
  background-repeat: no-repeat; }

.food {
  color: #ff7fbf;
  overflow: hidden;
  padding-left: 40px;
  background: url(../../family/images/icon13.png);
  background-position: left;
  background-size: 27px;
  background-repeat: no-repeat; }

.orange {
  color: #ffb319; }

.orange-bg {
  background-color: #ffb319; }

.pink {
  color: #efabdd; }

.pink-bg {
  background-color: #efabdd; }

.pink2 {
  color: #ff7fbf; }

.pink2-bg {
  background-color: #ff7fbf; }
  .pink2-bg .family-top-in {
    margin-top: 0; }
    .pink2-bg .family-top-in p {
      line-height: 1.75; }
      @media only screen and (max-width: 640px) {
        .pink2-bg .family-top-in p {
          font-size: 14px; } }

.litegreen {
  color: #00E58D; }

.litegreen-bg {
  background-color: #00E58D; }

.green {
  color: #00D13C; }

.green-bg {
  background-color: #00D13C; }

.liteblue {
  color: #5CCEE5; }

.liteblue-bg {
  background-color: #5CCEE5; }

.blue {
  color: #00A2FF; }

.blue-bg {
  background-color: #00A2FF; }

.family-wrap {
  width: 100%;
  background-image: url(../../family/images/dot.png);
  margin: 35px auto 0 auto;
  padding-top: 45px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 640px) {
    .family-wrap {
      padding: 30px 0; } }

.family-inner {
  width: 980px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  padding-top: 45px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 640px) {
    .family-inner {
      width: 92%;
      margin: 00px auto 0 auto;
      padding-top: 15px;
      border-radius: 10px; } }

.family-wrap-wh {
  background-color: #fff;
  border-radius: 10px;
  margin: 30px auto;
  padding: 30px 40px;
  width: 980px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .family-wrap-wh {
      width: 98%;
      padding: 20px;
      margin: 20px auto; } }
  .family-wrap-wh img {
    width: 100%; }

.family-dl {
  margin-top: 40px;
  padding-left: 40px;
  padding-right: 40px; }
  @media only screen and (max-width: 640px) {
    .family-dl {
      padding-left: 10px;
      padding-right: 10px; } }
  .family-dl > dt {
    font-size: 28px; }
    @media only screen and (max-width: 640px) {
      .family-dl > dt {
        font-size: 23px; } }
    .family-dl > dt > p {
      text-align: center; }
  .family-dl > dd {
    margin-top: 40px; }
    @media only screen and (max-width: 640px) {
      .family-dl > dd {
        margin-top: 25px;
        line-height: 1.4;
        font-size: 14px; } }

#creater {
  width: 100%;
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-image: url("../../family/images/dot.png");
  margin: 0 auto; }

.family-dl-wlap {
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .family-dl-wlap {
      width: 100%;
      padding-left: 10px;
      padding-right: 10px; } }
  .family-dl-wlap > dl {
    width: 100%;
    margin-top: 20px;
    padding: 30px;
    overflow: hidden;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px; }
    @media only screen and (max-width: 640px) {
      .family-dl-wlap > dl {
        padding: 10px; } }
    .family-dl-wlap > dl > dt {
      width: 20%;
      float: left;
      text-align: center;
      font-size: 31px;
      color: #fff;
      background-image: url("../../family/images/icon08.png");
      background-position: center right;
      background-size: 41px;
      background-repeat: no-repeat;
      padding-right: 41px; }
      @media only screen and (max-width: 640px) {
        .family-dl-wlap > dl > dt {
          width: 100%;
          float: none;
          background-position: center left;
          padding-right: 0px;
          padding-left: 0px;
          font-size: 25px; } }
    .family-dl-wlap > dl > dd {
      width: 65%;
      float: left;
      margin-left: 20px;
      padding-top: 10px;
      font-size: 17px;
      color: #fff; }
      @media only screen and (max-width: 640px) {
        .family-dl-wlap > dl > dd {
          width: 100%;
          float: none;
          margin-left: 0px;
          text-align: center;
          font-size: 14px; } }
  .family-dl-wlap > dl:nth-of-type(1) {
    background-color: #ff8600;
    margin-top: 0; }
    .family-dl-wlap > dl:nth-of-type(1) > dd {
      padding-top: 0; }
  .family-dl-wlap > dl:nth-of-type(2) {
    background-color: #ff1800; }
  .family-dl-wlap > dl:nth-of-type(3) {
    background-color: #00a2ff; }
  .family-dl-wlap > dl:nth-of-type(4) {
    background-color: #f368ce; }
  .family-dl-wlap > dl:nth-of-type(5) {
    background-color: #00d13c; }
  .family-dl-wlap > dl:nth-of-type(6) {
    background-color: #ffd500; }

.family-dl2 {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px;
  background-color: #00A2FF;
  color: #fff; }
  @media only screen and (max-width: 640px) {
    .family-dl2 {
      padding: 15px 10px; } }
  .family-dl2 > dt {
    font-size: 31px;
    padding-bottom: 20px;
    background: url("../../family/images/bottom.png") bottom center repeat-x; }
    @media only screen and (max-width: 640px) {
      .family-dl2 > dt {
        font-size: 25px; } }
  .family-dl2 > dd {
    font-size: 17px;
    margin-top: 20px; }
    @media only screen and (max-width: 640px) {
      .family-dl2 > dd {
        font-size: 14px; } }
    .family-dl2 > dd > dl {
      width: 100%;
      margin-top: 30px;
      overflow: hidden;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .family-dl2 > dd > dl > dt {
        width: auto;
        float: left; }
        @media only screen and (max-width: 640px) {
          .family-dl2 > dd > dl > dt {
            width: 100%;
            float: none; } }
      .family-dl2 > dd > dl > dd {
        width: 70%;
        float: left;
        margin-left: 30px; }
        @media only screen and (max-width: 640px) {
          .family-dl2 > dd > dl > dd {
            width: 100%;
            float: none;
            margin-left: 0; } }
    .family-dl2 > dd > dl:nth-of-type(1) {
      margin-top: 0; }

.family-dl3 {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px;
  margin-top: 30px;
  background-color: #00D13C;
  color: #fff; }
  @media only screen and (max-width: 640px) {
    .family-dl3 {
      padding: 15px 10px; } }
  .family-dl3 > dt {
    font-size: 31px;
    padding-bottom: 20px;
    background: url("../../family/images/bottom.png") bottom center repeat-x; }
    @media only screen and (max-width: 640px) {
      .family-dl3 > dt {
        font-size: 25px; } }
  .family-dl3 > dd {
    font-size: 17px;
    margin-top: 20px; }
    @media only screen and (max-width: 640px) {
      .family-dl3 > dd {
        font-size: 14px; } }
    .family-dl3 > dd > dl {
      width: 100%;
      margin-top: 30px;
      overflow: hidden;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .family-dl3 > dd > dl > dt {
        width: auto;
        float: left; }
        @media only screen and (max-width: 640px) {
          .family-dl3 > dd > dl > dt {
            width: 100%;
            float: none; } }
      .family-dl3 > dd > dl > dd {
        width: 70%;
        float: left;
        margin-left: 30px; }
        @media only screen and (max-width: 640px) {
          .family-dl3 > dd > dl > dd {
            width: 100%;
            float: none;
            margin-left: 0; } }
    .family-dl3 > dd > dl:nth-of-type(1) {
      margin-top: 0; }

.family-wlap-white {
  width: 100%;
  margin: 0 auto 0 auto;
  padding-top: 30px;
  padding-bottom: 30px; }
  @media only screen and (max-width: 640px) {
    .family-wlap-white {
      padding: 0; } }

.family-wlap-gray {
  background-color: #f7f7f7;
  border-radius: 10px;
  margin: 30px auto 0 auto;
  padding-top: 30px;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: 40px;
  width: 980px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .family-wlap-gray {
      width: 98%;
      padding-left: 10px;
      padding-right: 10px; } }
  .family-wlap-gray > h3 {
    font-size: 25px;
    text-align: center;
    color: #ff8600; }
    @media only screen and (max-width: 640px) {
      .family-wlap-gray > h3 {
        font-size: 20px; } }

.glaybox_text {
  font-size: 16px;
  margin-top: 20px;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: -0.02em; }

.navi_img {
  text-align: center;
  width: 100%;
  margin-top: 20px; }
  .navi_img img {
    width: 70%; }
    @media only screen and (max-width: 640px) {
      .navi_img img {
        width: 90%; } }

.family-box {
  margin-top: 40px;
  background-color: #f78200;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .family-box {
      margin-top: 15px; } }
  .family-box > dl {
    color: #fff;
    width: 100%;
    overflow: hidden;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 640px) {
      .family-box > dl {
        padding-right: 0px; } }
    .family-box > dl > dt {
      width: 70%;
      float: left; }
      @media only screen and (max-width: 640px) {
        .family-box > dl > dt {
          width: 100%;
          float: none; } }
    .family-box > dl > dd {
      width: 30%;
      float: left;
      padding-top: 20px; }
      @media only screen and (max-width: 640px) {
        .family-box > dl > dd {
          width: 100%;
          float: none;
          padding-left: 18px;
          padding-right: 18px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; } }
      .family-box > dl > dd > img {
        width: 100%;
        margin-top: 5px; }
  .family-box > div {
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 640px) {
      .family-box > div {
        padding-left: 18px;
        padding-right: 18px;
        margin-top: 10px;
        padding-bottom: 10px; } }
    .family-box > div > dl {
      width: 100%;
      background-color: #fff;
      padding: 30px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      overflow: hidden; }
      @media only screen and (max-width: 640px) {
        .family-box > div > dl {
          padding: 10px; } }
      .family-box > div > dl > dt {
        float: left;
        width: 20%; }
        @media only screen and (max-width: 640px) {
          .family-box > div > dl > dt {
            width: 100%;
            float: none;
            text-align: center; } }
        .family-box > div > dl > dt > img {
          width: 100%; }
          @media only screen and (max-width: 640px) {
            .family-box > div > dl > dt > img {
              width: 50%; } }
      .family-box > div > dl > dd {
        float: left;
        width: 75%;
        margin-left: 30px;
        font-size: 13px;
        line-height: 1.5; }
        @media only screen and (max-width: 640px) {
          .family-box > div > dl > dd {
            width: 100%;
            float: none;
            margin-left: 0px;
            text-align: justify;
            text-justify: inter-ideograph; } }

.trans {
  overflow: hidden; }
  .trans p {
    text-align: justify;
    text-justify: inter-ideograph; }
  .trans > div:nth-of-type(1) {
    margin-top: -120px;
    height: 30px;
    padding: 130px 25px 0px 10px;
    -webkit-transform: skew(0deg, -20deg);
    -ms-transform: skew(0deg, -20deg);
    transform: skew(0deg, -20deg);
    background: #ffd500; }
    @media only screen and (max-width: 640px) {
      .trans > div:nth-of-type(1) {
        margin-top: 0px;
        height: auto;
        padding: 10px;
        -webkit-transform: skew(0deg, 0deg);
        -ms-transform: skew(0deg, 0deg);
        transform: skew(0deg, 0deg);
        text-align: center; } }
    .trans > div:nth-of-type(1) > div {
      -webkit-transform: skew(0deg, 20deg);
      -ms-transform: skew(0deg, 20deg);
      transform: skew(0deg, 20deg); }
      @media only screen and (max-width: 640px) {
        .trans > div:nth-of-type(1) > div {
          -webkit-transform: skew(0deg, 0deg);
          -ms-transform: skew(0deg, 0deg);
          transform: skew(0deg, 0deg);
          width: 100%; } }
  .trans > div:nth-of-type(2) {
    padding: 90px 10px 50px 30px;
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg); }
    @media only screen and (max-width: 640px) {
      .trans > div:nth-of-type(2) {
        padding: 0px 0px 0px 0px;
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg); } }
    .trans > div:nth-of-type(2) > h4 {
      font-size: 35px;
      line-height: 1.2;
      font-weight: 900; }
      @media only screen and (max-width: 640px) {
        .trans > div:nth-of-type(2) > h4 {
          font-size: 19px;
          text-align: center;
          margin-top: 20px; } }
      .trans > div:nth-of-type(2) > h4 span {
        border-bottom: 2px solid #fff;
        display: inline-block;
        margin-bottom: 10px;
        font-weight: 900; }
    .trans > div:nth-of-type(2) > dl {
      margin-top: 10px;
      font-size: 18px;
      overflow: hidden;
      width: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      @media only screen and (max-width: 640px) {
        .trans > div:nth-of-type(2) > dl {
          padding: 10px;
          font-size: 14px; } }
      .trans > div:nth-of-type(2) > dl > dt {
        float: left;
        width: 60%; }
        @media only screen and (max-width: 640px) {
          .trans > div:nth-of-type(2) > dl > dt {
            float: none;
            width: 100%;
            padding-left: 0px;
            padding-right: 0px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
      .trans > div:nth-of-type(2) > dl > dd {
        float: left;
        width: 40%; }
        @media only screen and (max-width: 640px) {
          .trans > div:nth-of-type(2) > dl > dd {
            float: none;
            width: 100%;
            margin-top: 10px; } }
        .trans > div:nth-of-type(2) > dl > dd > img {
          width: 100%; }
    .trans > div:nth-of-type(2) > p {
      margin-top: 20px;
      font-size: 15px;
      width: 100%; }
      @media only screen and (max-width: 640px) {
        .trans > div:nth-of-type(2) > p {
          margin-top: 10px;
          padding-left: 10px;
          padding-right: 10px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; } }
    @media only screen and (max-width: 640px) {
      .trans > div:nth-of-type(2) > p:nth-of-type(1) {
        margin-top: 0px; } }

.trans2 {
  padding: 90px 10px 50px 50px !important; }
  @media only screen and (max-width: 640px) {
    .trans2 {
      padding: 0px 0px 0px 0px !important; } }

.table {
  margin-top: 20px; }
  .table > dt > dl {
    width: 100%;
    display: block;
    overflow: hidden; }
    .table > dt > dl > dt {
      width: 30%;
      float: left; }
    .table > dt > dl > dd {
      width: 30%;
      float: left; }
      .table > dt > dl > dd > img {
        width: 100%; }
  .table > dd > dl {
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 41px;
    margin-top: 10px; }
    @media only screen and (max-width: 640px) {
      .table > dd > dl {
        margin-top: 10px;
        height: auto; } }
    .table > dd > dl > dt {
      display: block;
      overflow: hidden;
      float: left;
      width: 25%;
      text-align: center;
      padding: 10px 10px 9px 10px;
      background: #ededed;
      font-size: 18px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      @media only screen and (max-width: 640px) {
        .table > dd > dl > dt {
          float: none;
          width: 100%;
          font-size: 15px; } }
    .table > dd > dl > dd {
      display: block;
      overflow: hidden;
      float: left;
      width: 75%;
      padding: 10px 10px 9px 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .table > dd > dl > dd > p {
        text-align: left;
        font-size: 18px; }
        @media only screen and (max-width: 640px) {
          .table > dd > dl > dd > p {
            font-size: 15px; } }
        .table > dd > dl > dd > p > span {
          font-size: 15px; }
          @media only screen and (max-width: 640px) {
            .table > dd > dl > dd > p > span {
              font-size: 12px; } }
      @media only screen and (max-width: 640px) {
        .table > dd > dl > dd {
          float: none;
          width: 100%; } }

.eve-dl-in {
  width: 100%;
  display: block;
  overflow: hidden;
  margin-top: 60px; }
  .eve-dl-in > dt {
    font-size: 21px; }
    @media only screen and (max-width: 640px) {
      .eve-dl-in > dt {
        font-size: 18px; } }
  .eve-dl-in > dd {
    padding-top: 7px; }
    .eve-dl-in > dd > p {
      margin-top: 20px; }
    .eve-dl-in > dd > p:nth-of-type(1) {
      margin-top: 0; }

.show-dl {
  width: 75%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 640px) {
    .show-dl {
      width: 100%;
      padding: 0 20px; } }
  .show-dl img {
    width: 100%; }
  .show-dl > dt {
    width: 44.9%;
    float: left; }
  .show-dl > dd {
    width: 44.9%;
    float: left;
    margin-left: 9.9%; }

.family-wrap-in {
  width: 90%;
  margin: 0 auto; }

.coupon-dl {
  width: 100%;
  overflow: hidden; }
  .coupon-dl > dt {
    width: 45%;
    float: left; }
    @media only screen and (max-width: 640px) {
      .coupon-dl > dt {
        width: 100%;
        float: none; } }
    .coupon-dl > dt > p:nth-of-type(1) {
      font-size: 20px; }
    .coupon-dl > dt > p:nth-of-type(2) {
      margin-top: 10px; }
    .coupon-dl > dt > p:nth-of-type(3) {
      text-align: center;
      margin-top: 10px;
      background-color: #737373;
      color: #fff;
      border-radius: 10px;
      padding: 5px 10px 6px; }
      .coupon-dl > dt > p:nth-of-type(3) > a {
        text-decoration: none;
        color: #fff; }
    .coupon-dl > dt > p:nth-of-type(4) {
      text-align: center;
      margin-top: 10px;
      background-color: #ff0000;
      color: #fff;
      padding: 5px 10px 6px; }
    .coupon-dl > dt > img {
      display: block;
      margin: 0 auto; }
  .coupon-dl > dd {
    width: 50%;
    float: left;
    margin-left: 20px; }
    @media only screen and (max-width: 640px) {
      .coupon-dl > dd {
        width: 100%;
        float: none;
        margin-left: 0; } }
    .coupon-dl > dd > img {
      width: 100%; }

.family-top > img {
  width: 100%; }

.creater-bg {
  height: 400px; }
  @media only screen and (max-width: 640px) {
    .creater-bg {
      height: auto; } }

.logo {
  padding-top: 160px; }
  @media only screen and (max-width: 640px) {
    .logo {
      padding-top: 40px; } }
  .logo > h2 {
    font-size: 60px;
    font-weight: 900; }
    @media only screen and (max-width: 640px) {
      .logo > h2 {
        font-size: 30px; } }
  .logo > div {
    width: 800px; }
    @media only screen and (max-width: 640px) {
      .logo > div {
        width: 200px; } }

.family-link {
  width: 980px;
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 40px auto 0; }
  @media only screen and (max-width: 640px) {
    .family-link {
      width: 100%; } }
  .family-link > li {
    width: 209px;
    float: left;
    background-color: #F6CB3F;
    text-align: center;
    font-size: 24px;
    padding-top: 5px;
    padding-bottom: 6px;
    margin-left: 20px; }
    @media only screen and (max-width: 640px) {
      .family-link > li {
        width: 100%;
        font-size: 20px;
        margin-left: 0px;
        margin-top: 5px; } }
    .family-link > li > a {
      text-decoration: none;
      color: #fff;
      display: block; }
    .family-link > li > a:hover {
      color: #ededed; }
  .family-link > li:nth-of-type(1) {
    margin-left: 0px; }

.n-deco {
  text-decoration: none; }

.new {
  background-color: #FF8600 !important;
  color: white;
  font-size: 10px;
  margin-left: 5px;
  padding: 0 3px; }

#navi > h3 {
  color: #ff8600;
  font-size: 25px;
  text-align: center; }

#navi > img {
  width: 100%;
  margin-top: 40px; }

.junior-ul {
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%; }
  .junior-ul > li {
    width: 48.3%;
    float: left; }
  .junior-ul > li:nth-child(even) {
    margin-left: 3.3%; }

.junior-pbox > p {
  padding-left: 10px;
  font-size: 19px;
  margin-top: 10px; }

.junior-pbox > p::before {
  content: "・";
  margin-left: -10px; }

.junior-pbox > p:nth-of-type(1) {
  margin-top: 0; }

.cero-box img {
  display: block;
  margin: 0 auto;
  width: 70%; }

.pre-box img {
  display: block;
  width: 100%;
  margin: 0 auto; }

.family-top-in {
  margin-top: 20px; }
  .family-top-in > p {
    margin-top: 20px;
    text-align: justify;
    text-justify: inter-ideograph; }
  .family-top-in > p:nth-of-type(1) {
    margin-top: 0; }

.maker-ul {
  display: block;
  overflow: hidden;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .maker-ul > li {
    width: 50%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin-top: 10px; }
    @media only screen and (max-width: 640px) {
      .maker-ul > li {
        width: 100%; } }
    .maker-ul > li > p {
      display: block;
      line-height: 1.5;
      padding-left: 10px;
      text-align: justify;
      text-justify: inter-ideograph; }
    .maker-ul > li > p::before {
      content: "・";
      margin-left: -10px; }
  .maker-ul > li:nth-of-type(1) {
    margin-top: 0; }
  .maker-ul > li:nth-of-type(2) {
    margin-top: 0; }

.co-top > img {
  display: block;
  width: 100%;
  margin: 0 auto; }

.co-p > p {
  margin-top: 20px; }

.co-p > p:nth-of-type(1) {
  margin-top: 0; }

.co-p > p:nth-last-of-type(1) {
  padding-bottom: 20px; }

.co-bg {
  height: auto !important;
  overflow: hidden; }

.junior-img {
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .junior-img > img {
    width: 100%; }

.family-food-box {
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 20px auto 0;
  width: 50%; }
  @media only screen and (max-width: 640px) {
    .family-food-box {
      width: 75%; } }
  .family-food-box > dl:nth-of-type(1) {
    margin-left: 0; }
  .family-food-box > dl {
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 44.9%;
    margin-left: 9.9%; }
    .family-food-box > dl > dt {
      width: 100%; }
      .family-food-box > dl > dt > img {
        width: 100%; }
    .family-food-box > dl > dd {
      width: 100%; }
      .family-food-box > dl > dd > p {
        margin-top: 10px;
        font-size: 15px; }
        @media only screen and (max-width: 640px) {
          .family-food-box > dl > dd > p {
            font-size: 13px; } }
      .family-food-box > dl > dd > p:nth-of-type(1) {
        font-family: "A-OTF UD新ゴ Pro DB", sans-serif;
        font-size: 18px; }
        @media only screen and (max-width: 640px) {
          .family-food-box > dl > dd > p:nth-of-type(1) {
            font-size: 15px; } }
