@charset "UTF-8";
.img-fluid {
  display: block;
  margin: 0 auto; }

.lora {
  font-family: "lora" !important; }

a, a:hover {
  text-decoration: none; }

#header {
  height: 160px;
  z-index: 997;
  background-color: #fff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
  #header #header_1 {
    background-color: #e2efee;
    height: 74px; }
    #header #header_1 h1 {
      font-size: 15px;
      color: #515151;
      padding: 0;
      margin: 0; }
    #header #header_1 ul {
      font-size: 18px;
      font-weight: bold;
      list-style: none;
      padding: 10px 0;
      margin: 0; }
      #header #header_1 ul li {
        padding-right: 10px; }
        #header #header_1 ul li a {
          color: #213e4c; }
        #header #header_1 ul li a:hover {
          color: rgba(33, 62, 76, 0.8); }
  #header .logo h2 a {
    color: #aa872e;
    font-size: 40px; }
    #header .logo h2 a span {
      font-size: 20px;
      font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      vertical-align: middle; }

/* Toppage */
section#hero {
  padding: 0; }

.top_alohalei {
  background: url("../img/top/bg_top_about.jpg") 50% 100% no-repeat;
  height: 880px; }
  .top_alohalei ul {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    padding-top: 1.25rem;
    margin: 0; }
    .top_alohalei ul li {
      padding: 1.25rem 0 1.25rem 1.25rem; }
    .top_alohalei ul li:last-child {
      padding-top: 0; }

.profile {
  background: url("../img/top/bg_top_profile.jpg") 50% 0 no-repeat;
  height: 769px;
  padding: 0;
  margin: 0; }
  .profile .profile_img {
    height: 100%; }
  .profile .profile_text {
    padding-top: 15rem; }

.step {
  background: url("../img/top/bg_top_step.jpg") 50% 0 no-repeat;
  height: 719px; }

.plans {
  background-color: #fbf9f9;
  height: auto;
  padding: 0 0 10rem; }
  .plans .plan_img {
    padding-top: 10rem; }
  .plans .plan_text {
    padding-top: 12.5rem; }

.blog {
  padding: 3.75rem 0; }
  .blog h3 {
    display: inline-block;
    position: relative;
    margin-bottom: 3.125rem; }
  .blog h3:before {
    display: inline-block;
    position: absolute;
    content: '';
    bottom: -10px;
    left: 50%;
    width: 30px;
    height: 5px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #aa872e; }
  .blog .blog-wrapper {
    height: 240px;
    background-color: #e2efee;
    margin: 15px 0; }

/* under layer main-visual */
section.section_mv {
  width: 100%;
  padding-top: 160px;
  height: 554px; }
  section.section_mv h2 {
    padding: 120px 0 0 0;
    color: #333; }
  section.section_mv h3.lora {
    font-size: 1.375rem;
    text-align: left;
    color: #515151; }

/* Introduction */
.intro01 {
  background: url("../img/intro/mv_intro.jpg") 50% 100% no-repeat; }

#alohalei {
  padding: 0; }
  #alohalei h3 {
    padding: 3.125rem 0; }
    #alohalei h3 .bridal {
      font-size: 80%; }

.intro02 {
  padding: 0;
  margin-bottom: 3.125rem; }
  .intro02 .about-wrapper {
    background-color: rgba(237, 244, 242, 0.9);
    padding: 1.85rem 1.25rem 2.5rem; }
    .intro02 .about-wrapper h4 {
      text-align: center;
      height: auto;
      border-top: 1px solid #aa872a;
      border-bottom: 1px solid #aa872a;
      padding: 1rem 0; }
      .intro02 .about-wrapper h4 span {
        display: block;
        background-color: rgba(255, 255, 255, 0.6);
        padding: 1rem 0; }
    .intro02 .about-wrapper p {
      font-size: 18px;
      line-height: 2.25rem;
      padding: 1.25rem 0;
      width: 90%; }

.alohalei01 {
  background: url("../img/intro/bg_intro_01.jpg") 0 3rem no-repeat;
  min-height: 500px; }

.alohalei02 {
  background: url("../img/intro/bg_intro_02.jpg") 100% 3rem no-repeat;
  min-height: 500px; }

.alohalei03 {
  background: url("../img/intro/bg_intro_03.jpg") 0 3rem no-repeat;
  min-height: 500px; }

.alohalei04 {
  background: url("../img/intro/bg_intro_04.jpg") 100% 3rem no-repeat;
  min-height: 500px; }

.intro03 {
  background: url("../img/intro/bg_profile.jpg") 50% 0 no-repeat;
  height: 1186px; }
  .intro03 h4 {
    line-height: 2.5rem;
    color: #aa872e; }
  .intro03 p {
    font-size: 20px;
    line-height: 2.25rem;
    padding: 1.25rem 0;
    width: 100%; }

.intro04 {
  margin-top: -250px;
  padding: 0; }
  .intro04 .profile-txt {
    margin-top: -400px; }
    .intro04 .profile-txt h5 {
      font-size: 34px;
      color: #aa872e;
      border-bottom: #aa872e 1px solid;
      padding-bottom: 1rem; }
    .intro04 .profile-txt p {
      font-size: 18px;
      line-height: 2.25rem;
      padding: 1.25rem 0;
      width: 100%; }

.intro05 {
  background: url("../img/intro/bg_interview.jpg") 50% 0 no-repeat;
  min-height: 1900px;
  margin: 9.375rem 0;
  padding-top: 3.125rem; }
  .intro05 h3 {
    padding-bottom: 1.875rem; }
  .intro05 h4 {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
    border: 1px solid #aa872e;
    padding: 1rem 2rem;
    background: #edf4f2;
    color: #aa872e !important;
    box-shadow: inset 9px 9px 0 #ffffff !important;
    filter: drop-shadow(10px 10px 0 #edf4f2) !important; }
  .intro05 p {
    width: 98%;
    line-height: 2.8rem;
    padding-bottom: 3rem; }

/* Step */
.step01 {
  background: url("../img/step/mv_step.jpg") 50% 100% no-repeat; }

#step {
  padding: 0; }
  #step h3 {
    padding: 3.125rem 0; }

.step02 {
  padding: 3.125rem 0;
  background: url("../img/step/bg_step_01.jpg") 50% 0 no-repeat; }
  .step02 .step_img {
    width: 45%;
    transform: rotate(-3deg); }

.step03 {
  padding: 3.125rem 0;
  background: url("../img/step/bg_step_02.jpg") 50% 50% no-repeat; }
  .step03 .step_img {
    width: 45%;
    transform: rotate(3deg); }

.step02 .step_contents, .step03 .step_contents {
  display: flex;
  justify-content: space-between;
  align-content: center; }
.step02 .step_img img.img-fluid, .step03 .step_img img.img-fluid {
  box-shadow: 2px 2px 4px rgba(122, 122, 122, 0.6); }
.step02 .step_txt, .step03 .step_txt {
  width: 50%; }
  .step02 .step_txt h4, .step03 .step_txt h4 {
    color: #aa872e; }
    .step02 .step_txt h4 span, .step03 .step_txt h4 span {
      display: block;
      padding-bottom: 1.25rem; }
  .step02 .step_txt p, .step03 .step_txt p {
    width: 98%;
    line-height: 2.4rem; }

.documents {
  background: url("../img/step/bg_documents.jpg") 50% 100% no-repeat;
  min-height: 1100px;
  padding-bottom: 15rem; }
  .documents h4 {
    color: #aa872e;
    padding: 1.5rem 0.8rem;
    text-align: center;
    border-top: 1px solid #aa872e;
    border-bottom: 1px solid #aa872e;
    display: inline-block;
    width: auto;
    margin: 0 auto;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
    font-weight: bold;
    letter-spacing: 1px; }
  .documents p {
    text-align: center;
    padding-bottom: 3.125rem; }
  .documents .document_contents .doc_content {
    background-color: #fff;
    max-width: calc(25% - 10px);
    margin: 15px 5px;
    padding: 15px 5px;
    box-shadow: 2px 2px 4px rgba(122, 122, 122, 0.6);
    position: relative;
    line-height: 1.4;
    display: inline-block;
    top: 0; }
    .documents .document_contents .doc_content :before, .documents .document_contents .doc_content :after {
      position: absolute;
      left: 12px;
      content: '';
      width: 90%;
      height: 15px;
      display: inline-block; }
    .documents .document_contents .doc_content :before {
      border-top: solid 1px #aa872e;
      border-left: solid 1px #aa872e;
      border-right: solid 1px #aa872e;
      top: 10px; }
    .documents .document_contents .doc_content :after {
      content: '';
      border-bottom: solid 1px #aa872e;
      border-right: solid 1px #aa872e;
      border-left: solid 1px #aa872e;
      bottom: 10px; }
    .documents .document_contents .doc_content h5 {
      font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
      text-align: center;
      font-weight: bold;
      padding: 10px 0; }
    .documents .document_contents .doc_content h6 {
      font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
      text-align: center; }
    .documents .document_contents .doc_content p {
      text-align: left;
      font-size: 18px; }

/* Plan */
.plan {
  background: url("../img/plan/mv_plan.jpg") 50% 100% no-repeat; }

.plan01 {
  background: url("../img/plan/bg_plan01.jpg") 0 0 no-repeat, url("../img/plan/bg_plan02.jpg") 100% 100% no-repeat;
  padding: 3.125rem 0 25rem; }
  .plan01 h3 {
    padding: 3.125rem 0; }
  .plan01 h4, .plan01 h5, .plan01 h6 {
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important; }
  .plan01 h4 {
    color: #aa872e;
    padding-bottom: 2rem; }
  .plan01 h5 {
    width: 18em;
    border-bottom: 1px solid #515151;
    padding: 1rem;
    text-align: center;
    margin: 0 auto 12px; }
  .plan01 h6 {
    font-size: 18px; }
  .plan01 .table_wrapper {
    width: 80%;
    margin: 30px auto;
    border: 5px solid #aa872e;
    margin-bottom: 6.25rem; }
    .plan01 .table_wrapper table {
      width: 100%;
      border: 4px solid #fff; }
      .plan01 .table_wrapper table tr th {
        background-color: #EDF4F2;
        padding: 2.5rem 1rem;
        text-align: center;
        font-size: 28px;
        font-weight: normal;
        width: 40%;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff; }
      .plan01 .table_wrapper table tr td {
        background-color: #fbf9f9;
        padding: 2.5rem;
        font-size: 40px;
        width: 60%;
        text-align: right;
        border-bottom: 2px solid #fff; }
        .plan01 .table_wrapper table tr td .yen {
          font-size: 28px; }
        .plan01 .table_wrapper table tr td .miai {
          font-size: 16px; }

.service {
  background: url("../img/plan/bg_service_top.jpg") 50% 0 no-repeat, url("../img/plan/bg_service.jpg") 0 88px repeat;
  padding: 9.375rem 0 12.5rem; }
  .service h3 {
    padding-bottom: 1.875rem; }
  .service h4, .service h5 {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
    font-weight: bold; }
  .service h4 {
    text-align: center;
    padding-bottom: 1.5rem; }
  .service .service01 h5 {
    padding: 0 1rem 1rem;
    border-bottom: 1px solid #aa872e;
    margin-bottom: 0;
    font-size: 1.5rem; }
    .service .service01 h5:before {
      content: "";
      display: inline-block;
      width: 2em;
      height: 2em;
      background: url("../img/plan/icon_banner.png") no-repeat;
      background-size: contain; }
  .service .service01 .line {
    width: 18em;
    border-top: 5px solid #aa872e; }
  .service .service01 .service_content {
    background-color: #fff;
    margin: 3.125rem 0.3125rem;
    width: calc(33% - 0.625rem);
    padding: 10px 10px 20px; }
    .service .service01 .service_content h6 {
      font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
      font-weight: bold;
      color: #aa872e;
      text-align: center;
      font-size: 1.5rem;
      padding-top: 1.25rem; }
    .service .service01 .service_content p {
      width: 100%;
      padding: 1.25rem 0 1.25rem 0.5rem;
      line-height: 2.2rem; }

/* FAQ */
.faq {
  background: url("../img/faq/mv_faq.jpg") 50% 100% no-repeat; }

.faq01 {
  background: url("../img/faq/bg_faq.jpg") 50% 0 no-repeat;
  padding: 3.125rem 0 12.5rem; }
  .faq01 h3 {
    padding-bottom: 1.875rem; }
  .faq01 h4 {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" !important;
    text-align: center;
    padding-bottom: 1.875rem; }
  .faq01 .accordion .accordion-item {
    margin-bottom: 1.875rem;
    border: 1px solid #aa872e; }
    .faq01 .accordion .accordion-item:first-of-type {
      border-radius: 0; }
    .faq01 .accordion .accordion-item:first-of-type .accordion-button {
      border-radius: 0; }
    .faq01 .accordion .accordion-item .accordion-button {
      font-size: 24px;
      padding: 1.5rem;
      color: #515151; }
    .faq01 .accordion .accordion-item .accordion-button:not(.collapsed) {
      color: #aa872e;
      background-color: #fff;
      box-shadow: none; }
    .faq01 .accordion .accordion-item .accordion-body {
      font-size: 20px;
      padding: 1.5rem; }
    .faq01 .accordion .accordion-item .accordion-button::after {
      background-image: url("../img/faq/icon_arrow.png"); }
    .faq01 .accordion .accordion-item .accordion-button:not(.collapsed)::after {
      background-image: url("../img/faq/icon_arrow.png");
      transform: rotate(-90deg); }

/* Contact */
.contact_mv {
  background: url("../img/mv_contact.jpg") 50% 100% no-repeat; }

.contact01 {
  padding: 6.25rem 0; }
  .contact01 h3 {
    padding-bottom: 3.125rem; }
  .contact01 h4 {
    text-align: center;
    padding-bottom: 3.125rem; }
  .contact01 .office {
    padding-bottom: 6.25rem; }
    .contact01 .office table {
      width: 100%; }
      .contact01 .office table tr th {
        padding: 1.8rem 1rem 1.8rem 3rem;
        font-size: 20px;
        font-weight: normal;
        width: 30%;
        border-bottom: 1px solid #515151; }
      .contact01 .office table tr td {
        padding: 1.8rem;
        font-size: 20px;
        width: 70%;
        border-bottom: 1px solid #515151; }
        .contact01 .office table tr td .bridal {
          font-family: 80%; }
        .contact01 .office table tr td .lora {
          font-size: 30px; }
        .contact01 .office table tr td .time {
          font-size: 80%; }
      .contact01 .office table tr:first-of-type th, .contact01 .office table tr:first-of-type td {
        border-top: 1px solid #515151; }

.footer {
  /* .footer1 */
  /* .footer2 */
  /* .footer3 */ }
  .footer .footer1 {
    background: url("../img/footer/bg_footer.jpg") 50% 50% no-repeat;
    height: auto;
    padding-top: 3.75rem;
    position: relative; }
    .footer .footer1 .area {
      position: absolute;
      left: 50px;
      top: -24px; }
  .footer .footer2 {
    padding: 5rem 0;
    background: url("../img/footer/img_footer_border.png") 50% 100% no-repeat;
    margin-bottom: 1rem;
    /* .footer2_list1 */
    /* .footer2_list2 */ }
    .footer .footer2 .footer2_list1 h4.phone, .footer .footer2 .footer2_list1 h4 a {
      display: block;
      padding: 1.5rem;
      background-color: #aa872e;
      border: 4px solid #fff;
      box-shadow: 0 0 0 3px #aa872e;
      color: #fff;
      padding: 2rem 0;
      margin: 0 0 16px 0;
      text-align: center;
      color: #fff;
      transition-duration: 500ms;
      transition-property: background-color; }
    .footer .footer2 .footer2_list1 a:hover {
      background-color: #fff;
      color: #aa872e; }
    .footer .footer2 .footer2_list1 h4.phone {
      font-family: 'Helvetica neue', Helvetica, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif !important;
      margin: 0 0 16px 0;
      padding: 1.38rem 0; }
      .footer .footer2 .footer2_list1 h4.phone span.number {
        font-size: 26px;
        vertical-align: middle; }
      .footer .footer2 .footer2_list1 h4.phone span.time {
        font-size: 16px;
        vertical-align: middle; }
    .footer .footer2 .footer2_list2 ul {
      list-style: none;
      margin: 0;
      padding: 0;
      font-family: YuMincho,'Yu Mincho', serif !important; }
      .footer .footer2 .footer2_list2 ul li a {
        display: block;
        padding: 1.5rem;
        border: 4px solid #aa872e;
        color: #aa872e;
        background-color: #fff;
        box-shadow: 0 0 0 3px #fff;
        padding: 1.8rem 0;
        margin: 0 0 16px 0;
        text-align: center;
        font-size: 1.4rem;
        transition-duration: 500ms;
        transition-property: background-color; }
      .footer .footer2 .footer2_list2 ul a:hover {
        background-color: #aa872e;
        color: #fff;
        border: 4px solid #fff;
        box-shadow: 0 0 0 3px #aa872e; }
    .footer .footer2 .footer_logo {
      margin: 0 0 16px 0; }
      .footer .footer2 .footer_logo .img-fluid {
        width: 100%; }
  .footer .footer3 {
    background-color: #e2efee; }
    .footer .footer3 .copyright {
      font-family: YuMincho,'Yu Mincho', serif !important;
      font-size: 1rem;
      padding: 1.6rem 0 0;
      margin: 0; }
    .footer .footer3 .footer3_list {
      list-style: none;
      margin: 0;
      padding: 1rem 0;
      justify-content: flex-end; }
      .footer .footer3 .footer3_list li a {
        padding-left: 1rem; }
