/*! Writen  by SCSS */
/* loading */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  background: #382e2b;
  z-index: 10000001; }
  #loading .load_logo {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(50% + 40px);
    text-align: center; }
    #loading .load_logo img {
      max-width: 200px;
      margin: 0 auto; }
      @media screen and (max-width: 480px) {
        #loading .load_logo img {
          max-width: 160px; } }
  #loading #percent {
    margin-bottom: 5px;
    text-align: center;
    font-size: 14px;
    color: #FFF;
    letter-spacing: 0.1em;
    font-weight: 600; }
  #loading #gauge {
    width: 0px;
    height: 0px;
    border-bottom: solid 1px #FFF;
    z-index: 1; }
  .top_loaded #loading {
    transition: all 1s ease-in-out 0.5s;
    opacity: 0;
    pointer-events: none; }

.contents_wrap {
  position: relative; }

.main_wrap {
  position: relative; }
  .main_wrap:after {
    content: "";
    display: block;
    padding-bottom: 45%; }
    @media screen and (max-width: 480px) {
      .main_wrap:after {
        padding-bottom: 85.715%; } }
  .main_wrap .main_bg {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 69.792%; }
    @media screen and (max-width: 480px) {
      .main_wrap .main_bg {
        width: 100%; } }
    .main_wrap .main_bg:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: url("../images/top/main.jpg") center center/cover no-repeat; }
      @media screen and (max-width: 480px) {
        .main_wrap .main_bg:before {
          background-image: url("../images/top/main_sp.jpg"); } }
    .main_wrap .main_bg:after {
      content: "";
      display: block;
      pointer-events: none; }
      @media screen and (max-width: 480px) {
        .main_wrap .main_bg:after {
          padding-top: 85.715%; } }
    .main_wrap .main_bg .main_cap {
      position: absolute;
      right: 5px;
      bottom: 5px;
      font-size: 12px;
      color: #FFF;
      text-shadow: 0px 0px 0px rgba(56, 46, 43, 0.5), 0px 0px 1px rgba(56, 46, 43, 0.5), 0px 0px 2px rgba(56, 46, 43, 0.5), 0px 0px 3px rgba(56, 46, 43, 0.5), 0px 0px 4px rgba(56, 46, 43, 0.5), 0px 0px 5px rgba(56, 46, 43, 0.5), 0px 0px 6px rgba(56, 46, 43, 0.5), 0px 0px 7px rgba(56, 46, 43, 0.5), 0px 0px 8px rgba(56, 46, 43, 0.5), 0px 0px 9px rgba(56, 46, 43, 0.5), 0px 0px 10px rgba(56, 46, 43, 0.5); }
      @media screen and (max-width: 768px) {
        .main_wrap .main_bg .main_cap {
          font-size: 10px; } }
      @media screen and (max-width: 480px) {
        .main_wrap .main_bg .main_cap {
          left: auto;
          right: 5px; } }
  .main_wrap .logo_wrap {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 30.208%;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .main_wrap .logo_wrap {
        bottom: auto;
        left: auto;
        top: 20px;
        right: 20px;
        width: 40%;
        background: #FFF; } }
    .main_wrap .logo_wrap .logo_in {
      padding: 0 50px; }
      @media screen and (max-width: 480px) {
        .main_wrap .logo_wrap .logo_in {
          padding: 20px 15px; } }
      .main_wrap .logo_wrap .logo_in span img {
        width: 100%; }

@media screen and (max-width: 480px) {
  .float_bnr_wrap {
    display: flex;
    justify-content: space-between;
    padding: 20px; } }
.float_bnr_wrap .floating_bnr {
  position: fixed;
  z-index: 90002;
  overflow: hidden; }
  .float_bnr_wrap .floating_bnr.floating {
    right: 30px;
    top: 150px;
    max-width: 260px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .float_bnr_wrap .floating_bnr.floating {
        top: 100px;
        max-width: 220px; } }
    @media screen and (max-width: 480px) {
      .float_bnr_wrap .floating_bnr.floating {
        width: 48%;
        position: static; } }
  .float_bnr_wrap .floating_bnr.floating02 {
    right: 30px;
    top: 370px;
    max-width: 260px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .float_bnr_wrap .floating_bnr.floating02 {
        top: 290px;
        max-width: 220px; } }
    @media screen and (max-width: 480px) {
      .float_bnr_wrap .floating_bnr.floating02 {
        width: 48%;
        position: static; } }
  .float_bnr_wrap .floating_bnr a {
    display: block;
    position: relative; }
  .float_bnr_wrap .floating_bnr .float_close,
  .float_bnr_wrap .floating_bnr .float_close02 {
    position: absolute;
    right: 2px;
    top: 2px;
    cursor: pointer;
    line-height: 0; }
    @media screen and (max-width: 480px) {
      .float_bnr_wrap .floating_bnr .float_close,
      .float_bnr_wrap .floating_bnr .float_close02 {
        display: none; } }

h3 {
  font-size: 16px;
  color: #382e2b;
  font-weight: 500; }
  h3.white {
    color: #FFF; }
  @media screen and (max-width: 480px) {
    h3 {
      font-size: 14px; } }

h4 {
  font-size: 22px;
  color: #382e2b;
  text-align: center;
  line-height: 2.4; }
  h4.white {
    color: #FFF; }
  @media screen and (max-width: 980px) {
    h4 {
      font-size: 19px; } }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 18px; } }
  @media screen and (max-width: 480px) {
    h4 {
      font-size: 15px; } }

.read {
  font-size: 14px;
  color: #382e2b; }
  @media screen and (max-width: 480px) {
    .read {
      font-size: 12px; } }
  .read.white {
    color: #FFF; }

.btn a {
  display: inline-block;
  background: rgba(255, 255, 255, 0);
  transition: 0.5s all ease-in-out 0s; }
  body:not(.mobile) .btn a:hover {
    background: white; }

.information {
  text-align: center;
  margin-bottom: 70px;
  color: #FFF; }
  @media screen and (max-width: 768px) {
    .information {
      margin-bottom: 50px; } }
  .information .info_ttl {
    text-align: center;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .information .info_ttl {
        margin-bottom: 20px; } }
    .information .info_ttl span {
      display: inline-block;
      font-size: 14px;
      color: #FFF;
      padding: 3px 15px;
      background: #171c61; }
  .information .info_read {
    font-size: 26px;
    line-height: 1.6; }
    @media screen and (max-width: 768px) {
      .information .info_read {
        font-size: 23px; } }
    @media screen and (max-width: 480px) {
      .information .info_read {
        font-size: 20px; } }
    @media screen and (max-width: 375px) {
      .information .info_read {
        font-size: 18px; } }
    @media screen and (max-width: 360px) {
      .information .info_read {
        font-size: 17px; } }
    .information .info_read .big {
      font-size: 120%;
      font-weight: bold; }
  .information .info_day .border {
    display: inline-block;
    font-size: 16px;
    padding: 10px;
    border-top: 1px dashed rgba(255, 255, 255, 0.5);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.5); }
    @media screen and (max-width: 768px) {
      .information .info_day .border {
        font-size: 14px; } }
    @media screen and (max-width: 480px) {
      .information .info_day .border {
        text-align: left;
        padding: 10px 0px; } }
    @media screen and (max-width: 375px) {
      .information .info_day .border {
        font-size: 13px; } }
    @media screen and (max-width: 360px) {
      .information .info_day .border {
        font-size: 12px; } }
  .information .info_anno {
    font-size: 15px; }
    @media screen and (max-width: 768px) {
      .information .info_anno {
        font-size: 14px; } }
    @media screen and (max-width: 360px) {
      .information .info_anno {
        font-size: 13px; } }
    .information .info_anno a {
      display: inline-block; }
      body:not(.mobile) .information .info_anno a {
        pointer-events: none; }
    .information .info_anno .sub {
      font-size: 80%; }
      @media screen and (max-width: 480px) {
        .information .info_anno .sub {
          display: block; } }

.sec01 {
  padding: 70px 20px 90px;
  background: #594a45; }
  @media screen and (max-width: 768px) {
    .sec01 {
      padding: 50px 20px 70px; } }
  @media screen and (max-width: 480px) {
    .sec01 {
      padding: 40px 20px 50px; } }
  .sec01 .kdtk {
    font-size: 28px;
    color: #FFF;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .sec01 .kdtk {
        font-size: 24px; } }
    @media screen and (max-width: 375px) {
      .sec01 .kdtk {
        font-size: 22px; } }
  .sec01 .contact {
    margin-bottom: 60px;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec01 .contact {
        margin-bottom: 50px; } }
    .sec01 .contact p {
      font-size: 12px;
      color: #FFF; }
      @media screen and (max-width: 900px) {
        .sec01 .contact p {
          text-align: center; } }
      @media screen and (max-width: 480px) {
        .sec01 .contact p {
          font-size: 10px;
          line-height: 2.2; } }
      .sec01 .contact p a {
        font-size: 170%; }
        body:not(.mobile) .sec01 .contact p a.tellink {
          pointer-events: none; }
    .sec01 .contact .tel {
      margin-bottom: 5px; }
      .sec01 .contact .tel a {
        font-size: 31px;
        line-height: 1.4; }
        @media screen and (max-width: 480px) {
          .sec01 .contact .tel a {
            font-size: 34px; } }
    .sec01 .contact .time {
      line-height: 1.6; }
  .sec01 .merit {
    max-width: 1200px;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .sec01 .merit {
        margin: 0 auto 40px; } }
    .sec01 .merit li {
      width: 17.17%;
      border-bottom: 1px solid #FFF;
      padding-bottom: 20px; }
      .sec01 .merit li.first {
        width: 38%; }
        @media screen and (max-width: 640px) {
          .sec01 .merit li.first {
            width: 60%; } }
      @media screen and (max-width: 640px) {
        .sec01 .merit li.second {
          width: 35%; } }
      @media screen and (max-width: 640px) {
        .sec01 .merit li {
          width: 47%;
          margin-bottom: 15px;
          padding-bottom: 10px; } }
      @media screen and (max-width: 640px) {
        .sec01 .merit li:nth-child(n+3) {
          margin-bottom: 0; } }
      .sec01 .merit li p {
        color: #FFF; }
      .sec01 .merit li .icon {
        text-align: center;
        position: relative;
        margin-bottom: 15px; }
        @media screen and (max-width: 640px) {
          .sec01 .merit li .icon {
            margin-bottom: 10px; } }
        .sec01 .merit li .icon:before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          top: 50%;
          background: #FFF;
          height: 1px; }
        .sec01 .merit li .icon span {
          display: inline-block;
          background: #594a45;
          padding: 0 10px;
          position: relative; }
      .sec01 .merit li .m01 {
        font-size: 16px;
        text-align: center;
        margin-bottom: 15px; }
        @media screen and (max-width: 640px) {
          .sec01 .merit li .m01 {
            font-size: 12px;
            margin-bottom: 5px; } }
      .sec01 .merit li .merit_flex {
        justify-content: center; }
        .sec01 .merit li .merit_flex .txt_block:nth-of-type(1) {
          margin-right: 30px;
          padding-right: 30px;
          border-right: 1px solid rgba(255, 255, 255, 0.5); }
          @media screen and (max-width: 768px) {
            .sec01 .merit li .merit_flex .txt_block:nth-of-type(1) {
              margin-right: 20px;
              padding-right: 20px; } }
          @media screen and (max-width: 660px) {
            .sec01 .merit li .merit_flex .txt_block:nth-of-type(1) {
              margin-right: 10px;
              padding-right: 10px; } }
      .sec01 .merit li .txt_block {
        display: flex;
        flex-direction: column;
        justify-content: center; }
        .sec01 .merit li .txt_block .m02 {
          font-size: 25px;
          text-align: center;
          line-height: 1.2; }
          @media screen and (max-width: 1200px) {
            .sec01 .merit li .txt_block .m02 {
              font-size: 2.05vw; } }
          @media screen and (max-width: 640px) {
            .sec01 .merit li .txt_block .m02 {
              font-size: 17px; } }
          .sec01 .merit li .txt_block .m02 span.sub {
            font-size: 75%; }
          .sec01 .merit li .txt_block .m02 span.big {
            font-size: 175%; }
        .sec01 .merit li .txt_block .m03 {
          font-size: 22px;
          text-align: center; }
          @media screen and (max-width: 1200px) {
            .sec01 .merit li .txt_block .m03 {
              font-size: 1.8vw; } }
          @media screen and (max-width: 640px) {
            .sec01 .merit li .txt_block .m03 {
              font-size: 15px; } }
          .sec01 .merit li .txt_block .m03 span.big {
            font-size: 175%;
            display: inline-block;
            line-height: 1; }
        .sec01 .merit li .txt_block .m04 {
          font-size: 26px;
          text-align: center;
          line-height: 1.4; }
          @media screen and (max-width: 1200px) {
            .sec01 .merit li .txt_block .m04 {
              font-size: 2.1vw; } }
          @media screen and (max-width: 640px) {
            .sec01 .merit li .txt_block .m04 {
              font-size: 17px; } }
          .sec01 .merit li .txt_block .m04 span.big {
            font-size: 130%; }
          .sec01 .merit li .txt_block .m04 span.sub {
            display: block;
            font-size: 16px; }
            @media screen and (max-width: 640px) {
              .sec01 .merit li .txt_block .m04 span.sub {
                font-size: 12px; } }
  .sec01 .pamph_btn {
    /*max-width:560px;*/
    max-width: 270px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    .sec01 .pamph_btn li {
      /*width:48%;*/
      width: 100%; }
      .sec01 .pamph_btn li a {
        border: 1px solid #FFF;
        display: block;
        font-size: 18px;
        padding: 10px;
        padding: 10px 10px 2px\0;
        color: #FFF;
        text-align: center;
        transition: 0.6s all ease-in-out 0s; }
        .sec01 .pamph_btn li a.dark {
          background: #4a3933; }
        @media screen and (max-width: 768px) {
          .sec01 .pamph_btn li a {
            font-size: 16px;
            padding: 10px; } }
        @media screen and (max-width: 480px) {
          .sec01 .pamph_btn li a {
            font-size: 14px; } }
        body:not(.mobile) .sec01 .pamph_btn li a:hover {
          background: #FFF;
          color: #382e2b; }

.sec02 {
  padding: 200px 20px;
  overflow: hidden;
  background-image: url("../images/top/bg_office.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .sec02 {
      padding: 80px 20px;
      margin-bottom: 40px; } }
  @media screen and (max-width: 480px) {
    .sec02 {
      background-image: url("../images/top/bg_office_sp.jpg");
      padding: 60px 20px;
      margin-bottom: 30px; } }
  .sec02 .sec02_cap {
    font-size: 10px;
    color: #FFF;
    display: block;
    padding: 3px 5px;
    letter-spacing: normal;
    line-height: 1.5;
    color: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right; }
  .sec02 .gaikan_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 960px;
    margin: 60px auto 0; }
    @media screen and (max-width: 480px) {
      .sec02 .gaikan_wrap {
        width: 85%;
        width: 100%;
        margin: 0 auto; } }
    .sec02 .gaikan_wrap .gaikan {
      width: 47.92%; }
      @media screen and (max-width: 480px) {
        .sec02 .gaikan_wrap .gaikan {
          width: 100%;
          margin-bottom: 30px; } }
    .sec02 .gaikan_wrap .point {
      width: 47.396%;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      flex-direction: column; }
      @media screen and (max-width: 480px) {
        .sec02 .gaikan_wrap .point {
          width: 100%; } }
      .sec02 .gaikan_wrap .point li {
        width: 100%; }
        @media screen and (max-width: 480px) {
          .sec02 .gaikan_wrap .point li {
            margin-bottom: 15px; } }
        .sec02 .gaikan_wrap .point li .image {
          position: relative; }
          .sec02 .gaikan_wrap .point li .image .image_txt {
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 25px;
            font-weight: bold;
            color: #FFF; }
            @media screen and (max-width: 1024px) {
              .sec02 .gaikan_wrap .point li .image .image_txt {
                font-size: 21px; } }
            @media screen and (max-width: 480px) {
              .sec02 .gaikan_wrap .point li .image .image_txt {
                font-size: 18px; } }
        .sec02 .gaikan_wrap .point li .p_txt {
          background: #FFF;
          text-align: center;
          font-size: 16px;
          font-weight: bold;
          padding: 5px;
          line-height: 1.4; }
          @media screen and (max-width: 1024px) {
            .sec02 .gaikan_wrap .point li .p_txt {
              font-size: 14px; } }
          @media screen and (max-width: 768px) {
            .sec02 .gaikan_wrap .point li .p_txt {
              font-size: 13px; } }
          @media screen and (max-width: 480px) {
            .sec02 .gaikan_wrap .point li .p_txt {
              padding: 15px 5px; } }
    .sec02 .gaikan_wrap .cap_l {
      margin-top: 20px;
      width: 100%; }

.sec03 {
  padding-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .sec03 {
      padding-bottom: 40px; } }
  .sec03 .caparea {
    padding: 0 20px;
    margin: 0 auto;
    box-sizing: content-box; }

/*# sourceMappingURL=top.css.map */
