@charset "UTF-8";
/*base is →　! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

article, aside, footer, header, nav, section, figcaption, figure, main {
  display: block;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: top;
}

table {
  border-collapse: collapse;
}

button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button, html [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

textarea {
  overflow: auto;
  resize: vertical;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

a, area, button, input, label, select, summary, textarea, [tabindex] {
  touch-action: manipulation;
}

/* Break Point */
/* Color */
body {
  font-weight: 400;
  color: #585a5a;
  font-family: "Shippori Mincho", serif;
  line-height: 2;
  font-feature-settings: "palt";
}
body main {
  overflow: hidden;
  background-color: #fff;
}

a {
  color: #585a5a;
  text-decoration: none;
}

ul, ol {
  list-style-type: none;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

* {
  box-sizing: border-box;
}

sup, sub {
  font-size: 0.6em;
}

h2, h3, h4 {
  line-height: 1.3;
}

#mv h1 {
  position: relative;
  z-index: 2;
  opacity: 0;
  animation: fadeIn 1.4s ease forwards;
  animation-delay: 0.6s;
}
#mv figure {
  opacity: 0;
  animation: fadeIn 1.4s ease forwards;
  animation-delay: 1.2s;
}
#mv .weddingText {
  font-weight: 400;
  display: inline-flex;
  white-space: nowrap;
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  color: rgba(180, 145, 97, 0.25);
  line-height: 1;
  opacity: 0;
  animation: fadeIn 1.4s ease forwards;
  animation-delay: 1.8s;
}
@keyframes slideLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
#mv .weddingText span {
  width: auto;
  height: auto;
  display: block;
  animation: slideLeft 40s linear infinite;
}

#read p {
  font-weight: 500;
  letter-spacing: 0.05em;
}

#policy .policyImg2 img {
  width: 100%;
}
#policy .entitle {
  color: rgba(206, 204, 189, 0.25);
  line-height: 1;
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  font-weight: 400;
  z-index: 2;
}
#policy h3 {
  font-weight: 400;
  line-height: 1;
  text-align: center;
  color: #b49161;
}
#policy h4 {
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
#policy .policyList li .textWrap .num {
  color: #b49161;
  font-weight: 400;
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  line-height: 1;
}
#policy .policyList li .textWrap .title .jp {
  font-weight: 500;
}
#policy .policyList li .textWrap .title .en {
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  font-weight: 400;
  position: relative;
}
#about h2 {
  color: rgba(202, 191, 191, 0.35);
  font-weight: 400;
  font-family: "Sorts Mill Goudy", serif;
  line-height: 1;
}
#about .profWrap .profText h3 {
  font-weight: 700;
}
#about .profWrap .profText dl {
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
}
#about .profWrap .profText dl dd a {
  text-decoration: underline;
}
#about .achievementsWrap > div h4 {
  font-weight: 700;
}
#gallery h2 {
  color: rgba(202, 191, 191, 0.35);
  font-weight: 400;
  font-family: "Sorts Mill Goudy", serif;
  line-height: 1;
}
#gallery .instaBtn a {
  font-family: "Sorts Mill Goudy", serif;
  color: #585a5a;
  border: 1px solid #585a5a;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

#message h2 {
  color: rgba(202, 191, 191, 0.35);
  font-weight: 400;
  font-family: "Sorts Mill Goudy", serif;
  line-height: 1;
}
#message .messageWrap figure {
  text-align: center;
  margin-top: 30px;
}
#message .messageWrap figure img {
  max-width: 75%;
}

#footer .contactWrap .contactBtn a {
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  color: #585a5a;
  border: 1px solid #585a5a;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
#footer .copyright {
  font-family: "Libre Caslon Display", serif;
  letter-spacing: 0.05em;
  color: #3c3b36;
}

/* fadeUp */
.fadeUpTrigger, .fadeInTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.6s;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* ココから下には記入禁止 */
@media screen and (max-width: 1023px) {
  body {
    font-size: 13px;
    background-color: #ceccbd;
  }
  body main {
    max-width: 580px;
    margin: 0 auto;
  }
  body #header .headerInner, body #footer {
    max-width: 580px;
    margin: 0 auto;
  }
  .tel {
    color: #ceccbd;
    text-decoration: underline;
  }
  h2, h3, h4 {
    line-height: 1.3;
  }
  #header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
  }
  #header.active {
    position: fixed;
    animation: fadeIn 0.8s ease forwards;
  }
  #header.active .headerInner .headerBtns {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 12px;
    padding-right: 12px;
    font-size: 13px;
  }
  #header.active .headerInner .headerBtns a {
    font-family: "Libre Caslon Display", serif;
    letter-spacing: 0.05em;
    color: #fff;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    width: 125px;
    height: 30px;
    border-radius: 15px;
    padding: 10px 10px;
    background-color: rgba(59, 55, 53, 0.75);
    font-size: 10px;
    margin-left: inherit;
  }
  #header.active .headerInner .headerBtns a[target=_blank] span {
    display: inline-block;
    padding-right: 15px;
    position: relative;
  }
  #header.active .headerInner .headerBtns a[target=_blank] span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_blank.webp) no-repeat center/cover;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 0;
    top: calc(50% - 4px);
  }
  #header.active .headerInner .headerBtns a.mail {
    margin-top: 0px;
  }
  #header.active .headerInner .headerBtns a.mail span {
    display: inline-block;
    padding-left: 20px;
    position: relative;
  }
  #header.active .headerInner .headerBtns a.mail span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_mail.webp) no-repeat center/cover;
    width: 12px;
    height: 9px;
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
  }
  #header .headerInner .headerBtns {
    padding-top: 30px;
    padding-right: 15px;
  }
  #header .headerInner .headerBtns a {
    display: flex;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #fff;
    font-size: 0;
    justify-content: center;
    align-items: center;
    margin-left: auto;
  }
  #header .headerInner .headerBtns a[target=_blank] span {
    display: inline-block;
  }
  #header .headerInner .headerBtns a[target=_blank] span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_blank.webp) no-repeat center/cover;
    width: 13px;
    height: 13px;
  }
  #header .headerInner .headerBtns a.mail {
    margin-top: 15px;
  }
  #header .headerInner .headerBtns a.mail span {
    display: inline-block;
  }
  #header .headerInner .headerBtns a.mail span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_mail.webp) no-repeat center/cover;
    width: 16px;
    height: 12px;
  }
  .contTop {
    background: url(../images/bg_main_sp.webp) no-repeat top center/cover;
  }
  .commonInner {
    padding: 0 15px;
  }
  #mv {
    padding-top: 30px;
  }
  #mv h1 {
    text-align: center;
  }
  #mv h1 img {
    max-width: 196px;
  }
  #mv figure {
    margin-top: 25px;
    padding: 0 15px;
  }
  #mv figure img {
    max-width: 690px;
    width: 100%;
  }
  #mv .weddingText {
    font-size: 37px;
    gap: 10px;
    margin-top: -30px;
  }
  #read {
    margin-top: 25px;
    padding: 0 15px;
    margin-bottom: -55px;
  }
  #read .readImg1 img {
    max-width: 145px;
  }
  #read .readImg2 {
    text-align: right;
    margin-top: 60px;
  }
  #read .readImg2 img {
    max-width: 145px;
  }
  #read p {
    margin-top: 65px;
    font-size: 14px;
    line-height: 2.4;
    text-align: center;
  }
  #policy {
    background: url(../images/bg_policy_sp.webp) no-repeat center/cover;
    padding: 58px 15px;
    position: relative;
  }
  #policy .kazari1 {
    position: absolute;
    left: 0px;
    top: 65px;
    max-width: 136px;
  }
  #policy .kazari2 {
    position: absolute;
    right: 0px;
    top: 550px;
    max-width: 180px;
  }
  #policy .kazari3 {
    position: absolute;
    left: 0px;
    bottom: 815px;
    max-width: 170px;
  }
  #policy .commonInner {
    position: relative;
    z-index: 3;
  }
  #policy .policyInner {
    border-radius: 77px 77px 0 0;
    background-color: rgba(255, 255, 255, 0.8);
    padding-top: 32px;
  }
  #policy .entitle {
    font-size: 60px;
    text-align: center;
  }
  #policy h3 {
    margin-top: 18px;
    font-size: 14px;
  }
  #policy .policyText {
    margin-top: 10px;
    text-align: center;
    font-size: 14px;
    line-height: 2.4;
  }
  #policy h4 {
    margin-top: 30px;
    font-size: 16px;
  }
  #policy .policyImg {
    margin-top: 30px;
    text-align: center;
  }
  #policy .policyImg img {
    max-width: 235px;
  }
  #policy .policyList {
    margin-top: 50px;
  }
  #policy .policyList li + li {
    margin-top: 40px;
  }
  #policy .policyList li figure {
    text-align: center;
  }
  #policy .policyList li figure img {
    max-width: 230px;
  }
  #policy .policyList li .textWrap {
    padding: 0 15px;
  }
  #policy .policyList li .textWrap .num {
    font-size: 12px;
  }
  #policy .policyList li .textWrap .title {
    display: flex;
    margin-top: 8px;
    gap: 27px;
    line-height: 1;
  }
  #policy .policyList li .textWrap .title .jp {
    font-size: 21px;
  }
  #policy .policyList li .textWrap .title .en {
    font-size: 24px;
  }
  #policy .policyList li .textWrap .title .en:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #585a5a;
    position: absolute;
    left: -14px;
    top: 0;
  }
  #policy .policyList li .textWrap .text {
    margin-top: 15px;
  }
  #about {
    background: url(../images/bg_about.webp);
    padding-top: 58px;
  }
  #about h2 {
    text-align: center;
    font-size: 48px;
  }
  #about .profWrap {
    margin-top: 15px;
    position: relative;
    z-index: 2;
  }
  #about .profWrap figure {
    text-align: center;
  }
  #about .profWrap figure img {
    max-width: 230px;
  }
  #about .profWrap .profText {
    margin-top: 20px;
  }
  #about .profWrap .profText h3 {
    text-align: center;
  }
  #about .profWrap .profText h3 span {
    font-family: "Libre Caslon Display", serif;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-left: 15px;
    font-weight: 400;
  }
  #about .profWrap .profText p {
    margin-top: 20px;
    padding: 0 15px;
  }
  #about .profWrap .profText dl {
    margin-top: 15px;
    display: flex;
    gap: 16px;
    line-height: 1;
    padding: 0 15px;
  }
  #about .profWrap .profText dl dd {
    position: relative;
  }
  #about .profWrap .profText dl dd:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #585a5a;
    position: absolute;
    left: -9px;
    top: 2px;
  }
  #about .profWrap .profText dl dd a {
    display: inline-block;
    position: relative;
  }
  #about .profWrap .profText dl dd a:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_blank_b.webp) no-repeat center/cover;
    width: 10px;
    height: 10px;
    position: absolute;
    right: -15px;
    top: calc(50% - 5px);
  }
  #about .achievementsWrap {
    margin-top: 45px;
    padding: 0 15px;
  }
  #about .achievementsWrap > div + div {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #b49161;
  }
  #about .achievementsWrap > div h4 {
    font-size: 15px;
  }
  #about .achievementsWrap > div p {
    margin-top: 10px;
  }
  #gallery {
    background: url(../images/bg_about.webp);
    padding-top: 58px;
  }
  #gallery h2 {
    text-align: center;
    font-size: 48px;
  }
  #gallery .galleryList {
    margin-top: 15px;
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  #gallery .galleryList li {
    width: calc(50% - 5px);
  }
  #gallery .instaBtn {
    margin-top: 30px;
  }
  #gallery .instaBtn a {
    width: 80%;
    height: 52px;
    border-radius: 26px;
    padding: 13px 15px 10px;
    margin: 0 auto;
  }
  #gallery .instaBtn a span {
    display: inline-block;
    padding-left: 16px;
    position: relative;
  }
  #gallery .instaBtn a span:before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: #585a5a;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 3px);
    transition: 0.5s;
  }
  #message {
    background: url(../images/bg_about.webp);
    padding-top: 58px;
  }
  #message h2 {
    text-align: center;
    font-size: 48px;
  }
  #message .messageWrap {
    margin-top: 15px;
  }
  #message .messageWrap .text {
    padding: 0 15px;
  }
  #footer {
    background: url(../images/bg_about.webp);
    padding: 58px 0 30px;
    text-align: center;
  }
  #footer .info {
    font-size: 12px;
  }
  #footer .contactWrap {
    margin-top: 30px;
  }
  #footer .contactWrap .contactTitle {
    background: url(../images/contact_text.webp) no-repeat center;
    background-size: auto 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15px;
  }
  #footer .contactWrap .contactTitle span {
    font-size: 18px;
  }
  #footer .contactWrap .contactBtn {
    margin-top: 30px;
  }
  #footer .contactWrap .contactBtn a {
    width: 80%;
    height: 52px;
    border-radius: 26px;
    padding: 10px 15px;
    font-size: 16px;
  }
  #footer .contactWrap .contactBtn a:hover {
    background-color: #585a5a;
    color: #fff;
  }
  #footer .contactWrap .contactBtn a:hover span:after {
    background: url(../images/icon_mail.webp) no-repeat center/cover;
  }
  #footer .contactWrap .contactBtn a span {
    display: inline-block;
    padding-left: 36px;
    position: relative;
  }
  #footer .contactWrap .contactBtn a span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_mail_b.webp) no-repeat center/cover;
    width: 21px;
    height: 15px;
    position: absolute;
    left: 0;
    top: calc(50% - 7.5px);
    transition: 0.5s;
  }
  #footer .copyright {
    margin-top: 30px;
    font-size: 11px;
  }
  /* fadeUp */
  /* ココから下には記入禁止 */
  .forPC {
    display: none !important;
  }
}
@media print, screen and (min-width: 1024px) {
  body {
    font-size: 15px;
  }
  .tel {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none;
  }
  h2, h3, h4 {
    line-height: 1.3;
  }
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 34px 42px;
    z-index: 10;
  }
  #header.active .headerInner .headerBtns a {
    background-color: rgba(59, 55, 53, 0.75);
  }
  #header .headerInner .headerBtns {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-end;
    width: clamp(200px, 32vw, 420px);
    margin-left: auto;
  }
  #header .headerInner .headerBtns a {
    font-family: "Libre Caslon Display", serif;
    letter-spacing: 0.05em;
    color: #fff;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    width: 200px;
    height: 52px;
    border-radius: 26px;
    padding: 10px 15px;
    transition: 0.5s;
  }
  #header .headerInner .headerBtns a:hover {
    background-color: #585a5a;
  }
  #header .headerInner .headerBtns a[target=_blank] span {
    display: inline-block;
    padding-right: 24px;
    position: relative;
  }
  #header .headerInner .headerBtns a[target=_blank] span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_blank.webp) no-repeat center/cover;
    width: 13px;
    height: 13px;
    position: absolute;
    right: 0;
    top: calc(50% - 6.5px);
  }
  #header .headerInner .headerBtns a.mail span {
    display: inline-block;
    padding-left: 36px;
    position: relative;
  }
  #header .headerInner .headerBtns a.mail span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_mail.webp) no-repeat center/cover;
    width: 21px;
    height: 15px;
    position: absolute;
    left: 0;
    top: calc(50% - 7.5px);
  }
  .contTop {
    background: url(../images/bg_main.webp) no-repeat top center/cover;
  }
  .commonInner {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto;
  }
  #mv {
    padding-top: 34px;
  }
  #mv h1 {
    text-align: center;
  }
  #mv h1 img {
    max-width: 343px;
  }
  #mv figure {
    text-align: center;
    margin-top: 30px;
  }
  #mv figure img {
    max-width: 1075px;
    width: 100%;
  }
  #mv .weddingText {
    font-size: 158px;
    gap: 40px;
    margin-top: -69px;
  }
  #read {
    padding-top: 450px;
    padding-bottom: 280px;
    position: relative;
  }
  #read .readImg1 {
    position: absolute;
    top: 223px;
    left: 5vw;
    width: clamp(150px, 25vw, 357px);
  }
  #read .readImg2 {
    position: absolute;
    bottom: -130px;
    right: 7vw;
    width: clamp(150px, 25vw, 357px);
  }
  #read p {
    font-size: 18px;
    line-height: 3;
    text-align: center;
  }
  .spacingImg img {
    width: 100%;
    height: 552px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #policy {
    background: url(../images/bg_policy.webp) no-repeat center/cover;
    padding: 140px 35px;
    position: relative;
  }
  #policy .kazari1 {
    position: absolute;
    left: 0px;
    top: 130px;
  }
  #policy .kazari2 {
    position: absolute;
    right: 0px;
    top: 620px;
  }
  #policy .kazari3 {
    position: absolute;
    left: 0px;
    bottom: 910px;
  }
  #policy .commonInner {
    position: relative;
    z-index: 3;
  }
  #policy .policyInner {
    width: 100%;
    margin: 0 auto;
    border-radius: 270px 270px 0 0;
    background-color: rgba(255, 255, 255, 0.8);
    padding-top: 120px;
  }
  #policy .entitle {
    position: absolute;
    top: -90px;
    left: 0px;
    font-size: 188px;
  }
  #policy h3 {
    font-size: 24px;
  }
  #policy .policyText {
    margin-top: 30px;
    text-align: center;
    font-size: 18px;
    line-height: 3;
  }
  #policy h4 {
    margin-top: 80px;
    font-size: 24px;
  }
  #policy .policyImg {
    margin-top: 50px;
    text-align: center;
  }
  #policy .policyList {
    margin-top: 90px;
  }
  #policy .policyList li {
    display: flex;
    align-items: center;
  }
  #policy .policyList li + li {
    margin-top: 25px;
  }
  #policy .policyList li:nth-of-type(odd) figure {
    padding-right: 60px;
  }
  #policy .policyList li:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  #policy .policyList li:nth-of-type(even) figure {
    text-align: right;
    padding-left: 50px;
  }
  #policy .policyList li figure {
    width: calc(50% - 50px);
  }
  #policy .policyList li .textWrap {
    width: calc(50% + 50px);
  }
  #policy .policyList li .textWrap .num {
    font-size: 16px;
  }
  #policy .policyList li .textWrap .title {
    display: flex;
    margin-top: 10px;
    gap: 31px;
    line-height: 1;
  }
  #policy .policyList li .textWrap .title .jp {
    font-size: 24px;
  }
  #policy .policyList li .textWrap .title .en {
    font-size: 26px;
  }
  #policy .policyList li .textWrap .title .en:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #585a5a;
    position: absolute;
    left: -16px;
    top: 0;
  }
  #policy .policyList li .textWrap .text {
    margin-top: 25px;
    font-size: 16px;
  }
  #about {
    background: url(../images/bg_about.webp);
    padding-top: 120px;
  }
  #about h2 {
    font-size: 85px;
    transform: translateX(-35px);
  }
  #about .profWrap {
    display: flex;
    gap: 65px;
    margin-top: -12px;
    position: relative;
    z-index: 2;
  }
  #about .profWrap figure {
    width: 280px;
    padding-left: 50px;
    flex: none;
  }
  #about .profWrap figure img {
    width: 230px;
  }
  #about .profWrap .profText h3 {
    font-size: 20px;
  }
  #about .profWrap .profText h3 span {
    font-size: 16px;
    font-family: "Libre Caslon Display", serif;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-left: 20px;
    font-weight: 400;
  }
  #about .profWrap .profText p {
    margin-top: 20px;
  }
  #about .profWrap .profText dl {
    margin-top: 15px;
    display: flex;
    gap: 16px;
    line-height: 1;
  }
  #about .profWrap .profText dl dd {
    position: relative;
  }
  #about .profWrap .profText dl dd:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #585a5a;
    position: absolute;
    left: -9px;
    top: 2px;
  }
  #about .profWrap .profText dl dd a {
    display: inline-block;
    position: relative;
  }
  #about .profWrap .profText dl dd a:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_blank_b.webp) no-repeat center/cover;
    width: 13px;
    height: 13px;
    position: absolute;
    right: -18px;
    top: calc(50% - 6.5px);
  }
  #about .profWrap .profText dl dd a:hover {
    text-decoration: none;
  }
  #about .achievementsWrap {
    margin-top: 90px;
    display: flex;
    gap: 120px;
    position: relative;
  }
  #about .achievementsWrap:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #b49161;
    position: absolute;
    left: 50%;
    top: 0;
  }
  #about .achievementsWrap > div {
    flex: 1;
  }
  #about .achievementsWrap > div h4 {
    font-size: 17px;
  }
  #about .achievementsWrap > div p {
    margin-top: 20px;
  }
  #gallery {
    background: url(../images/bg_about.webp);
    padding-top: 50px;
  }
  #gallery h2 {
    font-size: 85px;
    transform: translateX(-35px);
  }
  #gallery .galleryList {
    margin-top: -12px;
    position: relative;
    z-index: 2;
    display: flex;
    gap: 15px;
  }
  #gallery .galleryList li {
    width: calc(20% - 12px);
  }
  #gallery .instaBtn {
    margin-top: 20px;
  }
  #gallery .instaBtn a {
    width: 254px;
    height: 52px;
    border-radius: 26px;
    padding: 13px 15px 10px;
    transition: 0.5s;
    margin-left: auto;
  }
  #gallery .instaBtn a span {
    display: inline-block;
    padding-left: 16px;
    position: relative;
  }
  #gallery .instaBtn a span:before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: #585a5a;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 3px);
    transition: 0.5s;
  }
  #gallery .instaBtn a:hover {
    background-color: #585a5a;
    color: #fff;
  }
  #gallery .instaBtn a:hover span:before {
    background-color: #fff;
  }
  #message {
    background: url(../images/bg_about.webp);
    padding-top: 30px;
  }
  #message h2 {
    font-size: 85px;
    transform: translateX(-35px);
  }
  #message .messageWrap {
    margin-top: -22px;
    position: relative;
    z-index: 2;
    display: flex;
    gap: 60px;
  }
  #message .messageWrap figure {
    flex: none;
  }
  #footer {
    background: url(../images/bg_about.webp);
    padding: 110px 0 60px;
    text-align: center;
  }
  #footer .contactWrap {
    margin-top: 65px;
  }
  #footer .contactWrap .contactTitle {
    background: url(../images/contact_text.webp) no-repeat center;
    height: 111px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 30px;
  }
  #footer .contactWrap .contactTitle span {
    font-size: 24px;
  }
  #footer .contactWrap .contactBtn {
    margin-top: 55px;
  }
  #footer .contactWrap .contactBtn a {
    width: 337px;
    height: 52px;
    border-radius: 26px;
    padding: 10px 15px;
    transition: 0.5s;
    font-size: 16px;
  }
  #footer .contactWrap .contactBtn a:hover {
    background-color: #585a5a;
    color: #fff;
  }
  #footer .contactWrap .contactBtn a:hover span:after {
    background: url(../images/icon_mail.webp) no-repeat center/cover;
  }
  #footer .contactWrap .contactBtn a span {
    display: inline-block;
    padding-left: 36px;
    position: relative;
  }
  #footer .contactWrap .contactBtn a span:after {
    content: "";
    display: inline-block;
    background: url(../images/icon_mail_b.webp) no-repeat center/cover;
    width: 21px;
    height: 15px;
    position: absolute;
    left: 0;
    top: calc(50% - 7.5px);
    transition: 0.5s;
  }
  #footer .copyright {
    margin-top: 70px;
    font-size: 14px;
  }
  /* fadeUp */
  /* ココから下には記入禁止 */
  .forSP {
    display: none !important;
  }
}
@media screen and (min-width: 1023px) and (max-width: 1023px) {
  h2, h3, h4 {
    line-height: 1.3;
  }
  /* fadeUp */
  /* ココから下には記入禁止 */
}
/*# sourceMappingURL=map/styles.css.map */
