.cmn-hd_ttl {
  position: fixed;
  top: 20px;
  left: 20px;
  padding: 20px;
  z-index: 300; }
  @media (max-width: 428px) {
    .cmn-hd_ttl {
      top: 8px;
      left: 0; } }

.cmn-hd_link {
  display: block; }
  .cmn-hd_link:hover {
    opacity: .9; }
    @media (max-width: 428px) {
      .cmn-hd_link:hover {
        opacity: 1; } }

.cmn-hd_hmb {
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 401;
  padding: 20px; }
  @media (max-width: 428px) {
    .cmn-hd_hmb {
      top: 0;
      right: 0; } }
  .cmn-hd_hmb:hover {
    opacity: .9; }
    @media (max-width: 428px) {
      .cmn-hd_hmb:hover {
        opacity: 1; } }
  .cmn-hd_hmb.is_show .cmn-hd_hmb--img-open {
    display: none; }
  .cmn-hd_hmb.is_show .cmn-hd_hmb--img-close {
    display: block; }
  .cmn-hd_hmb--img-open {
    display: block; }
  .cmn-hd_hmb--img-close {
    display: none; }

.cmn-hd_modal {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 400;
  display: none; }
  .cmn-hd_modal--box {
    background-color: #fff;
    width: 700px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -100%;
    overflow-y: scroll;
    padding: 80px;
    box-sizing: border-box;
    transition: .7s; }
    @media (max-width: 428px) {
      .cmn-hd_modal--box {
        width: 89vw;
        padding: 50px 0;
        transition: .5s; } }
    .cmn-hd_modal--box.is_show {
      right: 0; }

.cmn-nav--logo {
  display: block;
  margin: auto; }
.cmn-nav--list {
  width: 330px;
  margin: 30px auto 0;
  border-bottom: 2px solid #EDECEA; }
  @media (max-width: 428px) {
    .cmn-nav--list {
      width: calc(100% - 56px); } }
.cmn-nav--item {
  border-top: 2px solid #EDECEA;
  height: 64px; }
  @media (max-width: 428px) {
    .cmn-nav--item {
      height: 52px; } }
.cmn-nav--link {
  display: block;
  height: 100%;
  display: flex;
  align-items: center; }
  @media (max-width: 428px) {
    .cmn-nav--link {
      justify-content: center; } }
  .cmn-nav--link:hover {
    background-color: #EDECEA; }
.cmn-nav--ja_text {
  width: 170px;
  padding-left: 40px;
  box-sizing: border-box;
  letter-spacing: 0.1em; }
  @media (max-width: 428px) {
    .cmn-nav--ja_text {
      padding-left: 0;
      width: auto;
      font-size: 15px; } }
.cmn-nav--en_text {
  width: calc(100% - 170px);
  color: #40668B;
  font-size: 13px;
  font-weight: bold;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.1em; }
  @media (max-width: 428px) {
    .cmn-nav--en_text {
      display: none; } }

.cmn-hd_conv {
  width: 250px;
  margin: 40px auto 0; }
  .cmn-hd_conv--item {
    margin-top: 10px; }
    .cmn-hd_conv--item:first-of-type {
      margin-top: 0; }
  .cmn-hd_conv--link {
    height: 60px;
    background-color: #40668B;
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.1em; }
    .cmn-hd_conv--link:before {
      content: "";
      display: block;
      width: 29px;
      height: 29px;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      margin: 0 14px 0 30px; }
    .cmn-hd_conv--link:hover {
      filter: saturate(150%); }
      @media (max-width: 428px) {
        .cmn-hd_conv--link:hover {
          filter: none; } }
    .cmn-hd_conv--link-line {
      background-color: #C4B37B; }
      .cmn-hd_conv--link-line:before {
        background-image: url(../img/icon/icon-line.svg); }
    .cmn-hd_conv--link-form:before {
      background-image: url(../img/icon/icon-form.svg); }
    .cmn-hd_conv--link-tel {
      font-size: 20px;
      font-family: "Josefin Sans", sans-serif;
      letter-spacing: 0.1em; }
      .cmn-hd_conv--link-tel:before {
        background-image: url(../img/icon/icon-tel.svg); }

.cmn-ft {
  background-color: #262023; }

.cmn-contact {
  background-image: url(../img/cmn-contact.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  padding: 70px 0 110px; }
  @media (max-width: 428px) {
    .cmn-contact {
      padding: 60px 0; } }
  .cmn-contact--list {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 428px) {
      .cmn-contact--list {
        margin-top: 30px; } }
  .cmn-contact--item {
    width: 217px;
    height: 200px; }
    @media (max-width: 428px) {
      .cmn-contact--item {
        width: calc((100vw - 50px) / 2);
        height: auto; }
        .cmn-contact--item:first-of-type {
          margin-bottom: 10px; } }
    .cmn-contact--item-l {
      width: 465px; }
      @media (max-width: 428px) {
        .cmn-contact--item-l {
          width: 100%; } }
      .cmn-contact--item-l .cmn-contact--desc {
        height: auto;
        padding: 10px 0; }
  .cmn-contact--link {
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    color: #fff;
    display: flex;
    justify-content: center;
    flex-direction: column;
    box-sizing: border-box; }
    @media (max-width: 428px) {
      .cmn-contact--link {
        padding: 10px 0; } }
    .cmn-contact--link:hover .cmn-contact--arrow:before {
      transform: translateY(-50%) scale(1.3, 1); }
      @media (max-width: 428px) {
        .cmn-contact--link:hover .cmn-contact--arrow:before {
          transform: translateY(-50%); } }
    .cmn-contact--link:hover .cmn-contact--arrow:after {
      right: 10px; }
      @media (max-width: 428px) {
        .cmn-contact--link:hover .cmn-contact--arrow:after {
          right: 9px; } }
  .cmn-contact--hd {
    font-size: 24px;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: 0.1em; }
    @media (max-width: 428px) {
      .cmn-contact--hd {
        font-size: 20px; } }
    .cmn-contact--hd:before {
      content: "";
      display: block;
      width: 32px;
      height: 30px;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      margin: 0 14px 0 30px; }
      @media (max-width: 428px) {
        .cmn-contact--hd:before {
          width: 25px;
          height: 24px;
          background-size: contain;
          margin: 0 8px 0 15px; } }
    .cmn-contact--hd-line:before {
      background-image: url(../img/icon/icon-line-white.svg); }
    .cmn-contact--hd-form:before {
      background-image: url(../img/icon/icon-form.svg); }
    .cmn-contact--hd-tel:before {
      background-image: url(../img/icon/icon-tel.svg); }
  .cmn-contact--desc {
    height: 105px;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (max-width: 428px) {
      .cmn-contact--desc {
        height: 68px; } }
    .cmn-contact--desc .m-serif {
      font-size: 18px; }
  .cmn-contact--line_img {
    margin-right: 20px; }
    .cmn-contact--line_img + .cmn-contact--text {
      text-align: left; }
  .cmn-contact--text {
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em; }
  .cmn-contact--arrow {
    font-size: 13px;
    font-weight: bold;
    line-height: 2.1;
    padding-right: 60px;
    text-align: right;
    position: relative; }
    @media (max-width: 428px) {
      .cmn-contact--arrow {
        font-size: 12px;
        padding-right: 40px; } }
    .cmn-contact--arrow:before {
      content: "";
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      width: 30px;
      height: 2px;
      background-color: #fff;
      transition: 0.3s;
      transform-origin: center left; }
      @media (max-width: 428px) {
        .cmn-contact--arrow:before {
          right: 10px;
          width: 25px; } }
    .cmn-contact--arrow:after {
      content: "";
      position: absolute;
      top: 8px;
      right: 18px;
      transform: rotate(45deg);
      width: 14px;
      height: 2px;
      background-color: #fff;
      transition: 0.3s; }
      @media (max-width: 428px) {
        .cmn-contact--arrow:after {
          right: 9px;
          width: 10px; } }

.cmn-contact_ttl {
  color: #fff;
  text-align: center; }
  .cmn-contact_ttl--en {
    font-size: 36px;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: 0.1em;
    display: block;
    line-height: 1.2;
    font-weight: 500; }
    @media (max-width: 428px) {
      .cmn-contact_ttl--en {
        font-size: 30px; } }
  .cmn-contact_ttl--ja {
    font-size: 12px;
    display: block;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin-top: 5px; }
    @media (max-width: 428px) {
      .cmn-contact_ttl--ja {
        margin-top: 0; } }

.cmn-info {
  position: relative; }
  .cmn-info--box {
    padding: 70px 0;
    display: flex; }
    @media (max-width: 428px) {
      .cmn-info--box {
        display: block;
        padding: 40px 0 120px; } }
  .cmn-info--left {
    width: 365px;
    margin-right: 110px; }
    @media (max-width: 428px) {
      .cmn-info--left {
        width: 100%;
        margin-right: 0; } }
  .cmn-info--address_box {
    display: flex;
    align-items: flex-start; }
  .cmn-info--logo {
    margin-right: 30px; }
    @media (max-width: 428px) {
      .cmn-info--logo {
        margin-right: 15px; } }
  .cmn-info--address {
    color: #fff;
    font-size: 15px;
    font-style: normal;
    line-height: 2;
    letter-spacing: 0.1em; }
    @media (max-width: 428px) {
      .cmn-info--address {
        font-size: 14px; } }
  .cmn-info--right {
    width: calc(100% - 365px - 110px); }
    @media (max-width: 428px) {
      .cmn-info--right {
        width: 100%;
        margin-top: 40px; } }
  .cmn-info--list {
    column-count: 2; }
  .cmn-info--item {
    margin-top: 20px; }
    .cmn-info--item:first-of-type, .cmn-info--item:nth-of-type(6) {
      margin-top: 0; }
  .cmn-info--link {
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.1em; }
    .cmn-info--link:hover {
      color: #C4B37B; }
      @media (max-width: 428px) {
        .cmn-info--link:hover {
          color: #262023; } }
  .cmn-info--copyright {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 1.16;
    color: #AAAAAA;
    width: 100%;
    display: block;
    text-align: center;
    padding-bottom: 44px; }
    @media (max-width: 428px) {
      .cmn-info--copyright {
        font-size: 11px;
        padding-bottom: 24px; } }

.cmn-cdp {
  margin-top: 40px;
  display: block;
  line-height: 0; }
  @media (max-width: 428px) {
    .cmn-cdp {
      margin-top: 20px; } }
  .cmn-cdp:hover {
    box-shadow: 0px 0px 8px rgba(208, 181, 134, 0.5); }
    @media (max-width: 428px) {
      .cmn-cdp:hover {
        box-shadow: none; } }
  .cmn-cdp--img {
    max-width: 100%;
    width: 100%; }

.cmn-pagetop {
  position: absolute;
  top: 30px;
  right: 40px;
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.28;
  display: block;
  padding-left: 22px;
  padding-top: 30px;
  z-index: 100; }
  @media (max-width: 428px) {
    .cmn-pagetop {
      font-size: 13px;
      padding-left: 18px;
      padding-top: 25px;
      top: auto;
      bottom: 30px;
      right: 20px; } }
  .cmn-pagetop:before {
    content: "";
    width: 2px;
    height: 62px;
    display: block;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 0.3s;
    transform-origin: bottom left; }
    @media (max-width: 428px) {
      .cmn-pagetop:before {
        height: 57px; } }
  .cmn-pagetop:after {
    content: "";
    width: 2px;
    height: 18px;
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 6px;
    transform: rotate(-45deg);
    transition: 0.3s; }
    @media (max-width: 428px) {
      .cmn-pagetop:after {
        height: 15px; } }
  .cmn-pagetop:hover:before {
    transform: scale(1, 1.2); }
    @media (max-width: 428px) {
      .cmn-pagetop:hover:before {
        transform: none; } }
  .cmn-pagetop:hover:after {
    top: -10px; }
    @media (max-width: 428px) {
      .cmn-pagetop:hover:after {
        top: 0; } }

.cmn-line {
  display: block;
  position: fixed;
  bottom: 20px;
  right: 0;
  width: 100px;
  height: 70px;
  background-color: #C4B37B;
  z-index: 200;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 8px 3px rgba(0, 0, 0, 0.16); }
  @media (max-width: 428px) {
    .cmn-line {
      width: 120px;
      height: 40px;
      bottom: 0; } }
  .cmn-line:hover {
    filter: saturate(150%); }
    @media (max-width: 428px) {
      .cmn-line:hover {
        filter: none; } }
  .cmn-line--text {
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.14em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 428px) {
      .cmn-line--text {
        font-size: 10px; } }

.cmn-main {
  display: block;
  padding-top: 80px; }
