@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/cwtexming.css);
/*-----mixin-----*/
/*-----extend-----*/
.section-title.is-vertical span, #index .index-container .container-top .title .line01:after, #index .service .service-list li .text-area .title .ch, #profile .profile-intro .intro-img .text-area .name .ch, #profile .profile-intro .intro-txt, #service .photo-slider .mask span, #inquiry .inquiry-top-section .inquiry-banner .title, #recommend .recommend-list .recomment-item .title-area .title .ch {
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr; }

.gallery-list li .text-area .title {
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden; }

.justify-between, header #main-nav .menu, .vertical-header-section.is-left, .vertical-header-section .photo-area .content-inner-box, .horizon-header-section .flex-center, .template, #service .service-case-table ul li, #service .service-case-table ul li:last-child > div .table-event, #service .dress-file .check-list, #service .family-file .col-6:last-child ul, #service .progress-section .progress-angle-arrow, #service .progress-list, #service .photo-slider ul, #inquiry .photo-slider ul, #recommend .recommend-mansory, #recommend .recommend-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex; }

#service .family-file .col-6:last-child ul, #inquiry .photo-slider ul {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-flex-wrap: wrap; }

footer .footer-main {
  background-size: cover;
  background-repeat: no-repeat; }

#index #banner .text-area, #index .service .service-list li .text-area .title .ch, #service .service-banner .title, #recommend .recommend-list .recomment-item .title-area .title .ch {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }

#index .about .content, #inquiry .inquiry-top-section .inquiry-banner .title {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.btn-round .inner, .vertical-header-section.is-center .title-area, #index .service .service-list li .text-area .title .en, #service .service-case-table ul li .table-event .inner, #service .dress-photo .slider-area .slider-main .more, #service .dress-photo .slider-area .slider-main .more svg, #service .progress-list .progress-item figure .icon, #service .photo-slider .mask span, #inquiry .photo-slider .mask .inner, #recommend .recommend-list .recomment-item .title-area .title .en {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

html,
body {
  width: 100%;
  min-height: 100%;
  height: auto;
  padding: 0px;
  margin: 0px;
  text-align: left;
  overflow: visible;
  font-size: 15px;
  color: #1F1F1F;
  background-color: #eee;
  background-image: url(../_img/layout/bg.png);
  background-repeat: repeat-y;
  line-height: 1.6;
  font-family: 'Lato', '微軟正黑體','Microsoft JhengHei','cwTeXMing','EB Garamond', 'Noto Serif',  sans-serif;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .pace:after {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 37, 57, 0.8);
    z-index: 99999;
    display: block; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #002539;
  position: fixed;
  z-index: 200000;
  top: 0;
  right: 100%;
  width: 100%;
  height: 3px; }

/*共用屬性*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

* {
  -webkit-overflow-scrolling: touch; }

a {
  text-decoration: none;
  color: inherit;
  outline: none; }
  a:active, a:hover {
    outline: none; }

img {
  max-width: 100%;
  width: auto;
  height: auto; }

/*----- 表格 -----*/
table {
  width: 100%; }

.form-cell, input[type=password] {
  width: 100%;
  height: 2.8em;
  border: 1px solid transparent;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  background-color: #fff;
  font-family: "微軟正黑體"; }

textarea {
  width: 100%;
  height: 2.8em;
  border: 1px solid transparent;
  padding: 5px 8px;
  margin: 2px 0;
  line-height: 2.8em;
  outline: 0;
  background-color: #fff;
  font-family: "微軟正黑體";
  height: auto;
  line-height: 1.6;
  outline: 0;
  padding: 8px; }

input[type="text"] {
  -webkit-appearance: none;
  outline: 0; }

input[type="checkbox"] {
  display: none; }
  input[type="checkbox"]:checked + label:before {
    content: "\f046";
    margin-right: 1px; }
  input[type="checkbox"] + label {
    cursor: pointer; }
    input[type="checkbox"] + label:before {
      content: "\f096";
      font-family: 'FontAwesome';
      margin-right: 3px; }

input[type="radio"] {
  display: none; }
  input[type="radio"]:checked + label:before {
    content: "\f05d";
    color: #002539; }
  input[type="radio"] + label {
    cursor: pointer; }
    input[type="radio"] + label:before {
      content: "\f1db";
      font-family: 'FontAwesome';
      margin-right: 4px; }

/*--- Select ---*/
select {
  outline: 0;
  font-family: '微軟正黑體'; }

/*----- Buttons -----*/
button {
  outline: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: '微軟正黑體'; }

.btn {
  display: inline-block; }

/*----- 泛用表格 -----*/
.t {
  display: table; }
  .t > .t-row {
    display: table-row; }
    .t > .t-row > .t-cell {
      display: table-cell;
      vertical-align: middle;
      border-collapse: collapse;
      margin: 0;
      padding: 0; }

dl {
  padding: 5px 0;
  font-size: 0; }
  dl dt, dl dd {
    display: inline-block;
    vertical-align: middle;
    font-size: 1rem; }

/*定義區塊*/
.container {
  margin: auto;
  position: relative;
  z-index: 100;
  width: 1200px;
  max-width: 100%;
  padding: 0 15px; }

.wrap {
  padding: 20px 0; }

.row {
  position: relative;
  padding: 10px 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  position: relative;
  min-height: 1px;
  float: left;
  padding-left: 5px;
  padding-right: 5px; }

.col-12 {
  width: 100%; }

.col-11 {
  width: 91.66666667%; }

.col-10 {
  width: 83.33333333%; }

.col-9 {
  width: 75%; }

.col-8 {
  width: 66.66666667%; }

.col-7 {
  width: 58.33333333%; }

.col-6 {
  width: 50%; }

.col-5 {
  width: 41.66666667%; }

.col-4 {
  width: 33.33333333%; }

.col-3 {
  width: 25%; }

.col-2 {
  width: 16.66666667%; }

.col-1 {
  width: 8.33333333%; }

.bg-img {
  background-size: cover;
  background-position: center;
  display: block;
  width: 100%;
  height: 0; }

.pic {
  position: relative;
  font-size: 0;
  width: 100%;
  height: 0;
  display: block; }
  .pic > span {
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
    top: 0;
    left: 0; }
    .pic > span:before {
      content: ' ';
      display: inline-block;
      height: 100%;
      width: 0;
      vertical-align: middle; }
    .pic > span > img, .pic > span > iframe {
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      display: inline-block;
      vertical-align: middle; }
    .pic > span > iframe {
      width: 100%;
      height: 100%; }

/*-----RWD地圖&Youtube影片-----*/
.map, .video {
  position: relative;
  width: 100%;
  height: 0; }
  .map iframe, .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.cf:after, .row:after, dl:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden; }

.editor {
  word-break: break-word;
  /* Begin bidirectionality settings (do not change) */ }
  .editor i {
    font-style: italic; }
  .editor em, .editor b, .editor strong {
    font-weight: bold; }
  .editor img {
    height: auto !important; }
  .editor html, .editor address, .editor blockquote, .editor body, .editor dd, .editor div, .editor dl, .editor dt, .editor fieldset, .editor form,
  .editor frame, .editor frameset, .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor noframes, .editor ol, .editor p, .editor ul, .editor center,
  .editor dir, .editor hr, .editor menu, .editor pre {
    display: block; }
  .editor li {
    display: list-item; }
  .editor head {
    display: none; }
  .editor table {
    display: table; }
  .editor tr {
    display: table-row; }
  .editor thead {
    display: table-header-group; }
  .editor tbody {
    display: table-row-group; }
  .editor tfoot {
    display: table-footer-group; }
  .editor col {
    display: table-column; }
  .editor colgroup {
    display: table-column-group; }
  .editor td, .editor th {
    display: table-cell; }
  .editor caption {
    display: table-caption; }
  .editor th {
    font-weight: bolder;
    text-align: center; }
  .editor caption {
    text-align: center; }
  .editor body {
    margin: 8px; }
  .editor h1 {
    font-size: 2em;
    margin: .67em 0; }
  .editor h2 {
    font-size: 1.5em;
    margin: .75em 0; }
  .editor h3 {
    font-size: 1.17em;
    margin: .83em 0; }
  .editor h4, .editor p, .editor blockquote, .editor ul, .editor fieldset, .editor form, .editor ol, .editor dl, .editor dir, .editor menu {
    margin: 1.12em 0; }
  .editor h5 {
    font-size: .83em;
    margin: 1.5em 0; }
  .editor h6 {
    font-size: .75em;
    margin: 1.67em 0; }
  .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6, .editor b, .editor strong {
    font-weight: bolder; }
  .editor blockquote {
    margin-left: 40px;
    margin-right: 40px; }
  .editor i, .editor cite, .editor em, .editor var, .editor address {
    font-style: italic; }
  .editor pre, .editor tt, .editor code, .editor kbd, .editor samp {
    font-family: monospace; }
  .editor pre {
    white-space: pre; }
  .editor button, .editor textarea, .editor input, .editor select {
    display: inline-block; }
  .editor big {
    font-size: 1.17em; }
  .editor small, .editor sub, .editor sup {
    font-size: .83em; }
  .editor sub {
    vertical-align: sub; }
  .editor sup {
    vertical-align: super; }
  .editor table {
    border-spacing: 2px; }
  .editor thead, .editor tbody, .editor tfoot {
    vertical-align: middle; }
  .editor td, .editor th {
    vertical-align: inherit; }
  .editor s, .editor strike, .editor del {
    text-decoration: line-through; }
  .editor hr {
    border: 1px inset; }
  .editor ol, .editor ul, .editor dir, .editor menu, .editor dd {
    margin-left: 40px; }
  .editor ol {
    list-style-type: decimal; }
  .editor ol ul, .editor ul ol, .editor ul ul, .editor ol ol {
    margin-top: 0;
    margin-bottom: 0; }
  .editor u, .editor ins {
    text-decoration: underline; }
  .editor br:before {
    content: "\A"; }
  .editor :before, .editor :after {
    white-space: pre-line; }
  .editor center {
    text-align: center; }
  .editor :link, .editor :visited {
    text-decoration: underline; }
  .editor :focus {
    outline: thin dotted invert; }
  .editor BDO[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: bidi-override; }
  .editor BDO[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: bidi-override; }
  .editor *[DIR="ltr"] {
    direction: ltr;
    unicode-bidi: embed; }
  .editor *[DIR="rtl"] {
    direction: rtl;
    unicode-bidi: embed; }
  @media print {
    .editor h1 {
      page-break-before: always; }
    .editor h1, .editor h2, .editor h3, .editor h4, .editor h5, .editor h6 {
      page-break-after: avoid; }
    .editor ul, .editor ol, .editor dl {
      page-break-before: avoid; } }

/*-----排版-----*/
.txt-center {
  text-align: center; }

.txt-right {
  text-align: right; }

.inline-item {
  display: inline-block; }

.align-m {
  display: inline-block;
  vertical-align: middle; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap; }

.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/*----- header -----*/
header {
  position: fixed;
  width: 100%;
  z-index: 9000;
  background: -webkit-gradient(linear, left top, right top, color-stop(75%, rgba(255, 255, 255, 0.75)), to(#fff));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.75) 75%, #fff 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0.75) 75%, #fff 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.75) 75%, #fff 100%); }
  header #logo {
    float: left;
    display: inline-block;
    margin: 5px 0;
    overflow: hidden; }
    header #logo h1 {
      position: absolute;
      text-indent: -9999px; }
  header #main-nav {
    width: calc(100% - 198px);
    margin-top: 1.2rem;
    padding-left: 3.5vw;
    float: right;
    text-align: right;
    text-transform: uppercase;
    font-size: 17px; }
    header #main-nav .menu {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      header #main-nav .menu li {
        display: inline-block;
        vertical-align: middle;
        margin-left: 2em;
        -webkit-transition: all .6s ease;
        -o-transition: all .6s ease;
        transition: all .6s ease; }
        header #main-nav .menu li:hover, header #main-nav .menu li.active {
          color: #D0A25F;
          -webkit-transition: all .8s ease;
          -o-transition: all .8s ease;
          transition: all .8s ease; }
      header #main-nav .menu ul {
        text-indent: -9999;
        display: none; }

/*----- footer -----*/
footer .container {
  width: 1400px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

footer .footer-main {
  padding: 15px 0;
  color: #fff;
  background-image: url(../_img/layout/footer_bg.jpg); }
  footer .footer-main .footer-nav {
    -webkit-box-flex: calc(70% - 1px);
    -ms-flex: calc(70% - 1px);
    flex: calc(70% - 1px); }
    footer .footer-main .footer-nav .footer-nav--item {
      margin-right: 20px; }
    footer .footer-main .footer-nav ul {
      margin-bottom: 1.5em; }
      footer .footer-main .footer-nav ul li {
        margin: 5px 0; }
        footer .footer-main .footer-nav ul li.leader {
          margin-bottom: 10px;
          font-size: 20px;
          text-transform: uppercase;
          font-weight: 400; }
        footer .footer-main .footer-nav ul li span {
          display: inline-block; }
          footer .footer-main .footer-nav ul li span.ch {
            margin-right: 1em; }
          footer .footer-main .footer-nav ul li span.en {
            letter-spacing: 1px;
            font-weight: 300; }
        footer .footer-main .footer-nav ul li.fb span.en {
          position: relative; }
          footer .footer-main .footer-nav ul li.fb span.en:before {
            content: '';
            position: absolute;
            display: inline-block;
            width: 12px;
            height: 9px;
            right: 4px;
            bottom: 3px;
            border: 1px solid #fff;
            background-color: transparent;
            z-index: -1; }
          footer .footer-main .footer-nav ul li.fb span.en:after {
            content: '';
            display: inline-block;
            width: 12px;
            height: 9px;
            margin-left: 10px;
            border: 1px solid #fff;
            background-color: #002539;
            z-index: 2; }
  footer .footer-main .footer-brand {
    position: relative;
    -webkit-box-flex: 20%;
    -ms-flex: 20%;
    flex: 20%;
    padding: 0 10px;
    text-align: center; }
    footer .footer-main .footer-brand:before {
      content: '';
      display: block;
      position: absolute;
      width: 1px;
      left: 0;
      top: 10%;
      bottom: 10%;
      background-color: rgba(255, 255, 255, 0.2); }

footer .footer-bottom {
  padding: 3px 0;
  color: #002539;
  background-color: #fff;
  font-size: 13px; }

/*--- typography ---*/
[data-font="eb"] {
  font-family: 'EB Garamond'; }

[data-font="noto"] {
  font-family: 'Noto Serif CJK TC'; }

[data-font="cwtex"] {
  font-family: 'cwTeXMing'; }

[data-font="default"] {
  font-family: '微軟正黑體','Microsoft JhengHei'; }

[data-font="big"] {
  text-transform: uppercase;
  letter-spacing: .06em; }

.h1 {
  font-size: 40px; }

.h2 {
  font-size: 35px; }

.h3 {
  font-size: 30px; }

.h4 {
  font-size: 25px; }

.main-title {
  position: relative;
  margin: 3.5rem 0 2rem;
  color: #002539; }
  .main-title h1,
  .main-title > div {
    display: inline-block;
    vertical-align: middle; }
  .main-title .line {
    float: right;
    display: inline-block;
    width: calc(100% - 200px - 10px);
    height: 1px;
    margin: 30px 0;
    background-color: #002539;
    vertical-align: middle; }

.section-title {
  position: relative;
  text-align: center;
  margin: 1em 0 2em;
  line-height: 1; }
  .section-title.with-lines {
    letter-spacing: .1em; }
    .section-title.with-lines span {
      display: inline-block;
      position: relative;
      letter-spacing: .12em; }
    .section-title.with-lines .line01 {
      display: inline-block;
      width: calc((100% - 5em) / 2 - 20px - 12px);
      max-width: 160px;
      height: 1px;
      margin: 0 5px;
      vertical-align: super;
      background-color: #002539; }
  .section-title.is-vertical {
    width: 1em;
    margin: auto 1.5rem; }
    .section-title.is-vertical .line01 {
      display: block;
      height: calc((100% - 5em) / 2 - 20px);
      max-height: 160px;
      width: 1px;
      margin: .35em auto; }

a.article-link {
  position: relative;
  color: #002539; }
  a.article-link:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #002539;
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); }
  a.article-link:hover:after {
    width: 100%;
    -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*--- page banner ---*/
.page-banner {
  position: relative;
  overflow: hidden; }
  .page-banner .banner-title {
    display: inline-block;
    position: absolute;
    top: 180px; }
    .page-banner .banner-title h2 {
      line-height: 1.3; }
    .page-banner .banner-title p {
      text-align: right; }
    .page-banner .banner-title.is-right {
      max-width: 410px;
      text-align: center;
      right: 0; }
      .page-banner .banner-title.is-right p {
        text-align: center;
        margin-top: 1.67rem; }
  .page-banner .bg-img {
    height: 396px;
    background-position: center; }

/*--- tab-list ---*/
.tab-list {
  margin-bottom: 3rem;
  text-align: center; }
  .tab-list li {
    display: inline-block;
    padding: 20px 30px;
    border-right: 1px solid #002539; }
    .tab-list li:last-child {
      border-right: 0; }
    .tab-list li.current .tab-btn {
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      background-color: #002539;
      color: #fff; }
    .tab-list li .tab-btn {
      -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.5);
      box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.5); }
      .tab-list li .tab-btn .inner {
        display: inline-block;
        line-height: 1.3;
        letter-spacing: 1px; }
        .tab-list li .tab-btn .inner span {
          display: block;
          margin: 3px 0; }
      .tab-list li .tab-btn:hover {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        background-color: #002539;
        color: #fff; }

/*--- buttons ---*/
.btn {
  display: inline-block; }

.btn-round {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 100%;
  text-align: center;
  color: #002539;
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
  background-color: #fff;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }
  .btn-round .inner {
    width: 100%; }
  .btn-round p {
    margin: 5px 0; }
  .btn-round:hover {
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease; }

.btn-with-arrow img, .btn-with-arrow .btn {
  display: inline-block;
  vertical-align: middle;
  margin: 1px 5px; }

.btn-with-arrow .btn-round {
  width: 50px;
  height: 50px; }

section {
  position: relative;
  margin: 20px 0;
  padding: 30px 0; }

/*--- photo section ---*/
.photo-section {
  position: relative; }
  .photo-section.is-visible .photo-area .mask, .photo-section.is-visible .photo-area .mask2, .photo-section.is-visible .photo-area .mask3 {
    margin-right: 0;
    right: 0;
    bottom: 0;
    left: 100%; }
  .photo-section.is-right .photo-area {
    position: relative;
    float: right; }
  .photo-section.is-right .text-area {
    left: 0; }
    .photo-section.is-right .text-area > div {
      float: left; }
  .photo-section .photo-area {
    position: relative;
    width: 75%;
    float: left; }
  .photo-section .text-area {
    position: absolute;
    height: 100%;
    width: 60%;
    right: 0;
    z-index: 20; }
    .photo-section .text-area > div {
      float: right; }
    .photo-section .text-area .section-title {
      letter-spacing: .12em;
      margin: .5em 0 1.2em; }
    .photo-section .text-area .white-box {
      width: 100%;
      max-width: 480px;
      margin-top: 70px;
      padding: 50px 20px;
      background-color: rgba(255, 255, 255, 0.9); }
      .photo-section .text-area .white-box .inner {
        width: 80%;
        max-width: 390px;
        margin: auto; }
    .photo-section .text-area .order-list {
      list-style: decimal; }
      .photo-section .text-area .order-list li {
        padding-left: 4px;
        margin-bottom: 1.5em; }

/*--- vertical header section---*/
.vertical-header-section {
  position: relative; }
  .vertical-header-section.is-left {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .vertical-header-section.is-left .title-area {
      margin-right: 20px; }
  .vertical-header-section .left-box {
    float: left;
    width: 50%; }
    .vertical-header-section .left-box > div {
      float: left; }
  .vertical-header-section .right-box {
    float: right;
    width: 50%; }
    .vertical-header-section .right-box > div {
      float: right; }
  .vertical-header-section .photo-area {
    position: relative; }
    .vertical-header-section .photo-area .content-inner-box {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .vertical-header-section .photo-area .white-box {
      position: absolute;
      width: 100%;
      max-width: 300px;
      margin: auto;
      text-align: center;
      background-color: rgba(255, 255, 255, 0.9); }
      .vertical-header-section .photo-area .white-box .inner {
        max-width: 128px;
        margin: 40px auto; }

/*--- horizon header section---*/
.horizon-header-section .section-title {
  margin: 1rem 0 2rem; }

.horizon-header-section .flex-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/*--- sticky footer ---*/
.template {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }
  .template main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

/*--- pagination ---*/
#pagination {
  margin: 2rem 0; }
  #pagination .page-list {
    text-align: center; }
    #pagination .page-list > li {
      display: inline-block;
      vertical-align: middle;
      margin: 0 5px; }
    #pagination .page-list .page-item {
      display: inline-block; }
      #pagination .page-list .page-item a {
        display: inline-block;
        width: 50px;
        height: 50px;
        border-radius: 100%;
        line-height: 50px;
        text-align: center;
        color: #002539;
        background-color: #fff;
        -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }
      #pagination .page-list .page-item:hover a, #pagination .page-list .page-item.active a {
        color: #fff;
        background-color: #002539;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }
    #pagination .page-list .page-arrow {
      margin: 0 10px; }

/*--- animation mask ---*/
.mask, .mask2 {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  background: #D0A25F;
  z-index: 4;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out; }

.mask2 {
  background: #002539;
  opacity: 1;
  z-index: 3; }

.loader {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #002539;
  z-index: 1000; }
  .loader.is-loaded {
    -webkit-transition: -webkit-transform .9s;
    transition: -webkit-transform .9s;
    -o-transition: transform .9s;
    transition: transform .9s;
    transition: transform .9s, -webkit-transform .9s;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0); }

/*----- Index -----*/
#index #banner {
  position: relative;
  overflow: hidden; }
  #index #banner .bg-img {
    position: relative;
    padding-top: 36.25%;
    background-image: url(../_img/index/banner.jpg); }
  #index #banner .swiper-slide {
    position: relative; }
  #index #banner .text-area {
    position: absolute;
    width: 100%;
    max-width: 1200px;
    padding: 0 10px;
    bottom: 6vw;
    z-index: 3; }
    #index #banner .text-area .topic {
      position: relative;
      max-width: 310px; }
      #index #banner .text-area .topic .en-header {
        max-width: 280px;
        line-height: 1.2;
        font-size: 56px; }
      #index #banner .text-area .topic .ch-sub {
        position: absolute;
        display: inline-block;
        right: 0;
        top: 20px;
        width: 1.1em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; }
    #index #banner .text-area article {
      margin-top: 1.865%;
      color: #fff; }
    #index #banner .text-area .sign {
      position: absolute;
      right: 10px;
      bottom: 0; }

#index section {
  margin: 2rem 0; }
  #index section .btn-row {
    padding: 0; }

#index .index-container {
  position: relative; }
  #index .index-container .container-top {
    padding: 10px 0;
    margin-bottom: 20px; }
    #index .index-container .container-top .title {
      color: #002539; }
      #index .index-container .container-top .title h1 {
        display: inline-block;
        vertical-align: middle;
        font-size: 40px;
        text-transform: uppercase;
        letter-spacing: .08em; }
      #index .index-container .container-top .title .line01 {
        float: right;
        position: relative;
        display: inline-block;
        vertical-align: middle;
        width: calc(100% - 120px - 15px - 15px);
        height: 1px;
        margin-top: 30px;
        margin-left: 15px;
        background-color: #002539; }
        #index .index-container .container-top .title .line01:before {
          content: '';
          display: block;
          position: absolute;
          width: 1px;
          height: 40px;
          right: 0;
          top: 0;
          background-color: #002539; }
        #index .index-container .container-top .title .line01:after {
          content: '定格美好，拍下真愛。';
          position: absolute;
          display: inline-block;
          height: 160px;
          right: -.7em;
          top: 50px; }
  #index .index-container .container-bottom {
    position: relative;
    padding: 10px 0;
    margin-top: 20px; }
    #index .index-container .container-bottom span {
      display: inline-block;
      width: 40px;
      height: 40px;
      border-bottom: 1px solid #002539; }
    #index .index-container .container-bottom .left-corner {
      float: left;
      margin-left: 15px;
      border-left: 1px solid #002539; }
    #index .index-container .container-bottom .right-corner {
      float: right;
      margin-right: 14px;
      border-right: 1px solid #002539; }
  #index .index-container .container-wrap {
    padding: 0 20px; }

#index .news .btn-row {
  margin-bottom: -30px; }

#index .news .gallery-list li .text-area article {
  display: block;
  display: -webkit-box;
  font-size: 1rem;
  line-height: 1.5;
  height: calc($font-size * $line-height * $line-number);
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  height: 45px;
  overflow: hidden; }

#index .gallery {
  padding-bottom: 50px; }
  #index .gallery .index-container .container-top .title .line01 {
    width: calc(100% - 190px - 15px - 15px); }
  #index .gallery .container-wrap {
    position: relative; }
    #index .gallery .container-wrap.is-visible .mask, #index .gallery .container-wrap.is-visible .mask2, #index .gallery .container-wrap.is-visible .mask3 {
      margin-right: 0;
      right: 0;
      bottom: 0;
      left: 100%; }
  #index .gallery .swiper-container .bg-img {
    padding-top: 66.67%; }
  #index .gallery .swiper-pagination-bullet {
    position: relative;
    width: 6px;
    height: 6px;
    margin: 5px;
    opacity: 1;
    background-color: #fff; }
    #index .gallery .swiper-pagination-bullet:after {
      content: '';
      display: block;
      position: absolute;
      width: 12px;
      height: 12px;
      top: -3px;
      left: -3px;
      border-radius: 100%;
      border: 1px solid #fff;
      opacity: 0; }
    #index .gallery .swiper-pagination-bullet.swiper-pagination-bullet-active:after, #index .gallery .swiper-pagination-bullet:hover:after {
      opacity: 1; }
  #index .gallery .swiper-button-prev, #index .gallery .swiper-button-next {
    background-image: none;
    width: 42px;
    height: 42px;
    top: calc(50% - 10px);
    border-radius: 100%;
    border: 1px solid #fff;
    background-color: transparent;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease; }
    #index .gallery .swiper-button-prev:before, #index .gallery .swiper-button-next:before {
      content: '';
      display: block;
      position: absolute;
      width: 22px;
      height: 1px;
      background-color: #fff; }
    #index .gallery .swiper-button-prev:after, #index .gallery .swiper-button-next:after {
      content: '';
      display: block;
      position: absolute;
      width: 11px;
      height: 1px;
      top: calc(50% - 2px);
      background-color: #fff; }
    #index .gallery .swiper-button-prev:hover, #index .gallery .swiper-button-next:hover {
      background-color: rgba(255, 255, 255, 0.1);
      -webkit-transition: all .1s ease;
      -o-transition: all .1s ease;
      transition: all .1s ease; }
  #index .gallery .swiper-button-prev:before {
    top: 50%;
    left: 9px; }
  #index .gallery .swiper-button-prev:after {
    left: 9px;
    -webkit-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg); }
  #index .gallery .swiper-button-next:before {
    top: 50%;
    right: 9px; }
  #index .gallery .swiper-button-next:after {
    right: 9px;
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg); }
  #index .gallery .btn-row {
    position: relative; }
  #index .gallery .btn-more {
    position: absolute;
    right: -20px;
    top: -50px;
    z-index: 10; }
  #index .gallery .container-bottom {
    display: none; }

#index .service .index-container .container-top .title .line01 {
  width: calc(100% - 170px - 15px - 15px); }

#index .service .service-list {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  #index .service .service-list li {
    width: 48%;
    margin: 0 1%;
    background-color: #fff; }
    #index .service .service-list li.is-visible figure .mask, #index .service .service-list li.is-visible figure .mask2, #index .service .service-list li.is-visible figure .mask3 {
      margin-right: 0;
      right: 0;
      bottom: 0;
      left: 100%; }
    #index .service .service-list li figure {
      position: relative;
      overflow: hidden; }
      #index .service .service-list li figure .bg-img {
        padding-top: 66.67%;
        -webkit-transition: all .8s ease;
        -o-transition: all .8s ease;
        transition: all .8s ease; }
      #index .service .service-list li figure:hover .bg-img {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
        opacity: .9;
        -webkit-transition: all 1s cubic-bezier(0.29, 0.11, 0.65, 0.94);
        -o-transition: all 1s cubic-bezier(0.29, 0.11, 0.65, 0.94);
        transition: all 1s cubic-bezier(0.29, 0.11, 0.65, 0.94); }
    #index .service .service-list li .text-area {
      position: relative;
      padding: 0 20px 40px; }
      #index .service .service-list li .text-area .btn-more {
        margin-top: -50px; }
      #index .service .service-list li .text-area .title {
        position: relative;
        margin: 30px 0 40px;
        text-align: center; }
        #index .service .service-list li .text-area .title .en {
          position: absolute;
          font-size: 50px;
          font-weight: 100;
          color: rgba(0, 37, 57, 0.1);
          letter-spacing: .12vw; }
        #index .service .service-list li .text-area .title .ch {
          position: relative;
          font-size: 20px;
          letter-spacing: .08em; }
      #index .service .service-list li .text-area article {
        display: block;
        display: -webkit-box;
        font-size: 14px;
        line-height: 1.6;
        height: calc($font-size * $line-height * $line-number);
        -webkit-box-orient: vertical;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        color: #202020; }

#index .about {
  position: relative; }
  #index .about.is-visible .mask, #index .about.is-visible .mask2, #index .about.is-visible .mask3 {
    margin-right: 0;
    right: 0;
    bottom: 0;
    left: 100%; }
  #index .about .content {
    position: absolute;
    width: 100%;
    text-align: center; }
    #index .about .content .text-area {
      position: relative;
      max-width: 400px;
      float: right;
      overflow: hidden; }
      #index .about .content .text-area h1 {
        margin-bottom: .6em;
        color: #002539; }
      #index .about .content .text-area .bottom {
        position: relative;
        max-width: 330px;
        margin: 50px auto 0;
        text-align: center; }
        #index .about .content .text-area .bottom:before, #index .about .content .text-area .bottom:after {
          content: '';
          display: inline-block;
          position: absolute;
          width: 55px;
          height: 55px;
          bottom: 5px;
          border-bottom: 1px solid #002539; }
        #index .about .content .text-area .bottom:before {
          border-left: 1px solid #002539;
          left: 0; }
        #index .about .content .text-area .bottom:after {
          border-right: 1px solid #002539;
          right: 0; }
  #index .about .bg {
    background-image: url(../_img/index/about_bg.jpg);
    background-position: 20% center;
    width: 100%;
    height: 370px;
    background-size: cover; }
    #index .about .bg img {
      display: none; }

/*----- profile -----*/
#profile .profile-intro {
  padding: 0 0 30px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }
  #profile .profile-intro .intro-img {
    position: relative;
    width: 1080px; }
    #profile .profile-intro .intro-img.is-visible .mask, #profile .profile-intro .intro-img.is-visible .mask2, #profile .profile-intro .intro-img.is-visible .mask3 {
      margin-right: 0;
      right: 0;
      bottom: 0;
      left: 100%; }
    #profile .profile-intro .intro-img .bg-img {
      height: 579px; }
    #profile .profile-intro .intro-img .text-area {
      float: right;
      position: relative;
      max-width: 500px;
      margin: 20px;
      padding-top: 60px;
      padding-right: 5vw; }
      #profile .profile-intro .intro-img .text-area .name {
        display: inline-block;
        margin: 25px 0; }
        #profile .profile-intro .intro-img .text-area .name .ch {
          font-size: 30px;
          line-height: 1.2; }
          #profile .profile-intro .intro-img .text-area .name .ch span {
            display: block;
            font-weight: 100; }
            #profile .profile-intro .intro-img .text-area .name .ch span:last-child {
              font-weight: 400;
              margin-top: 1em; }
        #profile .profile-intro .intro-img .text-area .name .en {
          margin-left: 30px;
          line-height: 1.1;
          font-weight: 100;
          font-size: 48px;
          color: rgba(0, 37, 57, 0.1);
          letter-spacing: .03em; }
      #profile .profile-intro .intro-img .text-area .sns-list {
        position: absolute;
        top: 0;
        right: 0;
        text-align: right; }
        #profile .profile-intro .intro-img .text-area .sns-list li a {
          border-color: rgba(255, 255, 255, 0.3);
          -webkit-transition: all .3s ease;
          -o-transition: all .3s ease;
          transition: all .3s ease; }
        #profile .profile-intro .intro-img .text-area .sns-list li:hover a {
          border-color: #fff;
          -webkit-transition: all .3s ease;
          -o-transition: all .3s ease;
          transition: all .3s ease; }
        #profile .profile-intro .intro-img .text-area .sns-list path {
          fill: #fff; }
      #profile .profile-intro .intro-img .text-area .brief {
        max-width: 360px;
        float: right; }
        #profile .profile-intro .intro-img .text-area .brief article {
          font-size: 20px;
          color: #002539; }
        #profile .profile-intro .intro-img .text-area .brief .prize {
          margin-top: 1.5rem; }
          #profile .profile-intro .intro-img .text-area .brief .prize li {
            position: relative;
            margin: 5px 0; }
            #profile .profile-intro .intro-img .text-area .brief .prize li span {
              display: inline-block;
              margin-right: 6px; }
            #profile .profile-intro .intro-img .text-area .brief .prize li:before {
              content: '';
              display: inline-block;
              vertical-align: middle;
              width: 50px;
              height: 1px;
              margin-right: 10px;
              background-color: #999; }
  #profile .profile-intro .intro-txt {
    display: inline-block;
    width: calc(100% - 1080px); }
    #profile .profile-intro .intro-txt span {
      vertical-align: middle;
      display: inline-block; }
    #profile .profile-intro .intro-txt .line {
      width: 1px;
      height: 50px;
      background-color: #002539; }

#profile .photo-section .text-area .white-box {
  max-width: 580px;
  margin-top: 3.2vw; }

#profile .photo-section .text-area p {
  margin-bottom: .3em; }

#profile .prize-section {
  padding: 30px 25px; }
  #profile .prize-section .top-badge {
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #profile .prize-section .top-badge .gallery {
      padding-left: 20px; }
      #profile .prize-section .top-badge .gallery .col-3 {
        padding: 0; }
      #profile .prize-section .top-badge .gallery .gallery-item {
        position: relative; }
        #profile .prize-section .top-badge .gallery .gallery-item.is-visible .mask, #profile .prize-section .top-badge .gallery .gallery-item.is-visible .mask2, #profile .prize-section .top-badge .gallery .gallery-item.is-visible .mask3 {
          margin-right: 0;
          right: 0;
          bottom: 0;
          left: 100%; }
    #profile .prize-section .top-badge .btn-round {
      position: absolute;
      right: 20px;
      bottom: -5px; }
  #profile .prize-section .text-area {
    max-width: 980px;
    margin: 30px auto; }
  #profile .prize-section .slogan-area {
    max-width: 980px;
    position: relative;
    margin: auto;
    padding: 10px 0; }
    #profile .prize-section .slogan-area .slogan-top, #profile .prize-section .slogan-area .slogan-bottom {
      position: relative;
      padding: 10px 0; }
      #profile .prize-section .slogan-area .slogan-top span, #profile .prize-section .slogan-area .slogan-bottom span {
        width: 40px;
        height: 40px; }
      #profile .prize-section .slogan-area .slogan-top .left-corner, #profile .prize-section .slogan-area .slogan-bottom .left-corner {
        float: left;
        border-left: 1px solid #002539; }
      #profile .prize-section .slogan-area .slogan-top .right-corner, #profile .prize-section .slogan-area .slogan-bottom .right-corner {
        float: right;
        border-right: 1px solid #002539; }
    #profile .prize-section .slogan-area .slogan-top .left-corner {
      border-top: 1px solid #002539; }
    #profile .prize-section .slogan-area .slogan-top .right-corner {
      border-top: 1px solid #002539; }
    #profile .prize-section .slogan-area .slogan-bottom .left-corner {
      border-bottom: 1px solid #002539; }
    #profile .prize-section .slogan-area .slogan-bottom .right-corner {
      border-bottom: 1px solid #002539; }
    #profile .prize-section .slogan-area .slogan-content {
      padding: 0 20px; }
      #profile .prize-section .slogan-area .slogan-content article {
        margin: auto;
        color: #002539;
        font-size: 20px;
        letter-spacing: 2px;
        text-align: center; }
        #profile .prize-section .slogan-area .slogan-content article p {
          margin: .25em 0; }

/*----- service -----*/
#service.dress .service-banner .title {
  color: #000; }

#service .service-banner {
  position: relative;
  margin: 0 -1.5vw;
  z-index: 5; }
  #service .service-banner .title {
    position: absolute;
    top: 55px;
    color: #fff;
    line-height: 1.2;
    letter-spacing: .16em;
    text-align: center; }
    #service .service-banner .title span {
      display: block;
      margin: 3px 0; }
      #service .service-banner .title span.and {
        margin: 0;
        line-height: 1;
        font-size: 0.8em; }
  #service .service-banner .bg-img {
    height: 300px; }

#service .service-top-section .top-section-wrap {
  position: relative;
  margin-top: -110px;
  z-index: 10; }
  #service .service-top-section .top-section-wrap .white-box {
    max-width: 1120px;
    margin: auto;
    padding: 40px 25px;
    background-color: #fff; }
  #service .service-top-section .top-section-wrap .text-area ul {
    margin-top: 50px; }
    #service .service-top-section .top-section-wrap .text-area ul li {
      position: relative;
      display: inline-block;
      margin: 5px 2.7vw; }
      #service .service-top-section .top-section-wrap .text-area ul li .leader {
        position: relative;
        padding-left: 3px;
        letter-spacing: .1em;
        z-index: 1; }
        #service .service-top-section .top-section-wrap .text-area ul li .leader:first-letter {
          color: #fff; }
      #service .service-top-section .top-section-wrap .text-area ul li:before {
        content: '';
        display: block;
        position: absolute;
        width: 35px;
        height: 35px;
        left: -5px;
        top: 0px;
        border-radius: 100%;
        background-color: #002539;
        z-index: 0; }
      #service .service-top-section .top-section-wrap .text-area ul li .content {
        margin-left: 30px; }

#service .service-case-table ul {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  #service .service-case-table ul li {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #service .service-case-table ul li > div {
      position: relative;
      padding: 5px;
      height: 80px;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      z-index: 5; }
    #service .service-case-table ul li:first-child {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      #service .service-case-table ul li:first-child > div {
        padding: 5px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
      #service .service-case-table ul li:first-child:before {
        display: none; }
    #service .service-case-table ul li:last-child > div.case-all {
      -webkit-box-flex: 4;
      -ms-flex: 4;
      flex: 4; }
    #service .service-case-table ul li:last-child > div .table-event {
      position: relative;
      height: 100%;
      border-radius: 70px; }
      #service .service-case-table ul li:last-child > div .table-event .inner {
        text-align: center;
        display: inline-block;
        max-width: 1em;
        line-height: 1.3; }
    #service .service-case-table ul li:before {
      content: '';
      display: block;
      position: absolute;
      width: 1px;
      top: calc(80px + 10px);
      bottom: 10px;
      left: 50%;
      background-color: #eee; }
    #service .service-case-table ul li .table-event {
      display: inline-block;
      width: 70px;
      height: 70px;
      border-radius: 100%;
      background-color: #ddd;
      vertical-align: middle;
      text-align: center;
      color: #002539; }
      #service .service-case-table ul li .table-event .inner {
        display: block;
        width: 100%;
        max-width: 50px;
        line-height: 1.3; }
  #service .service-case-table ul .table-time {
    width: 1.2em;
    line-height: 1.2; }
  #service .service-case-table ul .case-name {
    text-align: center;
    line-height: 1.1; }
    #service .service-case-table ul .case-name .number {
      display: block;
      font-style: italic;
      font-size: 32px;
      line-height: 1; }

#service .ceremony-reservation .content-inner-box {
  max-width: 480px; }

#service .ceremony-reservation .progress-section {
  max-width: 435px; }

#service .ceremony-traffic .text-area article p {
  text-align: center; }
  #service .ceremony-traffic .text-area article p:first-of-type {
    margin-bottom: 1.5em;
    font-size: 20px;
    color: #002539; }

#service .ceremony-photos .left-box {
  margin-right: 35px;
  font-size: 20px;
  color: #002539;
  text-align: right; }

#service .ceremony-photos .check-list li {
  margin: 1.8em 0; }

#service .ceremony-notice .left-box, #service .dress-notice .left-box, #service .family-notice .left-box {
  padding-right: 40px; }

#service .ceremony-notice .right-box, #service .dress-notice .right-box, #service .family-notice .right-box {
  padding-left: 40px; }

#service .dress-progress .mobile-on {
  display: none; }

#service .dress-file .check-list li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 10px; }

#service .dress-photo .slider-area {
  position: relative; }
  #service .dress-photo .slider-area .slider-thumbs {
    float: left;
    width: 20%;
    padding: 0 6px; }
    #service .dress-photo .slider-area .slider-thumbs ul {
      width: 100%; }
    #service .dress-photo .slider-area .slider-thumbs li {
      width: 100%;
      cursor: pointer;
      border: 2px solid transparent; }
      #service .dress-photo .slider-area .slider-thumbs li.active {
        border: 2px solid #002539; }
    #service .dress-photo .slider-area .slider-thumbs .bg-img {
      padding-top: 66.67%; }
  #service .dress-photo .slider-area .slider-main {
    float: right;
    width: 80%; }
    #service .dress-photo .slider-area .slider-main .bg-img {
      display: block;
      position: relative;
      padding-top: 66.911%; }
    #service .dress-photo .slider-area .slider-main .more {
      display: table-cell;
      vertical-align: middle;
      width: 60px;
      height: 60px;
      border-radius: 100%;
      background-color: #fff;
      text-align: center; }
  #service .dress-photo .slider-area .bx-wrapper {
    background: transparent;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none; }

#service .family-file .content-area {
  padding: 20px; }

#service .family-file .col-6:first-child ul {
  max-width: 330px;
  margin: 1.2em  auto; }

#service .family-file .col-6:last-child ul li {
  width: calc(50% - 30px);
  margin: 1.2em 10px; }

#service .progress-section .progress-angle-arrow {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }
  #service .progress-section .progress-angle-arrow span {
    display: inline-block;
    text-align: center;
    width: 100%;
    max-width: 169px; }

#service .progress-list {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 1rem 0; }
  #service .progress-list .progress-item {
    position: relative;
    max-width: 169px; }
    #service .progress-list .progress-item figure {
      position: relative;
      text-align: center;
      border-radius: 100%; }
    #service .progress-list .progress-item p {
      margin: 8px 0 2px;
      text-align: center; }
  #service .progress-list .arrow {
    margin: 72px 1.5rem 0; }
  #service .progress-list:nth-of-type(even) {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }

#service .number-list li {
  margin: 1.3em 0; }
  #service .number-list li .leader {
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 5px;
    vertical-align: top;
    border-radius: 100%;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-family: 'Noto Derif';
    background-color: #002539; }
  #service .number-list li .text {
    display: inline-block;
    width: calc(100% - 25px - 10px); }

#service .check-list > li {
  position: relative;
  margin: 1.5em 0;
  padding-left: 34px;
  background-image: url(../_img/service/check.png);
  background-size: 25px 24px;
  background-position: left top;
  background-repeat: no-repeat; }

#service .photo-slider {
  position: relative; }
  #service .photo-slider ul {
    color: #fff; }
    #service .photo-slider ul li {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      overflow: hidden; }
      #service .photo-slider ul li:hover .mask {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        -webkit-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
        -o-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
        transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1); }
  #service .photo-slider a {
    display: block;
    position: relative; }
  #service .photo-slider .mask {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
    -o-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
    transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1); }
    #service .photo-slider .mask:before {
      content: '';
      display: block;
      position: absolute;
      top: 8px;
      left: 8px;
      right: 8px;
      bottom: 8px;
      border: 1px solid #fff; }
    #service .photo-slider .mask span {
      display: inline-block;
      width: 1.2em;
      line-height: 1; }
  #service .photo-slider .bg-img {
    padding-top: 64.3765%; }

/*----- galelry -----*/
#gallery {
  /*--- sub list ---*/
  /*--- back ---*/ }
  #gallery .gallery-sub-list {
    margin-bottom: 2rem;
    text-align: center; }
    #gallery .gallery-sub-list li {
      display: inline-block; }
      #gallery .gallery-sub-list li a {
        display: block;
        margin: 2px 5px;
        padding: 10px 15px;
        color: #002539;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }
      #gallery .gallery-sub-list li:hover a, #gallery .gallery-sub-list li.active a {
        background-color: #002539;
        color: #fff;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease; }
  #gallery .btn-row {
    margin-top: 3rem; }

.gallery-list li {
  position: relative;
  width: calc(33.3% - 3%);
  margin: 0 1.5% 2rem;
  background-color: #fff; }
  .gallery-list li:hover figure .bg-img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: .9;
    -webkit-transition: all 0.75s cubic-bezier(0.29, 0.11, 0.65, 0.94);
    -o-transition: all 0.75s cubic-bezier(0.29, 0.11, 0.65, 0.94);
    transition: all 0.75s cubic-bezier(0.29, 0.11, 0.65, 0.94); }
  .gallery-list li a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2; }
  .gallery-list li figure {
    position: relative;
    overflow: hidden; }
    .gallery-list li figure .bg-img {
      padding-top: 66.5625%;
      -webkit-transition: all .6s ease;
      -o-transition: all .6s ease;
      transition: all .6s ease; }
  .gallery-list li .text-area {
    padding: 20px; }
    .gallery-list li .text-area .title {
      margin-bottom: 10px;
      font-size: 17px; }
    .gallery-list li .text-area article {
      display: block;
      display: -webkit-box;
      font-size: 1rem;
      line-height: 1.5;
      height: calc($font-size * $line-height * $line-number);
      -webkit-box-orient: vertical;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      color: #666; }

/*----- contact -----*/
.sns-list {
  text-align: center; }
  .sns-list li {
    display: inline-block;
    margin: 3px; }
    .sns-list li a {
      position: relative;
      display: block;
      display: table-cell;
      vertical-align: middle;
      width: 35px;
      height: 35px;
      border-radius: 100%;
      background-color: transparent;
      text-align: center;
      border: 1px solid #fff;
      overflow: hidden; }
      .sns-list li a:after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 0;
        background-color: #fff;
        z-index: -1;
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease; }
    .sns-list li:hover a:after {
      height: 100%;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .sns-list li:hover a path {
      fill: #002539;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }

.contact-info {
  text-align: center; }
  .contact-info .sns-list {
    margin: .6em 0 .2em; }
  .contact-info .contact-list {
    letter-spacing: 1px; }
    .contact-info .contact-list li {
      margin: 2px 0; }
      .contact-info .contact-list li .icon {
        vertical-align: text-bottom; }
    .contact-info .contact-list svg {
      margin-right: 2px; }

/*--- inquiry ---*/
#inquiry .inquiry-top-section .top-title {
  margin-bottom: 30px;
  text-align: center; }

#inquiry .inquiry-top-section .inquiry-banner {
  position: relative;
  z-index: 5; }
  #inquiry .inquiry-top-section .inquiry-banner .title {
    position: absolute;
    height: 100%;
    max-height: 165px;
    right: 30px;
    color: #fff; }
    #inquiry .inquiry-top-section .inquiry-banner .title .h2 {
      line-height: 1.2;
      letter-spacing: .16em; }
    #inquiry .inquiry-top-section .inquiry-banner .title p {
      margin-left: 1.2rem; }
  #inquiry .inquiry-top-section .inquiry-banner .bg-img {
    height: 300px; }

#inquiry .inquiry-form .contact-box {
  position: relative;
  z-index: 5; }
  #inquiry .inquiry-form .contact-box:first-child {
    margin-top: -210px; }
  #inquiry .inquiry-form .contact-box .contact-info {
    margin-top: 50px;
    font-size: 14px; }
    #inquiry .inquiry-form .contact-box .contact-info .sns-list a {
      border-color: rgba(0, 37, 57, 0.3); }

#inquiry .inquiry-form .white-box {
  max-width: 540px;
  margin: auto;
  padding: 40px 20px;
  background-color: rgba(255, 255, 255, 0.85); }
  #inquiry .inquiry-form .white-box .contact-table {
    max-width: 355px;
    margin: auto; }
    #inquiry .inquiry-form .white-box .contact-table .form-cell, #inquiry .inquiry-form .white-box .contact-table textarea {
      background-color: rgba(0, 37, 57, 0.1); }

#inquiry .inquiry-form table {
  letter-spacing: .1em; }
  #inquiry .inquiry-form table td {
    position: relative;
    padding: 2px 5px; }
    #inquiry .inquiry-form table td svg {
      position: absolute;
      right: 15px;
      bottom: 14px; }
    #inquiry .inquiry-form table td path {
      fill: #002539; }
  #inquiry .inquiry-form table p {
    color: #002539;
    margin: 5px 0; }

#inquiry .inquiry-form .btn-row {
  margin-top: 2rem; }

#inquiry .photo-slider {
  position: relative;
  padding: 0 0 60px; }
  #inquiry .photo-slider ul {
    margin-top: 3rem;
    color: #fff; }
    #inquiry .photo-slider ul li {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      overflow: hidden; }
      #inquiry .photo-slider ul li:hover .mask {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        -webkit-transition: all 0.35s cubic-bezier(0.45, 1, 0.58, 1.1);
        -o-transition: all 0.35s cubic-bezier(0.45, 1, 0.58, 1.1);
        transition: all 0.35s cubic-bezier(0.45, 1, 0.58, 1.1); }
  #inquiry .photo-slider a {
    display: block;
    position: relative; }
  #inquiry .photo-slider .mask {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
    -o-transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1);
    transition: all 0.45s cubic-bezier(0.45, 1, 0.58, 1.1); }
    #inquiry .photo-slider .mask:before {
      content: '';
      display: block;
      position: absolute;
      top: 8px;
      left: 8px;
      right: 8px;
      bottom: 8px;
      border: 1px solid #fff; }
    #inquiry .photo-slider .mask .inner {
      width: 90%;
      max-width: 150px;
      line-height: 1.3; }
      #inquiry .photo-slider .mask .inner p {
        line-height: 1.1; }
      #inquiry .photo-slider .mask .inner .name {
        margin-top: 15px; }
  #inquiry .photo-slider .bg-img {
    padding-top: 100%; }

/*----- recommend -----*/
#recommend .page-banner .banner-title h2 {
  color: #fff; }

#recommend .main-title .line {
  width: calc(100% - 400px - 10px); }

#recommend .recommend-top-section {
  text-align: center; }
  #recommend .recommend-top-section article {
    margin-top: 1.8rem; }
    #recommend .recommend-top-section article p {
      margin: 1rem 0; }

#recommend .recommend-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column wrap;
  flex-flow: column wrap;
  width: calc(100% - 50px);
  margin: 0 20px; }
  #recommend .recommend-list .recomment-item {
    position: relative;
    width: 100%;
    margin-bottom: 5rem; }
    #recommend .recommend-list .recomment-item .container-top, #recommend .recommend-list .recomment-item .container-bottom {
      position: relative; }
      #recommend .recommend-list .recomment-item .container-top span, #recommend .recommend-list .recomment-item .container-bottom span {
        width: 40px;
        height: 40px; }
      #recommend .recommend-list .recomment-item .container-top .left-corner, #recommend .recommend-list .recomment-item .container-bottom .left-corner {
        float: left;
        border-left: 1px solid #002539; }
      #recommend .recommend-list .recomment-item .container-top .right-corner, #recommend .recommend-list .recomment-item .container-bottom .right-corner {
        float: right;
        border-right: 1px solid #002539; }
    #recommend .recommend-list .recomment-item .container-top .left-corner {
      border-top: 1px solid #002539; }
    #recommend .recommend-list .recomment-item .container-top .right-corner {
      border-top: 1px solid #002539; }
    #recommend .recommend-list .recomment-item .container-bottom {
      position: absolute;
      width: 100%;
      bottom: 0; }
      #recommend .recommend-list .recomment-item .container-bottom .left-corner {
        border-bottom: 1px solid #002539; }
      #recommend .recommend-list .recomment-item .container-bottom .right-corner {
        border-bottom: 1px solid #002539; }
    #recommend .recommend-list .recomment-item .title-area {
      position: relative;
      padding: 30px 0; }
      #recommend .recommend-list .recomment-item .title-area .title {
        position: relative;
        text-align: center; }
        #recommend .recommend-list .recomment-item .title-area .title .en {
          position: absolute;
          font-size: 50px;
          font-weight: 100;
          color: rgba(0, 37, 57, 0.1);
          letter-spacing: .12vw; }
        #recommend .recommend-list .recomment-item .title-area .title .ch {
          position: relative;
          font-size: 20px;
          letter-spacing: .08em; }
    #recommend .recommend-list .recomment-item .text-area {
      padding: 30px 20px;
      background-color: #fff; }
      #recommend .recommend-list .recomment-item .text-area article {
        max-width: 300px;
        margin: auto;
        color: #202020;
        text-align: center; }
        #recommend .recommend-list .recomment-item .text-area article li {
          margin: 1rem 0; }
          #recommend .recommend-list .recomment-item .text-area article li a {
            display: inline-block;
            -webkit-transition: all .4s ease-in-out;
            -o-transition: all .4s ease-in-out;
            transition: all .4s ease-in-out; }
            #recommend .recommend-list .recomment-item .text-area article li a:hover {
              color: #D0A25F;
              -webkit-transition: all .4s ease-in-out;
              -o-transition: all .4s ease-in-out;
              transition: all .4s ease-in-out; }

@media only screen and (max-width: 1440px) {
  #index #banner .text-area {
    bottom: 30px; }
    #index #banner .text-area .topic .en-header {
      font-size: 48px; } }

@media only screen and (max-width: 1024px) {
  /*--- header ---*/
  #burger {
    width: 25px;
    height: 20px;
    font-size: 0;
    position: absolute;
    top: 25px;
    right: 25px;
    cursor: pointer;
    z-index: 99999; }
    #burger span {
      background-color: #5e5e5e;
      display: block;
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      height: 2px;
      -webkit-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease;
      -webkit-transition-delay: 0.2s, 0s;
      -o-transition-delay: 0.2s, 0s;
      transition-delay: 0.2s, 0s; }
      #burger span:nth-child(2) {
        top: 9px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform; }
      #burger span:last-child {
        top: 18px;
        -webkit-transition-property: all, -webkit-transform;
        transition-property: all, -webkit-transform;
        -o-transition-property: all, transform;
        transition-property: all, transform;
        transition-property: all, transform, -webkit-transform;
        -webkit-transition-delay: 0.2s, 0s;
        -o-transition-delay: 0.2s, 0s;
        transition-delay: 0.2s, 0s; }
    #burger.active {
      position: fixed; }
      #burger.active span {
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 9px;
        left: 0px; }
        #burger.active span:nth-child(2), #burger.active span:last-child {
          -webkit-transition-property: top,-webkit-transform;
          transition-property: top,-webkit-transform;
          -o-transition-property: top,transform;
          transition-property: top,transform;
          transition-property: top,transform,-webkit-transform;
          -webkit-transition-property: all, -webkit-transform;
          transition-property: all, -webkit-transform;
          -o-transition-property: all, transform;
          transition-property: all, transform;
          transition-property: all, transform, -webkit-transform; }
        #burger.active span:nth-child(2) {
          left: -100%;
          opacity: 0;
          -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
          transform: rotate(0);
          -webkit-transition-delay: 0.2s, 0s;
          -o-transition-delay: 0.2s, 0s;
          transition-delay: 0.2s, 0s; }
        #burger.active span:last-child {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }
  header {
    position: relative; }
    header #main-nav {
      position: fixed;
      width: 80vw;
      max-width: 220px;
      height: 100vh;
      padding-left: 0;
      overflow: auto;
      top: 0;
      right: 0;
      margin: 0;
      text-align: left;
      background-color: #fff;
      -webkit-transform: translateX(80vw);
      -ms-transform: translateX(80vw);
      transform: translateX(80vw);
      -webkit-transition: all 0.7s cubic-bezier(0.42, 0.42, 0.6, 0.6);
      -o-transition: all 0.7s cubic-bezier(0.42, 0.42, 0.6, 0.6);
      transition: all 0.7s cubic-bezier(0.42, 0.42, 0.6, 0.6); }
      header #main-nav.active {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: all 0.6s cubic-bezier(0.2, 0.55, 0.612, 0.93);
        -o-transition: all 0.6s cubic-bezier(0.2, 0.55, 0.612, 0.93);
        transition: all 0.6s cubic-bezier(0.2, 0.55, 0.612, 0.93); }
      header #main-nav .menu {
        margin-top: 60px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; }
        header #main-nav .menu li {
          margin: 3px 0; }
          header #main-nav .menu li a {
            display: block;
            padding: 10px 20px; }
          header #main-nav .menu li:hover, header #main-nav .menu li.active {
            background-color: #D0A25F;
            color: #fff; }
  /*--- footer ---*/
  footer .footer-main .footer-nav {
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    footer .footer-main .footer-nav .footer-nav--item {
      -webkit-box-flex: calc(50% - 20px);
      -ms-flex: calc(50% - 20px);
      flex: calc(50% - 20px); }
  /*--- page banner ---*/
  .page-banner .banner-title {
    top: 90px; }
    .page-banner .banner-title.is-right {
      right: 15px; }
      .page-banner .banner-title.is-right p {
        margin-top: 0.8rem; }
  .page-banner .bg-img {
    height: 270px; }
  /*--- typography ---*/
  .section-title.is-vertical {
    width: 100%;
    margin: 1.5rem auto; }
    .section-title.is-vertical span {
      -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
      writing-mode: initial;
      letter-spacing: 0; }
    .section-title.is-vertical .line01 {
      display: inline-block;
      width: calc((100% - 5em) / 2 - 20px - 12px);
      max-width: 160px;
      height: 1px;
      margin: auto .15em; }
  /*--- vertical header section---*/
  .vertical-header-section.is-center .title-area {
    position: relative; }
  .vertical-header-section.is-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: inherit;
    -ms-flex-align: inherit;
    align-items: inherit; }
    .vertical-header-section.is-left .title-area {
      width: 100%;
      margin: auto; }
  .vertical-header-section .left-box, .vertical-header-section .right-box {
    float: none;
    width: 100%;
    margin-bottom: 15px; }
    .vertical-header-section .left-box > div, .vertical-header-section .right-box > div {
      float: none; }
  /*--- index ---*/
  #index #banner .text-area .topic {
    max-width: 100%; }
    #index #banner .text-area .topic .en-header {
      max-width: 100%;
      font-size: 48px; }
    #index #banner .text-area .topic .ch-sub {
      position: relative;
      display: block;
      right: auto;
      top: auto;
      width: auto;
      -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
      writing-mode: initial; }
  /*--- profile ---*/
  #profile .profile-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 0; }
    #profile .profile-intro .intro-img {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      width: 100%; }
      #profile .profile-intro .intro-img .bg-img {
        background-position: 55% center; }
    #profile .profile-intro .intro-txt {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
      display: block;
      width: 100%;
      text-align: right;
      margin: 5px 0;
      -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
      writing-mode: initial; }
      #profile .profile-intro .intro-txt .line {
        width: 50px;
        height: 1px; }
  /*--- service ---*/
  #service .ceremony-reservation .content-inner-box, #service .ceremony-reservation .progress-section {
    margin: auto; }
  #service .ceremony-notice .left-box, #service .ceremony-notice .right-box, #service .dress-notice .left-box, #service .dress-notice .right-box, #service .family-notice .left-box, #service .family-notice .right-box {
    max-width: 600px;
    margin: auto;
    padding: 0px; } }

@media only screen and (max-width: 960px) {
  .col-l-12 {
    float: none;
    width: 100%;
    margin-bottom: 15px; }
  /*--- footer ---*/
  footer .footer-main {
    padding: 10px 0 5px; }
    footer .footer-main .container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    footer .footer-main .footer-nav {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
      footer .footer-main .footer-nav .footer-nav--item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
    footer .footer-main .footer-brand {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      margin-bottom: 10px;
      padding-bottom: 15px; }
      footer .footer-main .footer-brand:before {
        width: 100%;
        height: 1px;
        top: auto;
        bottom: 0; }
  /*--- photo section ---*/
  .photo-section.is-right .photo-area {
    float: none; }
  .photo-section.is-right .text-area {
    left: auto; }
    .photo-section.is-right .text-area > div {
      float: none; }
  .photo-section .photo-area {
    float: none;
    width: 100%; }
  .photo-section .text-area {
    position: relative;
    width: 90%;
    max-width: 620px;
    margin: -30px auto 0; }
    .photo-section .text-area .white-box {
      max-width: 100%;
      margin-top: 0;
      padding: 50px 20px 20px; }
      .photo-section .text-area .white-box .inner {
        width: 100%; }
  /*--- profile ---*/
  #profile .photo-section .text-area .white-box {
    margin-top: 0; }
  /*--- service ---*/
  #service .service-case-table {
    position: relative; }
    #service .service-case-table ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      #service .service-case-table ul li {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row; }
        #service .service-case-table ul li:first-child {
          width: 100%; }
          #service .service-case-table ul li:first-child > div {
            height: auto;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center; }
        #service .service-case-table ul li:last-child > div .table-event {
          height: 70px;
          width: 100%; }
          #service .service-case-table ul li:last-child > div .table-event .inner {
            text-align: center;
            max-width: 100%; }
        #service .service-case-table ul li:before {
          width: auto;
          height: 1px;
          top: 50%;
          left: calc(25% + 10px);
          right: 50px; }
        #service .service-case-table ul li > div {
          height: inherit;
          text-align: center; }
        #service .service-case-table ul li .case-name {
          -ms-flex-item-align: center;
          align-self: center; }
  #service .dress-photo .check-list li {
    display: inline-block;
    width: calc(50% - 10px);
    margin-bottom: 10px;
    vertical-align: top; }
  /*--- inquiry ---*/
  #inquiry .inquiry-top-section .top-title {
    margin-bottom: 30px;
    text-align: center; }
  #inquiry .inquiry-top-section .inquiry-banner {
    position: relative;
    z-index: 5; }
    #inquiry .inquiry-top-section .inquiry-banner .title {
      width: 100%;
      margin-top: 40px;
      text-align: center;
      -webkit-writing-mode: inherit;
      -ms-writing-mode: inherit;
      writing-mode: inherit;
      top: auto;
      right: auto;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
      #inquiry .inquiry-top-section .inquiry-banner .title .h2 {
        letter-spacing: 0; }
      #inquiry .inquiry-top-section .inquiry-banner .title p {
        margin: 5px 0 0; }
  #inquiry .inquiry-form .contact-box .contact-info {
    margin: 20px 0 30px; }
  #inquiry .inquiry-form .contact-box:first-child {
    margin-top: -160px; }
  #inquiry .form-area {
    max-width: 540px;
    margin: auto; }
  #inquiry .photo-slider ul {
    display: block;
    max-width: 460px;
    margin: auto; }
    #inquiry .photo-slider ul:after {
      content: '';
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }
    #inquiry .photo-slider ul li {
      float: left;
      width: 50%; } }

@media only screen and (max-width: 768px) {
  .col-m-12 {
    float: none;
    width: 100%;
    margin-bottom: 15px; }
  section {
    padding: 10px 0; }
  /*--- footer ---*/
  footer .footer-main .footer-nav .footer-nav--item {
    -webkit-box-flex: calc(50% - 20px);
    -ms-flex: calc(50% - 20px);
    flex: calc(50% - 20px); }
  /*--- typography ---*/
  .main-title {
    margin: 2.5rem 0 1.5em; }
    .main-title h1 {
      font-size: 32px; }
    .main-title .line {
      width: calc(100% - 150px - 10px);
      margin: 24px 0; }
  /*--- horizon header section---*/
  .horizon-header-section .flex-center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: inherit;
    -ms-flex-align: inherit;
    align-items: inherit; }
  /*--- page banner ---*/
  .page-banner .banner-title {
    top: 63px; }
    .page-banner .banner-title h2 {
      font-size: 28px; }
    .page-banner .banner-title.is-right {
      right: 15px; }
      .page-banner .banner-title.is-right p {
        margin-top: 0.5em; }
  .page-banner .bg-img {
    height: 200px; }
  /*--- index ---*/
  #index #banner .text-area {
    bottom: 10px; }
    #index #banner .text-area .topic .en-header {
      font-size: 38px; }
    #index #banner .text-area article {
      margin-top: 10px;
      margin-bottom: 3px; }
    #index #banner .text-area .sign {
      position: relative;
      right: auto;
      text-align: right; }
  #index .service .service-list li .text-area .title .en {
    font-size: 48px;
    letter-spacing: 0; }
  /*--- news ---*/
  .news-list li {
    width: calc(50% - 3%); }
  /*--- profile ---*/
  #profile .prize-section {
    padding: 30px 0; }
    #profile .prize-section .top-badge {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      #profile .prize-section .top-badge .gallery {
        margin: 20px 0 10px;
        padding-left: 0; }
      #profile .prize-section .top-badge .btn-round {
        position: relative; }
  /*--- service --*/
  #service .service-banner .title {
    top: 40px;
    font-size: 28px; }
  #service .service-banner .bg-img {
    height: 240px; }
  #service .service-top-section .top-section-wrap {
    margin-top: -80px; }
  #service .ceremony-photos .left-box {
    text-align: left;
    margin-right: 0; }
  #service .ceremony-photos .check-list > li {
    margin: .8em 0; }
  #service .dress-progress .mobile-off {
    display: none; }
  #service .dress-progress .mobile-on {
    display: block; }
  #service .dress-progress .progress-list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #service .dress-progress .progress-list:nth-of-type(2n) {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
  #service .dress-progress .progress-section {
    max-width: 435px;
    margin: auto; }
  #service .progress-section .progress-angle-arrow span {
    margin-right: 30px;
    text-align: right; }
  #service .progress-section .progress-angle-arrow:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    flex-direction: row-reverse; }
    #service .progress-section .progress-angle-arrow:nth-of-type(even) span {
      text-align: left;
      margin-left: 30px; }
  #service .progress-list .arrow {
    margin: 60px 10px 0; }
  #service .progress-list:nth-of-type(even) {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  #service .check-list > li {
    margin: .8em 0; }
  /*----- recommend -----*/
  #recommend .main-title .line {
    width: calc(100% - 315px - 10px); }
  #recommend .recommend-mansory {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 500px;
    margin: 0 auto 2rem; }
  #recommend .recommend-list {
    width: 100%;
    margin: 0; }
    #recommend .recommend-list .recomment-item {
      margin-bottom: 8vw; }
      #recommend .recommend-list .recomment-item:nth-of-type(even) {
        float: none; }
      #recommend .recommend-list .recomment-item .title-area {
        padding: 0 0 20px; }
        #recommend .recommend-list .recomment-item .title-area .title .en {
          font-size: 48px;
          letter-spacing: 0; }
      #recommend .recommend-list .recomment-item .text-area {
        padding: 30px 20px;
        background-color: #fff; } }

@media only screen and (max-width: 640px) {
  section {
    margin: 10px 0; }
  /*--- header ---*/
  #burger {
    top: 20px;
    right: 15px; }
  header #logo img {
    width: 170px; }
  /*--- typography ---*/
  .main-title {
    margin: 1.5rem 0 1rem; }
    .main-title h1 {
      font-size: 22px;
      letter-spacing: 0; }
    .main-title .line {
      width: calc(100% - 95px);
      margin: 18px 0; }
  .section-title.with-lines span {
    letter-spacing: 0; }
  /*-- buttons ---*/
  .btn-round {
    width: 80px;
    height: 80px; }
  /*--- photo section ---*/
  .photo-section .text-area .order-list li {
    margin-bottom: 10px; }
  /*--- page banner ---*/
  .page-banner .banner-title {
    top: 42px; }
    .page-banner .banner-title h2 {
      font-size: 20px; }
    .page-banner .banner-title p {
      font-size: 14px; }
  .page-banner .bg-img {
    height: 120px; }
  /*--- tab-list ---*/
  .tab-list {
    margin-bottom: 1.5rem; }
    .tab-list li {
      margin: 8px 1px;
      padding: 0 5px;
      border-right: 0; }
      .tab-list li .tab-btn {
        width: auto;
        height: auto;
        padding: 6px 12px;
        border-radius: 0; }
        .tab-list li .tab-btn .inner {
          position: relative;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none;
          top: auto;
          left: auto; }
          .tab-list li .tab-btn .inner span {
            display: inline-block;
            margin: 0 -2px; }
  /*--- index ---*/
  #index #banner .text-area .topic .en-header {
    font-size: 30px; }
  #index #banner .text-area article, #index #banner .text-area .sign {
    display: none; }
  #index .index-container .container-top .title h1 {
    font-size: 30px;
    letter-spacing: 0; }
  #index .index-container .container-top .title .line01 {
    width: calc(100% - 90px - 15px);
    margin-top: 23px; }
  #index .index-container .container-wrap {
    padding: 0 20px 0 0; }
  #index .index-container .container-bottom {
    margin-top: 0; }
    #index .index-container .container-bottom .left-corner {
      margin-left: 0; }
  #index .gallery .index-container .container-top .title .line01 {
    width: calc(100% - 135px - 15px); }
  #index .service .index-container .container-top .title .line01 {
    width: calc(100% - 125px - 15px); }
  #index .service .service-list li {
    width: 98%;
    max-width: 420px;
    margin: 0 auto 20px; }
    #index .service .service-list li .text-area .btn-more {
      margin-top: -40px; }
  .gallery-list li {
    width: calc(50% - 3%); }
  /*--- profile ---*/
  #profile .page-banner .banner-title {
    top: 30px;
    color: #fff;
    text-align: center; }
    #profile .page-banner .banner-title.is-right {
      right: auto;
      text-align: center; }
  #profile .prize-section .slogan-area .slogan-content article {
    font-size: 18px;
    letter-spacing: 0; }
  /*--- service ---*/
  #service .service-case-table ul li .table-event {
    width: 60px;
    height: 60px;
    font-size: 12px; }
    #service .service-case-table ul li .table-event .inner {
      max-width: 40px; }
  #service .service-case-table ul li:last-child > div .table-event {
    height: 50px; }
  #service .service-top-section .top-section-wrap .white-box {
    padding: 30px 15px; }
  #service .dress-file .check-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #service .dress-file .check-list li {
      margin: 10px 0; }
  #service .dress-photo .check-list {
    max-width: 280px;
    margin: 0 auto 20px; }
    #service .dress-photo .check-list li {
      display: block;
      width: 100%; }
  #service .family-notice .section-title.with-lines .line01 {
    width: calc((100% - 235px) / 2 - 20px - 10px); }
  #service .family-file .content-area {
    padding: 0 0 10px; }
  #service .photo-slider ul {
    display: block; }
    #service .photo-slider ul li {
      display: block;
      max-width: 240px;
      margin: 10px auto; }
  /*--- inquiry ---*/
  #inquiry .inquiry-form table {
    letter-spacing: 0; }
    #inquiry .inquiry-form table td {
      display: block; }
    #inquiry .inquiry-form table p {
      margin: 5px 0; }
  #inquiry .photo-slider .section-title.with-lines .line01 {
    width: calc((100% - 130px) / 2 - 20px - 10px); }
  /*--- recommendation ---*/
  #recommend .main-title .line {
    width: calc(100% - 200px); } }

@media only screen and (max-width: 480px) {
  /*--- footer ---*/
  footer .footer-main .footer-nav .footer-nav--item {
    margin-right: 0;
    -webkit-box-flex: 100%;
    -ms-flex: 100%;
    flex: 100%; }
    footer .footer-main .footer-nav .footer-nav--item ul {
      max-width: 260px;
      margin: 5px auto; }
  footer .footer-bottom .copyright {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center; }
  /*--- photo section ---*/
  .photo-section .text-area .white-box {
    padding: 30px 15px 30px 25px; }
  /*--- index ---*/
  #index #banner .text-area .topic .en-header {
    font-size: 24px; }
  #index #banner .text-area .topic .ch-sub {
    font-size: 12px; }
  #index .gallery {
    padding-bottom: 0; }
    #index .gallery .container-bottom {
      display: block; }
    #index .gallery .btn-row {
      padding-top: 15px;
      text-align: center; }
    #index .gallery .btn-more {
      position: relative;
      top: auto;
      right: auto; }
  #index .service .index-container .container-top .title .line01 {
    width: calc(100% - 125px - 15px); }
  #index .service .service-list li {
    width: 98%;
    max-width: 420px;
    margin: 0 auto 20px; }
    #index .service .service-list li .text-area .title .en {
      font-size: 36px; }
    #index .service .service-list li .text-area .title .ch {
      height: 90px;
      margin-top: -10px;
      font-size: 18px; }
  #index .about .content .text-area {
    float: none; }
  .gallery-list li {
    width: 100%;
    margin: 0 auto 2rem; }
  /*--- news ---*/
  .news-list li {
    width: 100%;
    margin: 0 0 20px; }
  /*--- profile ---*/
  #profile .profile-intro .intro-img .bg-img {
    height: 480px; }
  #profile .profile-intro .intro-img .text-area {
    padding-right: 0; }
    #profile .profile-intro .intro-img .text-area .name {
      width: 100%;
      display: block;
      margin: auto; }
      #profile .profile-intro .intro-img .text-area .name .ch {
        margin: 0 auto; }
      #profile .profile-intro .intro-img .text-area .name .en {
        text-align: center;
        margin: -15px 0 10px; }
    #profile .profile-intro .intro-img .text-area .brief article {
      font-size: 18px; }
    #profile .profile-intro .intro-img .text-area .brief .prize {
      margin-top: 15px;
      margin-right: 0; }
  /*--- service ---*/
  #service .service-case-table ul li:last-child > div.case-all {
    padding: 5px 0; }
  #service .service-case-table ul li:last-child > div .table-event {
    border-radius: 0; }
  #service .service-case-table ul li .table-event {
    width: 100%;
    height: 100%;
    border-radius: 0; }
  #service .service-case-table ul li .case-name {
    font-size: 12px; }
    #service .service-case-table ul li .case-name .number {
      font-size: 22px; }
  #service .ceremony-traffic .text-area article p:first-of-type {
    font-size: 18px; }
  #service .ceremony-photos .left-box {
    font-size: 18px; }
  #service .family-file .col-6:last-child ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #service .family-file .col-6:last-child ul li {
      width: 100%;
      margin: 10px 0; }
  /*--- inquiry ---*/
  #inquiry .photo-slider ul {
    max-width: 210px; }
    #inquiry .photo-slider ul li {
      width: 100%; }
  #inquiry .photo-slider .mask .inner h3 {
    font-size: 18px; }
  #inquiry .photo-slider .mask .inner .name {
    margin-top: 5px; } }

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