@charset "UTF-8";

/****************************
top > main-visual
******************************/
/*pcカラムレイアウト*/
.main-visual ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  padding: 0;
  width: 90%;
  margin: 0 auto;
}

.main-visual ul li {
  margin: auto;
}

.div1 {
  grid-area: 1 / 1 / 2 / 3;
}

.div2 {
  grid-area: 1 / 3 / 2 / 4;
}

.div3 {
  grid-area: 1 / 4 / 2 / 5;
}

.div4 {
  grid-area: 2 / 1 / 3 / 2;
}

.div5 {
  grid-area: 2 / 2 / 3 / 4;
}

.div6 {
  grid-area: 2 / 4 / 3 / 5;
}

.div7 {
  grid-area: 1 / 5 / 3 / 6;
}

.div8 {
  grid-area: 1 / 6 / 2 / 7;
}

.div9 {
  grid-area: 2 / 6 / 3 / 7;
}

.div10 {
  grid-area: 3 / 1 / 4 / 2;
}

.div11 {
  grid-area: 3 / 2 / 4 / 3;
}

.div12 {
  grid-area: 3 / 3 / 4 / 4;
}

.div13 {
  grid-area: 3 / 4 / 4 / 6;
}

.div14 {
  grid-area: 3 / 6 / 4 / 7;
}

/*spカラムレイアウト*/
@media screen and (max-width: 960px) {
  .main-visual ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(6, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }

  .div1 {
    grid-area: 1 / 1 / 2 / 3;
  }

  .div2 {
    grid-area: 1 / 3 / 2 / 4;
  }

  .div3 {
    grid-area: 2 / 1 / 3 / 2;
  }

  .div4 {
    grid-area: 2 / 2 / 3 / 3;
  }

  .div5 {
    grid-area: 4 / 2 / 5 / 4;
  }

  .div6 {
    grid-area: 4 / 1 / 5 / 2;
  }

  .div7 {
    grid-area: 2 / 3 / 4 / 4;
  }

  .div8 {
    grid-area: 3 / 1 / 4 / 2;
  }

  .div9 {
    grid-area: 3 / 2 / 4 / 3;
  }

  .div10 {
    grid-area: 5 / 1 / 6 / 2;
  }

  .div11 {
    grid-area: 5 / 2 / 6 / 3;
  }

  .div12 {
    grid-area: 5 / 3 / 6 / 4;
  }

  .div13 {
    grid-area: 6 / 1 / 7 / 3;
  }

  .div14 {
    grid-area: 6 / 3 / 7 / 4;
  }
}

.main-visual {
  width: 100%;
}

.main-text-item {
  display: inline-block;
  vertical-align: top;
  margin: 0;
}

.text-large {
  font-size: var(--title-font);
}

.text-small {
  font-size: var(--large-font);
  padding: 10px 0;
}

.main-text {
  text-align: left;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
}

.word {
  position: absolute;
  opacity: 0;
}

.letter {
  display: inline-block;
  position: relative;
  transform: translateZ(25px);
  transform-origin: 50% 50% 25px;
}

.letter.out {
  transform: rotateX(90deg);
  transition: transform 0.32s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.letter.behind {
  transform: rotateX(-90deg);
}

.letter.in {
  transform: rotateX(0deg);
  transition: transform 0.38s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.wisteria {
  color: #757577;
}

.belize {
  color: #00afec;
}

.pomegranate {
  color: #489928;
}

.green {
  color: #e4007f;
}

/****************************
top > about
******************************/
#top-about {
  overflow-x: hidden;
}

#top-about .inner {
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  text-align: left;
}

.catchcopy-wrap {
  font-size: clamp(5rem, 2.091rem + 9.091vw, 13rem);
  font-family: lato, sans-serif;
  line-height: 1.1;
  width: 50%;
}

.catchcopy-first {
  font-weight: 400;
}

.catchcopy-second {
  font-weight: 300;
}

.catchcopy-third {
  font-weight: 400;
}

.catchtext-wrap {
  letter-spacing: 0.2rem;
  line-height: 1.8;
  position: relative;
  width: 50%;
}

.catchtext {
  margin-bottom: 30px;
  line-height: 3;
}

@media screen and (max-width: 960px) {
  #top-about .inner {
    padding: 40px 0;
    flex-direction: column;
  }

  .catchcopy-wrap {
    width: 100%;
    font-weight: 600;
  }

  .catchcopy-second {
    font-weight: 100;
  }

  .catchtext-wrap {
    width: 100%;
  }

  .catchtext {
    line-height: 2.2;
  }
}

/*流れる背景テキスト*/
.loop {
  width: 30px;
  overflow: hidden;
}

.loop-text {
  display: inline-block;
  font-family: lato, sans-serif;
  font-size: clamp(8rem, 4.364rem + 11.364vw, 18rem);
  margin-top: -100px;
  padding-left: 0%;
  white-space: nowrap;
  line-height: 1em;
  letter-spacing: 0;
  animation: scroll 100s linear infinite;
  position: absolute;
  z-index: -1;
  background: linear-gradient(90deg, #97d7f3 0%, #b376b6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.1;
}

#page-about .loop-text {
  position: initial;
  margin-top: -220px;
}

/* アニメーション（右から左に移動） */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

/****************************
top > works
******************************/
#top-works {
  padding-top: 100px;
  padding-bottom: 120px;
}

#top-works .works-archive-article-wrap {
  padding-top: 40px;
  padding-bottom: 20px;
}

.topworks-archive-article-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 5px;
  justify-content: center;
  padding-top: 40px;
  padding-bottom: 20px;
}

.top-article-eyecatch {
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
}

.top-article-eyecatch .caption {
  position: absolute;
  bottom: 14px;
  padding: 0 14px;
  color: #fff;
}

.top-article-eyecatch .caption .company-name {
  color: #cbcbcb;
  font-size: var(--small-font);
}

.top-article-eyecatch .caption .archive-content-title {
  font-size: var(--basic-font);
  line-height: 1.4;
}

.top-article-eyecatch .mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.7);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.top-article-eyecatch:hover .mask {
  opacity: 1;
}

.article-eyecatch img {
  aspect-ratio: 1;
  object-fit: cover;
  height: auto;
  transition: transform 0.6s ease;
}

.article-eyecatch:hover img {
  transform: scale(1.1);
}

@media screen and (max-width: 960px) {
  #top-works {
    padding-top: 20px;
    padding-bottom: 50px;
  }

  .topworks-archive-article-wrap {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

/****************************
top > service
******************************/
#top-service {
  padding-top: 150px;
  padding-bottom: 150px;
  mix-blend-mode: difference;
  color: #fff;
}

#top-service .inner {
  display: flex;
  justify-content: space-around;
  column-gap: 60px;
}

.top-service-list {
  display: flex;
  flex-direction: column;
}

.service-title {
  width: 30%;
}

/*hover時に画像がマウス追従*/
.menuItem-link {
  cursor: pointer;
  position: relative;
  display: block;
  width: fit-content;
}

.menuItem-img {
  z-index: -1;
  position: fixed;
  width: 320px;
  max-height: 240px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, clip-path 0.5s ease-out, left 0.6s ease-out,
    top 0.6s ease-out, transform 0.6s ease-out;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

@media screen and (max-width: 960px) {
  #top-service {
    padding-top: 0;
    padding-bottom: 60px;
  }

  #top-service .inner {
    flex-direction: column;
  }

  .service-title {
    width: 100%;
  }
}

/*私たちにできることリスト*/
.top-service-item {
  text-align: left;
  padding: 20px 10px;
  mix-blend-mode: difference;
  border-top: 1px solid #fff;
}

.top-service-item a {
  color: #fff;
}

.top-service-item:last-child {
  border-bottom: 1px solid #fff;
}

.top-service-item-title span {
  font-family: "Lato", sans-serif;
  font-size: var(--large-font);
  line-height: 1.2;
}

.top-service-item-title h3 {
  font-size: var(--basic-font);
  color: var(--gray);
}

/*私たちにできること本文*/
.top-service-content {
  margin-top: 10px;
  font-size: var(--basic-font);
}

.top-service-content-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  margin-top: 10px;
}

/****************************
top > topics
******************************/
#top-topics {
  padding-top: 100px;
  padding-bottom: 120px;
}

.top-topics-content {
  padding-top: 40px;
  padding-bottom: 20px;
  display: grid;
  /* grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); */
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 30px;
  justify-content: center;
}

.poster {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 5px;
  font-size: var(--basic-font);
}

.avatar {
  width: 30px;
}

.topics_img {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
}

.topics_list img {
  height: auto;
  transition: transform 0.6s ease;
}

.topics_list:hover img {
  transform: scale(1.1);
}

@media screen and (max-width: 1260px) {
  .top-topics-content {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 960px) {
  #top-topics {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 767px) {
  .top-topics-content {
    grid-template-columns: repeat(1, 1fr);
  }
}

/****************************
about・service > 共通
******************************/
.page-wrap {
  max-width: 1200px;
  margin: 30px auto 0;
  display: flex;
  justify-content: space-between;
}

/*メインエリア*/
.page-main {
  width: calc(100% - 260px);
  /* overflow: hidden; */
}

.page-item {
  padding-top: 100px;
  text-align: left;
}

/*サイドバー*/
.sidebar {
  width: 240px;
}

.widget--fixed {
  position: sticky;
  top: 100px;
  text-align: left;
}

.widget-item {
  padding: 6px 0;
  font-size: var(--middle-font);
}

.widget-item a {
  color: var(--gray);
}

/*クリックイベント*/
.widget-item a.active {
  color: #000;
  position: relative;
}

.widget-item a.active:before {
  position: absolute;
  right: calc(100% + 20px);
  top: 50%;
  content: "";
  display: block;
  height: 1px;
  background-color: #291b08;
  width: 10px;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

@media screen and (min-width: 960px) {
  .pc-none {
    display: none;
  }
}

@media screen and (max-width: 960px) {
  .sidebar {
    width: 90%;
  }

  .widget-item a.active:before {
    display: none;
  }

  .page-wrap {
    flex-direction: column;
    /* row-gap: 30px; */
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--gray);
  }

  .page-main {
    width: 100%;
  }

  .widget-list {
    display: none;
    /* display: flex;
    flex-wrap: wrap;
    column-gap: 50px; */
  }

  .widget-item {
    padding: 2px 0;
  }
}

/****************************
about > about
******************************/
#page-about {
  margin: 40px 0 120px;
}

/*philosophy*/
#item-philosophy {
  padding-top: 0;
}

.philosophy-text {
  padding: 30px 0;
}

.philosophy-text p {
  padding: 10px 0;
  line-height: 2.6;
}

/*outline*/
.outline-table {
  margin: 40px auto;
  width: 100%;
}

.outline-table th,
.outline-table td {
  padding: 14px;
  text-align: left;
  border-bottom: 1px solid #c0c0c0;
}

.outline-table th {
  border-color: #000;
}

/*access*/
#page-about iframe {
  margin-top: 40px;
}

@media screen and (max-width: 960px) {
  #page-about {
    margin: 40px 0 60px;
  }

  .philosophy-text p {
    line-height: 2;
  }

  .outline-table tr {
    display: flex;
    flex-direction: column;
  }

  .outline-table th,
  .outline-table td {
    padding: 7px;
  }

  .outline-table th {
    border-bottom: none;
    padding-bottom: 0;
  }

  #page-about iframe {
    margin-top: 10px;
  }
}

/****************************
service > service
******************************/
#page-service {
  margin: 40px 0 120px;
}

/*各SERVICEメインエリア*/
#item-planning {
  padding-top: 0;
}

#page-service .page-item img {
  margin: 20px 0 10px;
}

.type-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  padding-bottom: 20px;
}

.planning-title {
  font-weight: 600;
  font-size: var(--midium-font);
  display: block;
  margin-bottom: 5px;
}

.planning-list {
  padding-top: 10px;
}

.planning-list li {
  padding: 5px 0;
}

@media screen and (max-width: 960px) {
  #page-service {
    margin: 40px 0 60px;
  }

  .page-item {
    padding-top: 40px;
  }
}

/****************************
topics > archive
******************************/
#archive-topics {
  margin: 40px 0 120px;
}

.category-list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 60px;
  row-gap: 20px;
  text-transform: uppercase;
  margin: 60px 0;
  font-weight: bold;
}

.archive-article-wrap {
  display: grid;
  /* grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); */
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  justify-content: center;
}

.archive-article-wrap article {
  display: grid;
  grid-template-rows: subgrid;
}

.article_item_body {
  text-align: left;
}

.topics_list img {
  aspect-ratio: 16/9;
  object-fit: cover;
}

.topics-item-wrap {
  display: flex;
  column-gap: 10px;
  padding-top: 5px;
  font-size: var(--basic-font);
}

.topics-item-wrap time {
  border-right: 1px solid var(--gray);
  padding-right: 10px;
}

.archive-content-title {
  text-align: left;
}

.current-cat a,
.current-all a {
  border-bottom: 2px solid #333;
  padding-bottom: 5px;
}

@media screen and (max-width: 1260px) {
  .archive-article-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 960px) {
  #archive-topics {
    margin: 40px 0 30px;
  }

  .category-list {
    column-gap: 30px;
    row-gap: 10px;
    text-transform: uppercase;
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  .archive-article-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/****************************
topics > single
******************************/
#single-topics {
  margin: 40px 0 120px;
}

.article-container {
  margin-top: 60px;
}

.content-title {
  text-align: left;
  font-size: var(--xmidium-font);
}

.content-body {
  text-align: left;
  padding-top: 20px;
  display: flex;
  flex-direction: column;
}

.content-body p {
  margin: 20px 0;
}

.content-body img {
  filter: drop-shadow(0 0 10px #eee);
}

.content-wrap {
  display: flex;
  column-gap: 30px;
  padding-bottom: 60px;
}

.content-wrap img {
  max-width: 600px;
  width: 50%;
}

.content-footer {
  text-transform: uppercase;
  margin-top: 80px;
  font-weight: bold;
}

.content-nav {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--gray);
}

.content-nav-top {
  border-bottom: none;
}

.back-list-wrap {
  text-align: center;
  padding: 10px 0;
}

.wp-block-image :where(figcaption) {
  font-size: var(--small-font);
}

@media screen and (max-width: 960px) {
  #single-topics {
    margin: 40px 0 30px;
  }

  .content-body {
    padding-top: 10px;
  }

  .content-body img {
    width: 100%;
  }

  .article-container {
    margin-top: 20px;
  }

  .content-footer {
    margin-top: 40px;
  }

  .content-wrap {
    flex-direction: column;
    padding-bottom: 0;
  }

  .content-nav-list {
    padding: 30px 0;
  }
}

/****************************
works > archive
******************************/
#archive-works {
  margin: 40px 0 120px;
  text-align: left;
}

.works-archive-article-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  justify-content: center;
}

#archive-works .works-archive-article-wrap {
  row-gap: 40px;
}

.works-archive-eyecatch {
  /*   aspect-ratio: 1.5; */
  overflow: hidden;
}

.works-article-eyecatch img {
  aspect-ratio: 1.5;
  object-fit: cover;
  height: auto;
  transition: transform 0.6s ease;
}

.works-article-eyecatch:hover img {
  transform: scale(1.1);
}

.current {
  border-bottom: 2px solid #333;
  padding-bottom: 5px;
}

.content-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 5px;
}

.tag-item {
  background: #acacac;
  color: #fff;
  font-size: var(--small-font);
  padding: 2px 10px;
  white-space: nowrap;
}

@media screen and (max-width: 960px) {
  #archive-works {
    margin: 40px 0 60px;
  }

  .current {
    padding-bottom: 0;
  }

  .works-archive-article-wrap {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
  }
}

/****************************
works > single
******************************/
#single-works {
  margin: 40px 0 120px;
}

.company-name {
  text-align: left;
  color: #5c5c5c;
  font-size: var(--basic-font);
  padding-top: 10px;
  padding-bottom: 3px;
}

.content-title-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 20px;
  border-bottom: 1px solid var(--gray);
  padding-bottom: 14px;
}

.content-tag a {
  background: #acacac;
  color: #fff;
  font-size: var(--basic-font);
  padding: 7px 10px;
}

.content-nav-list {
  line-height: 2.4;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  row-gap: 5px;
  width: 100%;
}

.content-nav-list dt {
  width: 100px;
  font-weight: bold;
}

.content-nav-list dd {
  width: calc(100% - 100px);
}

.content-detail {
  margin-top: 30px;
}

.wp-block-image img {
  margin-top: 30px;
}

/*関連実績*/
#splide-works .splide__list {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}

#splide-works .splide__slide {
  max-width: 230px;
}

.connection-works .post-list img {
  aspect-ratio: 1;
  object-fit: cover;
}

.connection-works .top-title {
  font-size: var(--large-font);
  padding-top: 80px;
}

.connection-works .top-sub-title {
  padding-bottom: 20px;
}

.connection-works {
  overflow: hidden;
}

.connection-works .splide__track {
  overflow: visible;
  margin-right: 30px;
}

@media screen and (max-width: 960px) {
  #single-works {
    margin: 20px 0 30px;
  }

  .content-tag a {
    padding: 3px 10px;
  }

  .content-nav-list dt {
    width: 100%;
    border-bottom: solid 1px var(--gray);
    padding-bottom: 5px;
  }

  .content-nav-list dd {
    width: 100%;
  }

  .connection-works .top-title {
    font-size: var(--large-font);
    padding-top: 40px;
  }
}

/****************************
pagination
******************************/
.pagination__btn--last,
.pagination__btn--first,
.pagination__btn--next,
.pagination__btn--prev,
.pagination__item a,
.pagination__item--current {
  display: block;
  color: #000;
  text-align: center;
  border-radius: 50vw;
  min-width: 2em;
  transition: all 0.2s;
  padding: calc(1em - 4px) 1em;
}

@media (min-width: 520px) {

  .pagination__btn--last,
  .pagination__btn--first,
  .pagination__btn--next,
  .pagination__btn--prev,
  .pagination__item a,
  .pagination__item--current {
    margin: 0 0.28em;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  color: #a4a4a4;
  line-height: 1;
  margin: 0;
  padding-top: 60px;
}

.pagination__list {
  display: none;
}

.pagination__item {
  margin: 0;
}

.pagination__item--current {
  background: #000;
  color: #fff;
  border-color: #000;
  margin: 0 0.28em;
}

.pagination__pos {
  order: 2;
  margin: 0 1em;
  padding: 0.5em;
}

.pagination__btn--prev {
  order: 1;
}

.pagination__btn--next {
  order: 3;
}

.pagination__btn--first {
  display: none;
}

.pagination__btn--last {
  display: none;
}

@media (min-width: 520px) {
  .pagination__list {
    order: 2;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .pagination__pos {
    display: none;
  }

  .pagination__btn--prev {
    margin-right: 1.14em;
  }

  .pagination__btn--next {
    margin-left: 1.14em;
  }
}

@media (min-width: 960px) {
  .pagination__list {
    order: 3;
  }

  .pagination__btn--prev {
    order: 2;
  }

  .pagination__btn--next {
    order: 4;
  }

  .pagination__btn--first {
    order: 1;
    display: block;
  }

  .pagination__btn--last {
    order: 5;
    display: block;
  }
}

/****************************
contact
******************************/
#page-contact,
#page-contact-confirm,
#page-contact-thanks {
  margin: 40px 0 120px;
  text-align: left;
}

.contact-inner {
  max-width: 970px;
}

.contact-read {
  padding: 60px 0;
}

.form_container {
  margin: 0 auto;
}

.radio_btn,
.checkbox_btn {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 30px;
}

.radio_btn label,
.checkbox_btn label {
  display: flex;
}

.form_container th,
.radio_btn span,
.checkbox_btn span {
  white-space: nowrap;
}

.form_container th {
  position: relative;
  min-width: 240px;
  vertical-align: top;
  padding: 1em 0;
}

.subject {
  padding: 2em 0 !important;
}

.Required {
  background: #e8373d;
  color: #fff;
  font-size: var(--small-font);
  border-radius: 50vw;
  padding: 2px 10px;
  position: absolute;
  right: 10px;
}

.optional {
  font-size: var(--basic-font);
  font-weight: 500;
  color: var(--gray);
}

.formTable tr td {
  padding: 1em;
  text-align: left;
  line-height: 1.5;
}

.formTable tr select,
.formTable tr textarea,
.formTable tr .wide {
  width: 100%;
  padding: 20px;
  font-size: 1.6rem;
  outline: none;
  border: none;
  background: #f5f5f5;
}

::placeholder {
  color: #a6a8a9;
  line-height: 1.5;
}

::-webkit-input-placeholder {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    Meiryo, sans-serif;
  font-size: 1.6rem;
}

.formTable tr textarea {
  height: 10em;
}

.box_check {
  text-align: center;
  margin: 15px auto;
}

.under-line {
  color: #2a5aa0;
}

/*完了画面のstyle*/
.thanks-title {
  margin-top: 60px;
}

.thanks-text {
  margin-top: 30px;
}

/*IOSのstyleをリセット（記述要）*/
input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

.form-btn-wrap {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.btn input {
  display: inline-block;
  background: #000;
  margin-bottom: 30px;
  padding: 20px 0;
  width: 320px;
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer;
  border: none;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.btn input:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.8;
}

.mw_wp_form .error {
  display: inline-block !important;
  margin-top: 5px;
}

.mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0 !important;
}

@media only screen and (max-width: 960px) {

  #page-contact,
  #page-contact-confirm,
  #page-contact-thanks {
    margin: 40px 0 60px;
  }

  .contact-read {
    padding: 30px 0;
  }

  .formTable tr th {
    width: 100%;
    display: block;
    padding: 0.8em 0.2em;
  }

  .subject {
    padding: 0.8em 0.2em !important;
  }

  .formTable tr td {
    padding: 0.5em 0;
    width: 100%;
    display: flex;
  }

  .btn input {
    padding: 14px 0;
    width: 240px;
  }

  .contact-text {
    margin: 60px 0 80px;
  }

  #contact-confirm .formTable tr td {
    flex-direction: row;
  }

  .Required {
    position: static;
    margin-left: 10px;
  }

  /*完了画面のstyle*/
  .thanks-title {
    margin-top: 30px;
  }

  .thanks-text {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 520px) {
  .contact-text {
    margin: 30px 0 40px;
  }

  .formTable tr th {
    padding: 0.5em 0.2em;
  }

  .subject {
    padding: 0.5em 0.2em !important;
  }

  .box_check {
    text-align: center;
    margin: 10px auto 20px;
  }

  .btn input {
    margin-bottom: 20px;
  }
}

/****************************
privacy-policy
******************************/
#page-privacy {
  margin: 40px 0 120px;
  text-align: left;
}

.privacy-read {
  padding: 60px 0;
}

.privacy-list h3 {
  padding-top: 24 px;
}

.privacy-list p {
  padding: 10px 0;
}

@media screen and (max-width: 960px) {
  #page-privacy {
    margin: 40px 0 60px;
  }

  .privacy-read {
    padding: 30px 0;
  }
}

/****************************
404 not-found
******************************/
#not-found {
  margin: 40px 0 120px;
}

.not-found-img {
  padding: 0 20%;
}

.not-found-title {
  font-size: var(--middle-font);
  padding: 20px 0;
}

.not-found-text {
  line-height: 2.2;
}

.not-found-btn {
  display: inline-block;
  width: 100%;
  max-width: 350px;
  border-radius: 50vw;
  margin-top: 60px;
  background: #4d9bc1;
  border: 2px solid #4d9bc1;
  padding: 1em 0;
  font-weight: bold;
  color: #fff;
  text-align: center;
  transition-duration: 0.3s;
}

.not-found-btn:hover {
  background: #fff;
  color: #4d9bc1;
}

@media screen and (max-width: 960px) {
  #not-found {
    margin: 40px 0 60px;
  }
}

h1 {
  display: none;
}