@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

body {
  font-size: 16px;
  line-height: 1.6;
  background: #fff;
  font-family: "Shippori Mincho B1", serif;
  color: #333333;
}

.wrap {
  overflow: hidden;
}

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

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
}

p {
  margin: 0;
  padding: 0;
}

figure {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

.clear::after {
  content: "";
  clear: both;
  display: block;
}

@media (min-width: 1200px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
@media (max-width: 1199px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  a[href^="tel:"] {
    display: block;
    pointer-events: painted;
  }
}

/*デバイスごとの表示切り替え*/
@media (max-width: 1199px) {
  .pc-only {
    display: none;
  }
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.tab-below {
  display: none;
}
@media (max-width: 1199px) {
  .tab-below {
    display: block;
  }
}

@media (min-width: 1200px) {
  .tab-only {
    display: none;
  }
}
@media (max-width: 1199px) {
  .tab-only {
    display: block;
  }
}
@media (max-width: 767px) {
  .tab-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

/*************************************************************************************
インナー幅
**************************************************************************************/
.common-width--1100 {
  max-width: 1100px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .common-width--1100 {
    width: 95%;
  }
}
@media (max-width: 767px) {
  .common-width--1100 {
    width: 89%;
  }
}

/*************************************************************************************
セクションタイトル
**************************************************************************************/
.section-title {
  font-size: 36px;
}
.section-title span {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  display: block;
  font-weight: 300;
  line-height: 120%;
}
@media (max-width: 767px) {
  .section-title span {
    font-size: 12px;
  }
}
@media (max-width: 1199px) {
  .section-title {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .section-title {
    font-size: 22px;
  }
}

/*************************************************************************************
下層ページタイトル
**************************************************************************************/
.page-title {
  position: relative;
  height: 450px !important;
}
@media (max-width: 767px) {
  .page-title {
    height: 350px !important;
  }
}

.page-title__title {
  position: absolute;
  top: 65%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 36px;
  font-weight: 300;
  z-index: 999;
}
@media (max-width: 1199px) {
  .page-title__title {
    font-size: 28px;
  }
}

.privacy-policy {
  padding: 100px 0;
  max-width: 850px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .privacy-policy {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .privacy-policy {
    padding: 60px 0;
    width: 89%;
  }
}
.privacy-policy p {
  margin-top: 24px;
}

.fadein {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 1.5s;
          transition-duration: 1.5s;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.header-container {
  position: static;
  z-index: 9997;
}

.header {
  background: transparent;
  position: sticky;
  position: absolute;
  top: -80px;
  width: 100%;
  margin-top: 80px;
  -webkit-transition: top 0.6s;
  transition: top 0.6s;
  z-index: 9997;
}

.header--under .header__wrap .header__logo a {
  display: block !important;
}

/* スティッキー時に.stickyクラスを追加 */
.header.sticky {
  position: fixed; /* 上に固定 */
  top: 0;
  margin-top: 0; /* 0にすることでtopで上に配置 */
  height: 75px; /* 小さく変化させる */
  background: linear-gradient(137deg, rgb(175, 153, 176), rgb(192, 182, 182) 25%, rgb(132, 180, 208));
  padding: 5px 0;
}
@media (max-width: 767px) {
  .header.sticky {
    height: 60px;
  }
}
.header.sticky .header__wrap {
  padding: 0;
}
.header.sticky .header__wrap .header__logo a {
  display: block;
  width: 200px;
}
@media (max-width: 767px) {
  .header.sticky .header__wrap .header__logo a {
    width: 150px;
  }
}

.header__wrap {
  max-width: 1100px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1199px) {
  .header__wrap {
    width: 95%;
  }
}
@media (max-width: 767px) {
  .header__wrap {
    width: 89%;
  }
}

.header__logo a {
  display: none;
  width: 200px;
}
.header__logo a img {
  display: block;
}

@media (max-width: 767px) {
  .header__nav {
    display: none;
  }
}
.header__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header__menu a {
  text-decoration: none;
  padding: 15px 25px;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-weight: 300;
}

/*************************************************************************************
ドロワーメニュー
**************************************************************************************/
#drawer-nav {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 100%;
  height: 100%;
  background: gray;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media (min-width: 1200px) {
  #drawer-nav {
    display: none;
  }
}

#drawer-nav.panelactive {
  right: 0;
}

.drawer-nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#drawer-nav ul {
  position: absolute;
  z-index: 999;
  top: 300px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 55%;
}

#drawer-nav li {
  list-style: none;
}
#drawer-nav li a {
  text-decoration: none;
  padding: 19px 0;
  display: block;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-weight: 300;
}

.drawer__logo a {
  display: block;
  width: 200px;
  margin-right: auto;
  margin-left: auto;
}

/*************************************************************************************
ハンバーガーボタン
**************************************************************************************/
.hamburger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background-color: transparent;
  border-radius: 50%;
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 15px;
  cursor: pointer;
  width: 60px;
  height: 60px;
}
@media (min-width: 1200px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 1199px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 767px) {
  .hamburger {
    display: block;
  }
}

.hamburger span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 13px;
  height: 2px;
  border-radius: 2px;
  background-color: #ffffff;
  width: 33px;
}

.hamburger span:nth-of-type(1) {
  top: 20px;
}

.hamburger span:nth-of-type(2) {
  top: 30px;
}

.hamburger span:nth-of-type(3) {
  top: 40px;
}

.hamburger.active span:nth-of-type(1) {
  top: 23px;
  left: 14px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 33px;
  background-color: #fff;
}

.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

.hamburger.active span:nth-of-type(3) {
  top: 35px;
  left: 14px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 33px;
  background-color: #fff;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  display: none;
}
@media (min-width: 1200px) {
  #overlay {
    position: static;
  }
}

/* Prevent background scrolling when menu is active */
body.panelactive {
  overflow: hidden;
}
@media (min-width: 1200px) {
  body.panelactive {
    overflow: auto;
  }
}

/*************************************************************************************
フッター
**************************************************************************************/
.footer {
  background-color: #767676;
  padding: 15px 0;
}

.footer__logo a {
  display: block;
  width: 152px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .footer__logo a {
    width: 120px;
  }
}
@media (max-width: 767px) {
  .footer__logo a {
    width: 100px;
  }
}

.footer__copy {
  color: #ffffff;
  font-size: 12px;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  margin-top: 10px;
  display: block;
  text-align: center;
}
@media (max-width: 1199px) {
  .footer__copy {
    font-size: 10px;
    margin-top: 5px;
  }
}

/*************************************************************************************
ファーストビュー
**************************************************************************************/
.fv {
  background: linear-gradient(137deg, rgb(175, 153, 176), rgb(192, 182, 182) 25%, rgb(132, 180, 208));
  height: 720px;
  position: relative;
  margin-top: -107px;
}
@media (max-width: 767px) {
  .fv {
    height: 100vh;
  }
}

.fv__title {
  position: absolute;
  top: 70%;
  left: 10%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .fv__title img {
    display: block;
    width: 70%;
  }
}

/*************************************************************************************
メッセージ
**************************************************************************************/
.message {
  max-width: 720px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
  font-size: 36px;
  font-weight: 300;
  padding-top: 100px;
}
@media (max-width: 1199px) {
  .message {
    width: 95%;
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .message {
    font-size: 22px;
    padding-top: 80px;
    width: 89%;
  }
}

.c02 {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(51, 51, 51, 0)), color-stop(50%, #333333));
  background-image: linear-gradient(to bottom, rgba(51, 51, 51, 0) 0%, #333333 50%);
  background-size: 100% 200%;
  background-position: 0% -100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.c02.active {
  -webkit-animation-name: kf_c02;
          animation-name: kf_c02;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes kf_c02 {
  100% {
    background-position: 0% 100%;
  }
}

@keyframes kf_c02 {
  100% {
    background-position: 0% 100%;
  }
}
/*************************************************************************************
制作実績
**************************************************************************************/
.works {
  padding-top: 100px;
  padding-bottom: 120px;
}
@media (max-width: 1199px) {
  .works {
    max-width: 750px;
    width: 95%;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 100px;
  }
}
@media (max-width: 767px) {
  .works {
    width: 89%;
    padding-top: 80px;
    padding-bottom: 40px;
  }
}

.works__message {
  margin-top: 42px;
  line-height: 180%;
}
@media (max-width: 767px) {
  .works__message {
    font-size: 15px;
  }
}

.works__archive {
  margin-top: 60px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 14px 1fr 14px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 14px;
}
@media (max-width: 1199px) {
  .works__archive {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .works__archive {
    display: block;
    max-width: 620px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

.works__card a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
}
@media (min-width: 1200px) {
  .works__card a {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .works__card a:hover {
    opacity: 0.6;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
}
@media (max-width: 767px) {
  .works__card a {
    margin-bottom: 24px;
  }
}

.works__title {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.works__range {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 5px;
}
.works__range span {
  font-family: "Lato", sans-serif;
  font-size: 11px;
  padding: 0 10px;
  color: #C1C1C1;
  position: relative;
}
@media (max-width: 767px) {
  .works__range span {
    padding: 0 5px;
  }
}
.works__range span:first-of-type {
  padding-left: 0;
}
.works__range span:not(:last-of-type)::after {
  position: absolute;
  content: "|";
  top: 50%;
  right: -4px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 16px;
  color: #C1C1C1;
}

.works__img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

/*************************************************************************************
ご提供できること
**************************************************************************************/
.skills {
  background: linear-gradient(137deg, rgba(175, 153, 176, 0.3), rgba(192, 182, 182, 0.3) 25%, rgba(132, 180, 208, 0.3));
  padding: 100px 0;
}
@media (max-width: 1199px) {
  .skills {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .skills {
    padding: 60px 0;
  }
}

.skills__container {
  max-width: 850px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .skills__container {
    width: 92%;
  }
}
@media (max-width: 767px) {
  .skills__container {
    width: 89%;
  }
}

.skills__wrap {
  margin-top: 75px;
}
@media (max-width: 767px) {
  .skills__wrap {
    margin-top: 40px;
  }
}

.skills__block {
  position: relative;
}
.skills__block:not(:first-of-type) {
  margin-top: 80px;
}
@media (max-width: 767px) {
  .skills__block:not(:first-of-type) {
    margin-top: 40px;
  }
}

.skills__title {
  font-size: 32px;
}
@media (max-width: 767px) {
  .skills__title {
    position: relative;
    z-index: 2;
    font-size: 24px;
  }
}

.skills__en {
  position: absolute;
  top: 0;
  right: 0;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  font-size: 96px;
  line-height: 100%;
  opacity: 0.6;
  z-index: 1;
}
@media (max-width: 1199px) {
  .skills__en {
    font-size: 80px;
  }
}
@media (max-width: 767px) {
  .skills__en {
    font-size: 65px;
    opacity: 0.4;
  }
}

.fadein.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.skills__text {
  margin-top: 24px;
  position: relative;
  z-index: 2;
  line-height: 180%;
}

.skills__tool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Lato", sans-serif;
  color: #979797;
  font-size: 12px;
}
@media (max-width: 767px) {
  .skills__tool {
    display: block;
  }
}
.skills__tool dd {
  margin-left: 10px;
}
@media (max-width: 767px) {
  .skills__tool dd {
    margin-left: 0;
    margin-top: 5px;
  }
}
.skills__tool dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.skills__tool dd ul li {
  padding-right: 25px;
  position: relative;
}
.skills__tool dd ul li:not(:last-of-type)::after {
  position: absolute;
  content: "/";
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 12px;
  color: #979797;
}

/*************************************************************************************
クライアントからの評価
**************************************************************************************/
.review {
  padding: 100px 0;
}
@media (max-width: 1199px) {
  .review {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .review {
    padding: 60px 0;
    padding-bottom: 40px;
  }
}

.review__title {
  text-align: center;
}

.review__text {
  display: block;
  margin-top: 40px;
  max-width: 90%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}

.review__container {
  margin-top: 40px;
  max-width: 1200px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  padding: 50px;
  background: linear-gradient(137deg, rgba(175, 153, 176, 0.3), rgba(192, 182, 182, 0.3) 25%, rgba(132, 180, 208, 0.3));
}
@media (max-width: 767px) {
  .review__container {
    padding: 40px 15px;
  }
}

/*************************************************************************************
私について
**************************************************************************************/
.about {
  padding: 100px 0;
  max-width: 850px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .about {
    padding: 80px 0;
    max-width: 720px;
    width: 95%;
  }
}
@media (max-width: 767px) {
  .about {
    padding: 60px 0;
    max-width: 650px;
    width: 89%;
  }
}

.about__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 30px;
  margin-top: 65px;
}
@media (max-width: 1199px) {
  .about__wrap {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .about__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.about__contents {
  width: calc(100% - 395px);
}
@media (max-width: 1199px) {
  .about__contents {
    width: 60%;
  }
}
@media (max-width: 767px) {
  .about__contents {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.about__contents h3 {
  font-size: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .about__contents h3 {
    font-size: 22px;
  }
}
.about__contents h3 span {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  font-weight: 300;
}
.about__contents p {
  margin-top: 24px;
}
@media (max-width: 1199px) {
  .about__contents p {
    font-size: 15px;
  }
}

.about__img {
  width: 395px;
}
@media (max-width: 1199px) {
  .about__img {
    width: 40%;
  }
}
@media (max-width: 767px) {
  .about__img {
    width: 60%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.about__img img {
  width: 100%;
  aspect-ratio: 395/367;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .about__img img {
    aspect-ratio: 395/450;
  }
}

/*************************************************************************************
お問い合わせ
**************************************************************************************/
.cta {
  background: linear-gradient(137deg, rgb(175, 153, 176), rgb(192, 182, 182) 25%, rgb(132, 180, 208));
  padding: 100px 0;
}
@media (max-width: 1199px) {
  .cta {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .cta {
    padding: 60px 0;
  }
}

.cta__wrap {
  max-width: 680px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .cta__wrap {
    width: 95%;
  }
}
@media (max-width: 767px) {
  .cta__wrap {
    width: 89%;
  }
}

.cta__title {
  text-align: center;
  color: #ffffff;
  font-size: 36px;
}
@media (max-width: 1199px) {
  .cta__title {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .cta__title {
    font-size: 22px;
  }
}
.cta__title span {
  font-size: 12px;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  display: block;
}

.cta__message {
  color: #ffffff;
  margin-top: 50px;
  line-height: 180%;
}
@media (max-width: 767px) {
  .cta__message {
    font-size: 15px;
  }
}

.cta__btn a {
  text-decoration: none;
  background-color: #ffffff;
  padding: 15px;
  text-align: center;
  margin-top: 50px;
  color: #666666;
  display: block;
  width: 350px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1200px) {
  .cta__btn a {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .cta__btn a:hover {
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    background-color: #666666;
    color: #ffffff;
  }
}
@media (max-width: 767px) {
  .cta__btn a {
    max-width: 300px;
    width: 90%;
  }
}

.article {
  padding: 100px 0;
  max-width: 850px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .article {
    max-width: 650px;
    width: 95%;
  }
}
@media (max-width: 767px) {
  .article {
    width: 89%;
    padding: 60px 0;
  }
}

.article__title {
  font-size: 36px;
  font-weight: 300;
  padding-bottom: 30px;
}
@media (max-width: 1199px) {
  .article__title {
    font-size: 28px;
  }
}

.article__link span {
  margin-right: 10px;
}
.article__link a {
  text-decoration: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 30px;
}
.article__link a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../img/works/arrow-icon.png) no-repeat center/cover;
}

.article__img {
  padding-top: 30px;
}
.article__img img {
  display: block;
  width: 100%;
}

.article__contents__label {
  margin: 40px 0;
  font-size: 32px;
  font-weight: 300;
}
@media (max-width: 1199px) {
  .article__contents__label {
    font-size: 24px;
  }
}

.article__content dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .article__content dl {
    display: block;
  }
}
.article__content dl:not(:last-of-type) {
  margin-bottom: 24px;
}
.article__content dl dt {
  width: 200px;
  font-size: 20px;
}
@media (max-width: 1199px) {
  .article__content dl dt {
    width: 180px;
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .article__content dl dt {
    font-size: 20px;
    font-weight: 700;
  }
}
@media (max-width: 767px) {
  .article__content dl dt {
    width: 100%;
  }
}
.article__content dl dd {
  margin: 0;
  width: calc(100% - 200px);
  line-height: 180%;
}
@media (max-width: 1199px) {
  .article__content dl dd {
    width: calc(100% - 180px);
  }
}
@media (max-width: 767px) {
  .article__content dl dd {
    width: 100%;
    margin-top: 10px;
    font-weight: 300;
  }
}
.article__content dl .range span {
  padding: 0 15px;
  position: relative;
}
.article__content dl .range span:first-of-type {
  padding-left: 0;
}
.article__content dl .range span:not(:last-of-type)::after {
  position: absolute;
  content: "/";
  top: 50%;
  right: -4px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 18px;
}

.return__btn a {
  display: block;
  margin-top: 60px;
  width: 250px;
  margin-right: auto;
  margin-left: auto;
  padding: 15px 30px;
  text-align: center;
  text-decoration: none;
  background-color: #666666;
  color: #ffffff;
}

/*************************************************************************************
お問い合わせ
**************************************************************************************/
.contact {
  padding: 100px 0;
  max-width: 850px;
  width: 95%;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1199px) {
  .contact {
    padding: 80px 0;
  }
}
@media (max-width: 767px) {
  .contact {
    padding: 60px 0;
    width: 89%;
  }
}

.contact__message {
  text-align: center;
}

.snow-monkey-form {
  max-width: 650px;
  width: 98%;
  margin-right: auto;
  margin-left: auto;
  padding-top: 80px;
  padding-bottom: 120px;
  font-family: "Lato", sans-serif;
}
@media (max-width: 1199px) {
  .snow-monkey-form {
    width: 95%;
  }
}
@media (max-width: 767px) {
  .snow-monkey-form {
    width: 89%;
    padding-top: 40px;
    padding-bottom: 80px;
  }
}

/*************************************************************************************
入力ページ
**************************************************************************************/
.wp-block-snow-monkey-forms-item {
  margin-top: 16px;
}
.wp-block-snow-monkey-forms-item .smf-item__label .smf-item__label__text {
  display: block;
  margin-bottom: 12px;
}
.wp-block-snow-monkey-forms-item .smf-item__label .smf-item__label__text strong {
  font-size: 12px;
  padding: 1px 8px;
  color: #ffffff;
  background-color: #83B4D0;
  margin-left: 20px;
  font-weight: 300;
  border-radius: 2px;
}
.wp-block-snow-monkey-forms-item .smf-item__description {
  color: #030A28;
  font-size: 14px;
  margin: 3px 0;
}
.wp-block-snow-monkey-forms-item .smf-checkboxes-control__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
.wp-block-snow-monkey-forms-item .smf-checkboxes-control__control .smf-label .smf-checkbox-control__control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  width: 19px;
  height: 19px;
  border-radius: 0;
  border-color: #dddddd;
  background-color: #F6F6F6;
}
.wp-block-snow-monkey-forms-item .smf-checkboxes-control__control .smf-label .smf-checkbox-control__control::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 3px solid #83B4D0;
  border-left: 3px solid #83B4D0;
  content: "";
  display: block;
  height: 10px;
  left: 0;
  margin-top: -3px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 110%;
}
.wp-block-snow-monkey-forms-item .smf-checkboxes-control__control .smf-label .smf-checkbox-control__control:checked::after {
  opacity: 1;
}
.wp-block-snow-monkey-forms-item .smf-text-control__control, .wp-block-snow-monkey-forms-item .smf-textarea-control__control {
  border-radius: 0;
  border-color: #dddddd;
  background-color: #F6F6F6;
}
.wp-block-snow-monkey-forms-item .smf-textarea-control__control {
  resize: none;
  min-height: 300px;
}

.privacy-check {
  max-width: 270px;
  width: 100%;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.privacy-check .smf-item__description {
  margin-top: -20px;
  padding-bottom: 20px;
  padding-left: 30px;
}
.privacy-check .smf-checkboxes-control__control {
  margin-top: -20px;
  display: block;
}

.smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 54px;
}
.smf-action .smf-button-control .smf-button-control__control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  max-width: 274px;
  min-width: 230px;
  width: 100%;
  color: #ffffff;
  letter-spacing: 0.09em;
  background: linear-gradient(137deg, rgb(175, 153, 176), rgb(192, 182, 182) 25%, rgb(132, 180, 208));
  border: 1px solid linear-gradient(137deg, rgb(175, 153, 176), rgb(192, 182, 182) 25%, rgb(132, 180, 208));
  padding: 14px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}
@media (min-width: 1200px) {
  .smf-action .smf-button-control .smf-button-control__control {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .smf-action .smf-button-control .smf-button-control__control:hover {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.6;
  }
}

/*************************************************************************************
確認画面
**************************************************************************************/
[data-screen=confirm] .smf-form .wp-block-snow-monkey-forms-item {
  margin-top: 24px;
}
[data-screen=confirm] .smf-form .privacy-check {
  display: none !important;
}
[data-screen=confirm] .smf-action .smf-button-control:first-of-type .smf-button-control__control {
  background: gray;
  border-color: gray;
}
@media (max-width: 767px) {
  [data-screen=confirm] .smf-action {
    display: block !important;
  }
  [data-screen=confirm] .smf-action .smf-button-control:first-of-type .smf-button-control__control {
    margin-bottom: 10px;
  }
  [data-screen=confirm] .smf-action .smf-button-control .smf-button-control__control {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

/*************************************************************************************
完了画面
**************************************************************************************/
.thanks__text {
  margin: 24px 0;
}
@media (max-width: 767px) {
  .thanks__text {
    max-width: 450px;
    width: 89%;
    margin: 24px auto;
    text-align: left;
  }
}

.thanks__btn a {
  min-width: 250px;
  font-size: 16px;
}