/*
Theme Name:空色
*/

/*リンクテキスト設定*/
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  font-style: normal;
}

html .zh-CN {
  font-family: 'Kaiti SC', 'SimSun', serif;
}

html .zh-CN .gos {
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}



html,
body {
  width: 100%;
}

body {
  line-height: 1.5;
  overflow: hidden;
}

a {
  text-decoration: none;
  transition: 0.5s;
  color: #000000;
}

a:visited {}

a:hover {
  opacity: 0.8;
  transition: 0.5s;
}

a:hover,
li:hover,
input:hover,
p:hover {
  transition: 0.5s;
}

/*フェードイン*/
.effect-fade {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 4000ms;
}

.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}

/*シャドウ*/
.shadow {
  box-shadow: 1px 1px 5px #999;
  -webkit-box-shadow: 1px 1px 5px #999;
  -moz-box-shadow: 1px 1px 5px #999;
}

.txshadow {
  text-shadow: 1px 1px 5px rgba(39, 51, 135, .90);
}

/*縦書き*/
.tategaki {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
}

/*明朝体*/
.min {
  font-family: 'Noto Serif JP', 'Noto Serif Japanese', "游明朝", YuMincho, 'Noto Serif JP', serif, sans-serif;
  font-display: swap;
}

/*ゴシック体*/
.gos {
  font-family: "Noto Sans JP", sans-serif;
}

.impact {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif
}

.abel {
  font-family: 'Abel', sans-serif;
}

.ropa {
  font-family: 'Ropa Sans', sans-serif;
}

.roboto {
  font-family: 'Roboto', sans-serif;
  font-weight: 100;
}

/*ページネーション*/
.pagenation {
  margin: 1em auto;
  clear: both;
  padding: 0 0 50px 0;
  width: 100%;
}

.pagenation:after,
.pagenation ul:after {}

.pagenation ul {
  margin: 0;
  text-align: center;
}

.pagenation li {
  list-style: none outside none;
  margin-left: 3px;
  display: inline-block;
  font-size: 1.6rem
}

.pagenation li:first-child {
  margin-left: 0;
}

.pagenation li.active {
  background-color: #999999;
  border-radius: 3px;
  color: #FFFFFF;
  cursor: not-allowed;
  padding: 10px 20px;
}

.pagenation li a {
  background: none repeat scroll 0 0 #CCCCCC;
  border-radius: 3px;
  color: #FFFFFF;
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.pagenation li a:hover {
  background-color: #000000;
  color: #FFFFFF;
  opacity: 0.8;
  transition-duration: 500ms;
  transition-property: all;
  transition-timing-function: ease;
}

.navigation.pagination {
  display: none;
}

/*拡大アニメーション*/
.zoom-1 img {
  width: 100%;
  height: auto;
  animation: animationZoom1 40s ease-in-out infinite;
}

.zoom {
  width: 300px;
  height: 200px;
  overflow: hidden;
  margin-bottom: 30px
}

@keyframes animationZoom1 {
  50% {
    transform: scale(1.1)
  }
}


/*非表示*/
.nodisplay {
  display: none;
}

/**
* 最大幅の指定と中央寄せ
*/
.container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 970px;
}

/**
* slick.js
*/
.slider {
  opacity: 0;
  transition: all 0.5s;
}

.slider.slick-initialized {
  opacity: 1;
}

.slide-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 5;
  cursor: pointer;
}

.prev-arrow {
  left: -2.5%;
  width: 1.25rem;
  height: 3.3rem;
}

.next-arrow {
  right: -2.5%;
  width: 1.25rem;
  height: 3.3rem;
}

.slick-dots li button:before {
  color: #fc3b9c !important;
}


/*.mv figure:after{animation: animationtoup 2s ease-in-out;}*/
.kaiketsu .block li.is-active figure:after {
  animation: animationpopup2 1s ease-in-out;
}

@keyframes animationZoomOut {
  0% {
    transform: scale(1.1)
  }

  100% {
    transform: scale(1.0)
  }
}

@keyframes animationtoleft {
  0% {
    right: -100%;
  }

  100% {
    right: 0
  }
}

@keyframes animationtodown {
  0% {
    top: -100%;
  }

  100% {
    top: 0
  }
}

@keyframes animationtoright {
  0% {
    left: -100%;
  }

  100% {
    left: 0
  }
}

@keyframes animationtoup {
  0% {
    bottom: -100%;
  }

  100% {
    bottom: 0
  }
}

@keyframes animationpopup {
  0% {
    transform: scale(0)
  }

  100% {
    transform: scale(1.0)
  }
}

@keyframes animationpopup2 {
  0% {
    transform: scale(0)
  }

  75% {
    transform: scale(0)
  }

  100% {
    transform: scale(1.0)
  }
}

#sb_instagram .sbi_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*固定ボタン*/

/*装飾*/


/*モーダルウインドウ*/
.ourbusiness-box {
  display: none;
  /* 初期状態で非表示 */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(90% - 5.0rem);
  padding: 2.5rem;
  background-color: white;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  z-index: 1001;
}

.ourbusiness-box.active {
  display: block;
  /* active クラスが付いたときに表示 */
}

.modal-overlay {
  display: none;
  /* 初期状態で非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 1000;
}

.modal-overlay.active {
  display: block;
  /* active クラスが付いたときに表示 */
}

#closeModal {
  transition: 0.5s all;
  cursor: pointer;
}



/*BASE*/
body {
  letter-spacing: 0.25em;
  color: #606060;
  font-weight: 200;
}

.content-area {
  background-color: #caeba5;
}

.home .content-area {
  background-color: #ffffff;
}

.pagehead {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 2.5rem 0;
  z-index: 2;
}

.pagehead.toppage {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
}

.pagehead .wrap {
  width: 99%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.pagehead .wrap .branding img {
  display: block;
  width: 100%
}

.pagehead.toppage .wrap .branding {
  width: 20%
}

.pagehead.subpage .wrap .branding {
  width: 19.4%
}

.pagehead .nav-wrap {
    width: 75%;
    max-width: 1100px;
    margin: 0 auto;
}

.pagehead .nav-wrap strong {
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    color: #ffffff;
    margin: 0 auto 1.5rem 0;
}


.pagehead .navigation {
  display: flex;
  justify-content: space-between;
  font-size: 1.6rem;
  width: 100%;
}

.pagehead .navigation a {
  color: #ffffff;
  letter-spacing: 0;
  padding: 0.5rem
}

.pagehead .navigation a:hover {
  background-color: #9bd153;
  border-radius: 0.5rem;
}

.site-footer {
  padding: 7.5rem 0;
}

.site-footer .banner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 5.0rem;
}

.site-footer .banner i {
  font-size: 1.4rem;
  margin-right: 0.5rem;
  font-weight: bold;
}

.site-footer .banner a {
  display: block;
}

.site-footer .banner a img {
  width: 24.0rem
}

.site-footer dl {
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
}

.site-footer dt {
  margin: 0 auto 2.5rem auto;
  text-align: center;
}

.site-footer dt i {
  font-size: 1.6rem;
  display: block;
  margin-bottom: 1.5rem;
}

.site-footer dt img {
  width: 19.0rem;
  margin: 0 auto;
}

.site-footer .navigation {
  display: flex;
  justify-content: space-between;
  font-size: 1.6rem;
  width: 100%;
}

.site-footer .nav-wrap strong {
  display: none;
}

.site-footer .navigation a {
  color: #aad975;
  letter-spacing: 0;
}

.site-footer .subnavi {
  width: 95%;
  max-width: 1000px;
  position: fixed;
  margin: 0 auto;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  padding: 0 0 2.5rem 0
}

.site-footer .subnavi li {
  width: 32%;
}

.site-footer .subnavi li a {
  display: block;
}

.site-footer .subnavi li img {
  width: 100%;
  display: block;
}

.sitedata {
  text-align: center;
  padding: 5.0rem 0 2.5rem 0;
}

.std {
  font-size: 4.2rem;
  text-align: center;
  color: #ffffff;
  padding: 2.5rem 0;
  font-weight: 100 !important;
}

/*トップページ*/
.video .inner {
  width: 100%;
  position: relative;
}
.video video {
  width: 100%;
  height: auto;
  display: block;
}
.video .text {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  color: #ffffff;
  font-size: 3.2rem;
  font-weight: bold;
  white-space: nowrap;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 1;
}


@media screen and (max-width: 599px) {
  .video .text {
    font-size: 1.8rem;
    white-space: normal;
    text-align: center;
    width: 90%;
  }
}

.home .mv {
    padding:4.8rem 0;
  background-color: #caeba5;
  position: relative;
  z-index: 1;
  background-image: url(images/bg_top_blue.png);
  background-size: 100% auto;
  background-position: bottom;
  background-repeat: no-repeat;
  padding-bottom: 2.5rem
}

.home .mv .bg {
  width: 110%;
  max-width: 1400px;
  margin: 0 auto;
  position: absolute;
  top: 5.0rem;
  left: -10%;
  right: 0
}

.home .mv .bg img {
  width: 100%;
  display: block;
}

.home .mv .inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.home .mv .inner .text {
  width: 90%;
  margin: 0 auto;
  max-width: 1100px;
}

.home .mv .inner .text .introduction {
  margin: 0 auto;
  padding:4.8rem 0
}

.home .mv .inner .text .introduction h2 {
  margin-bottom: 1.5rem;
}

.home .mv .inner .text .introduction h2 strong {
  display: block;
  font-weight: 500;
  letter-spacing: 0;
  font-size: 1.9rem;
  color: #ffffff;
  margin-bottom: 1.0rem;
}

.home .mv .inner .text .introduction h2 img {
  display: block;
  width: 100%
}

.home .mv .inner .text .introduction p {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 100;
}

.home .mv .inner .text .lineup {
  width: 90%;
  margin: 4.8rem auto;
}

.home .mv .inner .text .lineup h3 {
  margin-bottom: 1.5rem;
}

.home .mv .inner .text .lineup h3 img {
  height: 5.0rem;
  display: block;
}

.home .mv .inner .text .lineup ul {
  display: flex;
  flex-wrap: wrap;
}

.home .mv .inner .text .lineup li {
  width: 20%
}

.home .mv .inner .text .lineup li img {
  width: 80%;
  display: block;
  object-fit: contain;
  object-position: bottom;
  margin: 0 auto 1.5rem auto
}

.home .mv .inner .text .lineup li:first-child {
  width: 100%;
  display: flex;
  align-items: center;
}

.home .mv .inner .text .lineup li:first-child img {
  width: 25%;
  height: auto;
  margin: 1.5rem 0
}

.home .mv .inner .text .lineup li:first-child dl {
  padding: 1.5rem;
}

.home .mv .inner .text .lineup li:first-child dt {
  font-size: 2.0rem;
  font-weight: 700;
}

.home .mv .inner .text .lineup li:first-child dd {
  font-size: 1.8rem;
  letter-spacing: 0;
}

.home .mv .inner .text .lineup i {
  text-align: center;
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0;
}

.home .feature {
  padding: 5.0rem 0;
  position: relative;
}

.home .feature:before {
  content: '';
  width: 30.0rem;
  height: auto;
  aspect-ratio: 301 / 271;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(images/bg_glow_1.png);
  position: absolute;
  left: -5%;
  top: 0;
  z-index: 0;
}

.home .feature:after {
  content: '';
  width: 36.7rem;
  height: auto;
  aspect-ratio: 367 / 289;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(images/bg_glow_2.png);
  position: absolute;
  right: -5%;
  bottom: 40%;
  z-index: 0;
}

.home .feature .inner {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

.home .feature .inner h2 {
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 2;
}

.home .feature .inner h2 img {
  display: block;
  height: 5.0rem;
}

.home .feature ul {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.home .feature li {
  display: flex;
  margin-bottom: 2.5rem;
  align-items: center;
}

.home .feature li:nth-child(odd) {
  flex-direction: row-reverse;
}

.home .feature li figure {
  width: 50%;
}

.home .feature li figure img {
  display: block;
  width: 100%
}

.home .feature li .text {
  width: calc(50% - 3.0rem);
  padding: 1.5rem;
}

.home .feature li .text h3 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #aad975;
  margin-bottom: 1.5rem
}

.home .feature li .text p {
  font-size: 1.6rem;
  font-weight: 200;
  line-height: 2;
}

.home .facility-feature {
  padding: 5.0rem 0;
  position: relative;
}


.home .facility-feature .inner {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

.home .facility-feature .inner h2 {
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 2;
}

.home .facility-feature .inner h2 img {
  display: block;
  height: 5.0rem;
}

.home .facility-feature ul {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;

}

.home .facility-feature li {
  width:31%
}


.home .facility-feature li figure {
  width: 100%;
  margin-bottom: 1.6rem;
}

.home .facility-feature li figure img {
  display: block;
  width: 100%;
  border-radius: 1.5rem;
}

.home .facility-feature li .text {
  width: 100%;
}

.home .facility-feature li .text h3 {
  font-size: 2.0rem;
  font-weight: bold;
  color: #aad975;
  margin-bottom: 1.5rem
}

.home .facility-feature li .text p {
  font-size: 1.6rem;
  font-weight: 200;
  line-height: 2;
}

.home .advantages {
  padding: 5.0rem 0;
  position: relative;
}

.home .advantages:before {
  content: '';
  width: 31.9rem;
  height: auto;
  aspect-ratio: 319 / 243;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(images/bg_glow_3.png);
  position: absolute;
  left: -5%;
  top: 0;
  z-index: 0;
}

.home .advantages .inner h2 {
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 2;
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}

.home .advantages .inner h2 img {
  height: 7.5rem;
  display: block;
}

.home .advantages li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7.5rem 0;
  background-size: cover;
  background-position: center;
}

.home .advantages li figure {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
}

.home .advantages li figure img {
  width: 100%;
  display: block;
}

.home .advantages li .text {
  position: relative;
  z-index: 2;
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
}

.home .advantages li .text .wrap {
  width: calc(80% - 5.0rem);
  background-color: rgba(255, 255, 255, 0.90);
  padding: 2.5rem;
  position: relative;
}

.home .advantages li:nth-child(2) .text .wrap {
  margin: 0 0 0 auto
}

.home .advantages li .text .wrap img {
  width: 12.0rem;
  position: absolute;
  display: block;
  top: -5rem;
  right: -5rem
}

.home .advantages li .text h3 {
  font-size: 2.8rem;
  font-weight: bold;
  color: #aad975;
  margin-bottom: 1.5rem;
}

.home .advantages li .text p {
  font-size: 1.6rem;
  line-height: 2;
}

.guidance {
  padding: 5.0rem;
  background-color: #ffffff;
}

.guidance .inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
}

.guidance .inner dl {
  width: calc(50% - 5.0rem);
  padding: 2.5rem;
}

.guidance .inner dt {
  padding: 0 0 1.5rem 1.5rem;
}

.guidance .inner dt img {
  display: block;
  height: 10.6rem;
}

.guidance .for-user dd {
  background-color: #ecc200;
  background-image: url(images/bg_top_guidance_user.png);
  background-position: right;
  background-size: contain;
  background-repeat: no-repeat;
}

.guidance .for-user a {
  color: #ecc200;
}

.guidance .for-business dd {
  background-color: #ff7b9b;
  background-image: url(images/bg_top_guidance_business.png);
  background-position: right;
  background-size: contain;
  background-repeat: no-repeat;
}

.guidance .for-business a {
  color: #ff7b9b;
}

.guidance dd {
  padding: 2.5rem;
  border-radius: 1.5rem;
  aspect-ratio: 500 / 275;
  width: calc(100% - 5.0rem);
  height: calc(100% - 14.0rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.guidance dd span {
  color: #ffffff;
  font-size: 1.8rem;
  display: block;
  line-height: 2;
  margin-bottom: 2.5rem;
}

.guidance dd a {
  display: flex;
  width: 23.0rem;
  padding: 1.0rem;
  text-align: right;
  background-color: #ffffff;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  border-radius: 0.5rem;
  margin-top: 1.0rem;
}

.home section.information .inner {
  position: relative;
  z-index: 2;
}

.home section.information .inner h2 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 2.5rem auto;
}

.home section.information .inner h2 img {
  display: block;
  height: 5.0rem;
}

.home section.information {
  padding: 5.0rem 0;
  position: relative;
}

.home section.information:before {
  content: '';
  width: 30.4rem;
  height: auto;
  aspect-ratio: 304 / 134;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(images/bg_glow_4.png);
  position: absolute;
  left: -5%;
  top: 0;
  z-index: 0;
}

.home section.information .slider {
  max-width: 1400px;
  margin: 0 auto
}

.home section.information li {
  padding: 0 1.5rem
}

.home section.information li img {
  width: 100%;
  display: block;
  aspect-ratio: 300 / 210;
  object-fit: cover;
  object-position: center;
  height: auto
}

.home section.information li strong {
  display: block;
  font-size: 1.4rem;
}

.home section.information li strong .date {
  display: block;
}

.home section.information a.btn {
  display: flex;
  width: 23.0rem;
  padding: 1.0rem;
  text-align: right;
  background-color: #aad975;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  border-radius: 0.5rem;
  margin: 2.5rem auto 0 auto;
  color: #ffffff;
}

section.access {
  background-color: #caeba5;
  display: flex;
  justify-content: flex-end;
}

section.access iframe {
  width: 50%;
  display: block;
}

section.access .text {
  width: 50%;
  max-width: 550px;
  padding: 5.0rem 0
}

section.access .text h2 {
  margin-bottom: 2.5rem;
}

section.access .text h2 img {
  display: block;
  height: 5.0rem;
}

section.access .text dl {
  border-left: 1.3rem solid #ffffff;
  padding: 2.5rem;
  color: #ffffff;
}

section.access .text dt img {
  height: 9.3rem;
  display: block;
  margin-bottom: 1.5rem;
}

section.access .text .location {
  font-size: 1.6rem;
  line-height: 2;
}

section.access .tel-fax a,
section.access .tel-fax span {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  color: #ffffff;
  letter-spacing: 0.25em;
  line-height: 2;
}




/*ページ設定*/
.page-title {
  background-color: #caeba5;
  padding: 5.0rem 0 0 0;
  margin-bottom: -7.5rem;
}

.page-title .inner {
  max-width: 1100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  flex-direction: row-reverse;
}

.page-title .inner .mv {
  width: 40%;
  padding: 2.5rem 0 0 0
}

.page-title .inner .mv img {
  width: 100%;
  display: block;
}

.page-title .inner .text {
  width: 50%;
}

.page-title .inner .text h1 {
  margin-bottom: 2.5rem;
}

.page-title .inner .text h1 img {
  height: 6.0rem;
  display: block;
}

.page-title .inner .text p {
  color: #ffffff;
  font-size: 1.8rem;
  line-height: 2;
}

/*作業内容*/
.work section h2 img {
  display: block;
  height: 4.5rem;
}

.work section .introduction {
  display: flex;
  justify-content: flex-end;
}

.work section .introduction iframe,
.work section .introduction figure {
  width: 50%;
  max-width: 550px;
  aspect-ratio: 128 / 72;
  height: auto;
}

.work section .introduction figure img {
  display: block;
  width: 100%
}

.work section .introduction .text {
  width: calc(50% - 5.0rem);
  position: relative;
  top: 5.0rem
}

.work section .introduction .text dl {
  background-color: #9bd153;
  color: #ffffff;
  padding: 2.5rem;
}

.work section .introduction .text dt {
  font-size: 2.4rem;
  margin-bottom: 1.5rem;
  max-width: 500px;
}

.work section .introduction .text dd {
  font-size: 1.6rem;
  line-height: 2;
  max-width: 500px;
}

.work section .details {
  padding: 7.5rem 0;
  max-width: 1000px;
  margin: 0 auto
}

.work section .details li {
  display: flex;
  justify-content: space-around;
  flex-direction: row-reverse;
  align-items: center;
  margin-bottom: 5.0rem;
}

.work section .details li:last-child {
  margin-bottom: 0;
}

.work section .details li figure {
  width: 24%
}

.work section .details li figure img {
  display: block;
  width: 100%
}

.work section .details li .text {
  width: 70%
}

.work section .details li .text h3 {
  font-size: 2.4rem;
  margin-bottom: 1.5rem;
  font-weight: bold;
}

.work section .details li .text p {
  font-size: 1.6rem;
  line-height: 2;
}

.work section .extra {
  background-color: #ffffff;
  border-radius: 1.5rem;
  padding: 2.5rem;
  max-width: 940px;
  margin: 0 auto;
  color: #aad975;
}

.work section .extra figure {
  width: 50%;
  max-width: 34.0rem;
  float: left;
  margin: -9.5rem 2.5rem 2.5rem 0
}

.work section .extra figure img {
  width: 100%;
  display: block;
}

.work section .extra h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}

.work section .extra p {
  font-size: 1.6rem;
  line-height: 2;
}

.work .drone-show {
  background-color: #caeba5;
  padding-bottom: 5.0rem;
}

.work .drone-show h2 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 2.5rem auto;
}

.work .manufacturing {
  background-color: #caeba5;
}

.work .manufacturing h2 {
  margin: 0 0 2.5rem 1.5rem;
}

.work section.manufacturing .details {
  padding-bottom: 0;
}

.work .aerial {
  background-color: #caeba5;
  padding: 5.0rem 0
}

.work .aerial h2 {
  margin: 0 0 2.5rem 1.5rem;
}

.work .sports {
  background-color: #caeba5;
  padding: 5.0rem 0
}

.work .sports h2 {
  margin: 0 0 2.5rem 1.5rem;
}

.work .sports .introduction {
  margin-bottom: 10.0rem;
}

.work .otherworks {
  background-color: #caeba5;
  padding: 5.0rem 0;
}

.work .otherworks h2 {
  margin-bottom: 2.5rem;
}

.work .otherworks .wrap {
  max-width: 1000px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 2.5rem;
}

.work .otherworks li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem;
}

.work .otherworks li:last-child {
  margin-bottom: 0;
}

.work .otherworks li figure {
  width: 50%;
}

.work .otherworks li figure img {
  width: 100%;
  display: block;
}

.work .otherworks li .text {
  width: calc(50% - 5.0rem);
}

.work .otherworks li .text h3 {
  font-size: 2.4rem;
  margin-bottom: 2.5rem;
  font-weight: bold;
}

.work .otherworks li .text p {
  font-size: 1.6rem;
  line-height: 2;
}

.work .promises {
  padding: 5.0rem 0;
  background-color: #ffffff;
}

.work .promises .inner {
  max-width: 1000px;
  margin: 0 auto;
  background-image: url(images/bg_promises.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.work .promises h2 img {
  height: 7.2rem
}

.work .promises ul {
  width: 75%;
}

.work .promises li {
  display: flex;
  align-items: center;
  padding: 2.5rem 0;
  justify-content: space-between;
}

.work .promises li img {
  width: 12.0rem;
}

.work .promises li .text {
  width: calc(100% - 14.5rem);
  display: block;
  font-size: 1.6rem;
  line-height: 2;
}

/*お問い合わせ*/
.contact .page-title .inner .text h1 img {
  height: 10.0rem;
}

.contact_user .page-title .inner .text h1 img {
  height: 10.0rem;
}

.contact-tel {
  padding: 5.0rem 0;
  text-align: center;
  color: #ffffff;
}

.contact-tel h2 {
  font-size: 3.2rem;
  font-weight: 100;
}

.contact-tel .tel {
  font-size: 4.2rem;
}

.contact-tel .tel a {
  font-weight: 500;
  color: #ffffff;
}

.contact .page-title .inner .mv img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  height: auto;
}

.contact_user .page-title .inner .mv img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  height: auto;
}

/*よくある質問*/
.faq .block {
  background-color: #ffffff;
  padding: 2.5rem;
  width: calc(90% - 5.0rem);
  max-width: 900px;
  margin: 0 auto;
  border-radius: 2.5rem
}

.faq .block:not(:last-child) {
  margin-bottom: 5.0rem
}

.faq .block h2 {
  text-align: center;
  font-size: 3.2rem;
  padding: 0 0 2.5rem 0;
  font-weight: 100;
  color: #aad975;
}

.faq .block dl:not(:last-child) {
  margin-bottom: 5.0rem
}

.faq .block dt {
  font-size: 2.1rem;
  color: #aad975;
  display: flex;
  align-items: flex-start;
  margin-bottom: 2.5rem
}

.faq .block dt:before {
  content: 'Q';
  font-weight: 700;
  font-size: 4.0rem;
  margin-right: 0.5rem;
  line-height: 0;
}

.faq .block dd {
  font-size: 1.6rem;
  display: flex;
  align-items: flex-start;
  line-height: 1.8;
  padding-left: 2.5rem;
}

.faq .block dd:before {
  content: 'A';
  font-weight: 700;
  font-size: 3.2rem;
  margin-right: 0.5rem;
  line-height: 0;
  /*min-width:4.0rem; height: 4.0rem; display: flex; align-items: center; justify-content: center; background-color: #aad975; color: #ffffff; border-radius: 2.0rem;*/
}

.faq .block dd a {
  color: #aad975;
  text-decoration: underline;
}

.faq .block dd a.btn {
  display: block;
  width: fit-content;
  background-color: #aad975;
  color: #ffffff;
  padding: 0.5rem 1.5rem;
  text-decoration: none;
  border-radius: 0.5rem;
  margin-top: 1.0rem;
}

.faq .faq-list {
  padding: 5.0rem 0
}

/*ご利用までの流れ*/
.flow .page-title {
  margin-bottom: 0
}

.flow .page-title .mv img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.flow-description {
  padding: 7.5rem 0;
  background-color: #ffffff;
}

.flow-description .block {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
}

.flow-description .box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.0rem;
  align-items: center;
  border-radius: 2.5rem;
}

.flow-description .box figure {
  width: 30%;
}

.flow-description .box figure img {
  width: 100%;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.flow-description .box:nth-child(1) figure img {
  aspect-ratio: 4 / 3;
}

.flow-description .box:nth-child(3) figure img {
  aspect-ratio: 5 / 3;
}

.flow-description .box:nth-child(4) figure img {
  aspect-ratio: 2 / 3;
}

.flow-description .box:not(:last-child) {
  border-bottom: 2px solid #9bd153;
  padding-bottom: 5.0rem;
  position: relative;
}

.flow-description .box:not(:last-child)::after {
  content: '';
  width: 5.0em;
  height: 2.5rem;
  display: block;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #9bd153;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -2.7rem
}

.flow-description .text {
  width: 70%;
}

.flow-description .text h3 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #aad975;
  display: flex;
  align-items: center;
}

.flow-description .text h3 i {
  display: flex;
  width: 6.0rem;
  height: 6.0rem;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  background-color: #aad975;
  color: #ffffff;
  margin-right: 0.5rem;
}

.flow-description .text h3 i small {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0;
}

.flow-description .text p {
  font-size: 1.8rem;
  padding: 2.5rem
}

.flow-description .text dl {
  padding: 0 2.5rem
}

.flow-description .text dt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #aad975;
}

.flow-description .text dd {
  display: flex;
  margin: 1.0rem 0;
  justify-content: space-between;
}

.flow-description .text dd a {
  display: block;
  width: calc(48% - 3.0rem);
  border: 2px solid #aad975;
  border-radius: 1.5rem;
  padding: 1.5rem
}

.flow-description .text dd a:hover {
  background-color:
}

.flow-description .text dd i {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 500;
  color: #999999;
}

.flow-description .text dd a.tel i::before {
  content: '';
  width: 3.0rem;
  height: 3.0rem;
  display: block;
  background-image: url(images/icon_tel.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5rem;
}

.flow-description .text dd a.mail i::before {
  content: '';
  width: 3.0rem;
  height: 3.0rem;
  display: block;
  background-image: url(images/icon_mail.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-right: 0.5rem;
}

.flow-description .text dd a strong {
  font-size: 2.0rem;
  font-weight: 700;
  color: #9bd153;
}

.flow-description .text dd a.tel strong {
  font-size: 2.7rem
}

/*施設について*/
.facility .page-title {
  margin-bottom: 0;
}

/*メールフォーム*/
section.mailform {
  background-color: #ffffff;
  padding: 5.0rem 0 7.5rem 0
}

section.mailform h2 {
  font-size: 3.2rem;
  font-weight: 100;
  text-align: center;
  margin-bottom: 5.0rem;
}

section.mailform .note {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 5.0rem;
}

section.mailform table {
  border-top: 1px solid #ffffff;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 2.5rem auto;
  background-color: #ffffff;
  padding: 7.5rem 0;
  position: relative;
}

section.mailform th {
  border-bottom: 1px solid #ffffff;
  padding: 2.5rem;
  background-color: #ffffff;
  white-space: nowrap;
  font-size: 1.6rem;
  vertical-align: top;
}

section.mailform td {
  border-bottom: 1px solid #ffffff;
  padding: 2.5rem;
  font-size: 1.6rem
}

section.mailform th i {
  font-size: 1.0rem;
  display: inline-block;
  line-height: 1;
  position: relative;
  top: -1.0rem;
  color: #ac0000;
}

section.mailform td .line {
  display: block;
  align-items: center;
}

section.mailform td p>br {
  display: none;
}

section.mailform td .line:last-child {
  margin-top: 1.5rem
}

section.mailform td .line i {
  margin-right: 0.5rem;
}

.wpcf7-form-control-wrap[data-name="your-zipcode"] input {
  max-width: 200px
}

section.mailform td input:not([type="checkbox"]),
section.mailform td textarea {
  padding: 0.75rem;
  width: calc(100% - 1.5rem - 2px)
}

section.mailform td select {
  width: auto;
  width: 100%;
  font-size: 1.6rem;
  padding: 0.5rem;
  margin-bottom: 1.5rem;
}

section.mailform .wpcf7-list-item {
  display: block;
}

section.mailform .acceptance {
  text-align: center;
  margin-bottom: 5.0rem
}

section.mailform .acceptance label {
  display: flex;
  font-size: 1.6rem;
  justify-content: center;
}

section.mailform .acceptance label input {
  transform: scale(1.5);
  margin-right: 0.5rem;
}

section.mailform .submit {
  text-align: center;
  display: flex;
  flex-direction: column;
}

section.mailform .submit input {
  background-color: #9bd153;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  padding: 1.5rem 2.5rem;
  line-height: 1;
  font-size: 1.6rem;
  margin: 0 auto;
  border: 1px solid #9bd153;
  border-radius: 1.0rem;
}

section.mailform .submit input:after {
  content: '';
  display: block;
  width: 0.8rem;
  height: auto;
  aspect-ratio: 6896 / 11896;
  background-image: url(images/arrow_right_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: 1.5rem;
  position: relative;
  top: 0.1rem;
  cursor: pointer;
}

section.mailform .submit input:hover {
  background-color: #ffffff;
  color: #9bd153;
}

body.contact section.contact .mail {
  display: none;
}

section.mailform .wpcf7-radio label {
  display: flex;
}

section.mailform .wpcf7-radio label input {
  width: auto
}

section.mailform td .text {
  display: block;
  margin-top: 1.5rem;
  font-size: 1.4rem;
}

/*パスワード保護*/
.pwbox {
  width: 90%;
  max-width: 575px;
  margin: 0 auto;
}

.pwbox p {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 2.5rem
}

.post-password-form {
  display: grid;
  grid-template-columns: 1fr 150px;
  grid-template-rows: 50px;
}

.post-password-form input[type="password"] {
  border: 1px solid #ddd;
  padding: 0 1em;
}

.post-password-form input[type="submit"] {
  border: none;
  color: #ffffff;
  background: #063271;
  cursor: pointer;
}


.preparation-content {
  padding: 25.0rem 0 12.5rem 0
}

.preparation-content h2 {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.5rem;
}

.preparation-content p {
  font-size: 1.6rem;
  text-align: center;
}

.preparation-content .btn a {
  display: flex;
  width: 23.0rem;
  padding: 1.0rem;
  text-align: right;
  background-color: #ffffff;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  border-radius: 0.5rem;
  margin: 2.5rem auto 0 auto;
  color: #aad975;
}



/*固定ページ編集エリア*/
.editor-content {
  padding: 2.5rem 0 5.0rem 0
}

.editor-content .inner {
  background-color: #ffffff;
  padding: 5.0rem;
  border-radius: 1.5rem;
  width: calc(90% - 10rem);
  max-width: 1000px;
  margin: 0 auto;
}

.editor-content h2 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #9bd153;
  margin-bottom: 1.5rem
}

.editor-content h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #dddddd
}

.editor-content h4 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  border-left: 1.0rem solid #dddddd;
  padding-left: 0.5rem;
  /*position: relative; left:-1.5rem*/
}

.editor-content p {
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

.editor-content strong {
  font-weight: bold;
}

.editor-content em {
  font-style: italic;
}

.editor-content ul {
  padding-left: 1.5rem;
  margin-bottom: 2.5rem
}

.editor-content li {
  font-size: 1.6rem;
  list-style-type: disc;
}

.editor-content table {
  font-size: 1.6rem
}

.editor-content th {
  font-weight: bold;
}

.editor-content a {
  color: #000000;
  text-decoration: underline;
}

.editor-content a:hover {
  color: #000000;
}



/*投稿ページ*/
.single .title-box .std {
  padding: 5.0rem 0
}

.single .content-area {
  padding-top: 12.5rem
}

.single article {
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
}

.single article h1 .date {
  font-size: 1.6rem;
  display: block;
  text-align: center;
  padding: 2.5rem
}

.single article h1 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 5.0rem;
}

.single article .main-eyecatch {
  margin-bottom: 2.5rem
}

.single article .main-eyecatch img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
}

.single .postcontent {
  background-color: #ffffff;
  padding: 5.0rem;
  border-radius: 1.5rem;
}

.single .postcontent h2 {
  font-size: 2.0rem;
  font-weight: bold;
  color: #dddddd;
  margin-bottom: 1.5rem
}

.single .postcontent h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #dddddd
}

.single .postcontent h4 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  border-left: 1.0rem solid #dddddd;
  padding-left: 0.5rem;
  /*position: relative; left:-1.5rem*/
}

.single .postcontent p {
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

.single .postcontent strong {
  font-weight: bold;
}

.single .postcontent em {
  font-style: italic;
}

.single .postcontent ul {
  padding-left: 1.5rem;
  margin-bottom: 2.5rem
}

.single .postcontent li {
  font-size: 1.6rem;
  list-style-type: disc;
}

.single .postcontent table {
  font-size: 1.6rem
}

.single .postcontent th {
  font-weight: bold;
}

.single .postcontent a {
  color: #000000;
  text-decoration: underline;
}

.single .postcontent a:hover {
  color: #000000;
}

.navi-single {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  padding: 5.0rem 0
}

.navi-single p {
  display: inline-flex;
  align-items: center;
}

.navi-single a {
  font-weight: bold;
  padding: 0.5rem;
  color: #000000;
}

.navi-single a:hover {
  color: #000000;
}

.navi-single .list {
  margin: 0 2.5rem
}

.single .postcontent .linkbox {
  padding: 2.5rem 0;
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 5.0rem;
  background-color: #eeeeee;
}

.single .postcontent .linkbox a {
  display: block;
}

/*投稿一覧ページ*/
section.play-flow>.wrap {
  width: 98%;
  max-width: 1000px;
  margin: 0 auto;
}

.archive-wrap {
  max-width: 1000px;
  width: 95%;
  margin: 0 auto 7.5rem auto;
}

.no-mv {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 12.5rem 0 0 0
}

.archive-list {
  margin-bottom: 5.0rem;
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  width: 100%
}

.archive-list li {
  width: calc(31% - 5.2rem);
  padding: 2.5rem;
  margin: 0 1.16% 2.5rem 1.16%;
  background-color: #ffffff;
  border-radius: 1.0rem;
}

.archive-list li .image {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.5rem;
}

.archive-list li .image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 10 / 7;
}

.archive-list li .text {
  display: block;
  width: 100%;
}

.archive-list li .text i.date {
  font-size: 1.4rem;
  color: #000000;
  display: block;
}

.archive-list li .button {
  max-width: 18.4rem;
  margin: 0 auto;
  padding: 0;
}

.archive-list li .text strong {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  margin-bottom: 2.5rem;
}

/*404*/
.error-404 {
  padding: 10.0rem 0
}

.error-404 h1 {
  text-align: center;
  font-size: 3.2rem;
  color: #000000;
  margin-bottom: 2.5rem;
}

.error-404.not-found .button {
  width: 50%;
  max-width: 400px;
  margin: 0 auto;
  color: #ffffff;
}


/*国家資格案内LP*/
.license-guide .pagehead.subpage {
  display: none;
}

.license-guide .site-footer {
  position: relative;
}

.license-guide .site-footer .subnavi {
  position: absolute;
}

.license-guide .hamburger {
  display: none;
}

#license-guide .hero {
  display: flex;
  position: relative;
  overflow: hidden;
}

#license-guide .hero img {
  width: 100%;
  display: block;
}

#license-guide .introduction {
  background-color: #ffffff;
  padding: 5.0rem 0;
}

#license-guide .introduction .inner {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}

#license-guide .introduction .block {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.0rem;
}

#license-guide .introduction .block:last-child {
  margin-bottom: 0;
}

#license-guide .introduction .block.wide {
  display: block;
}

#license-guide .introduction .text {
  width: 50%;
}

#license-guide .introduction .wide .text {
  width: 100%;
}

#license-guide .introduction .text h2 {
  font-size: 4.2rem;
  font-weight: 800;
  color: #ecc200;
  margin-bottom: 2.5rem;
  white-space: nowrap;
  text-align: center;
}

#license-guide .introduction .lead {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
}

#license-guide .introduction .image {
  width: 45%;
}

#license-guide .introduction .wide .image {
  width: 100%;
  padding: 2.5rem 0;
  border: 0.5rem solid #ff7b9b;
  border-radius: 2.5rem
}

#license-guide .introduction .wide .image img {
  width: 80%;
  margin: 0 auto;
}

#license-guide .introduction img {
  width: 100%;
  display: block;
}

#license-guide .introduction dl {
  padding: 2.5rem 0;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

#license-guide .introduction dt {
  font-size: 3.2rem;
  font-weight: 800;
  color: #ffffff;
  background-color: #ecc200;
  padding: 1.5rem 2.5rem;
  border-radius: 0.5rem;
  text-align: center;
  margin-bottom: 2.5rem;
  width: 100%
}

#license-guide .introduction dt i {
  font-size: 4.8rem;
  font-weight: 800;
}

#license-guide .introduction dd {
  font-size: 1.8rem;
  width: 35%;
  margin-bottom: 2.5rem;
  font-weight: 600;
}

#license-guide .introduction dd figure {
  position: relative;
}

#license-guide .introduction dd figcaption {
  font-size: 2.8rem;
  font-weight: 800;
  color: #ecc200;
  align-items: center;
  display: flex;
  white-space: nowrap;
}

#license-guide .introduction dd figcaption i {
  font-size: 4.8rem;
  font-weight: 800;
  width: 5.2rem;
  height: 5.2rem;
  align-items: center;
  line-height: 1;
}

#license-guide .introduction dd figcaption:after {
  content: "";
  width: 100%;
  height: 0.25rem;
  background-color: #ecc200;
  display: block;
}

#license-guide .introduction dd figure img {
  aspect-ratio: 1 / 0.75;
  object-fit: cover;
}

/*#license-guide .introduction dd::before{ content: '●';color: #ecc200;}*/
#license-guide .introduction h3 {
  font-size: 3.2rem;
  font-weight: 800;
  color: #ff7b9b;
  margin-bottom: 1.5rem;
}

#license-guide .introduction .image.narrow {
  width: 40%
}

#license-guide .introduction .image.narrow img {
  width: 100%;
  display: block;
  margin-bottom: 2.5rem;
}

#license-guide .introduction p {
  font-size: 1.6rem
}

#license-guide .user-voice {
  padding: 5.0rem 0 2.5rem 0;
  color: #ffffff;
  background-color: #9bd153;
}

#license-guide .user-voice h2 {
  font-weight: 800;
  text-align: center;
  font-size: 3.2rem;
  color: #ffffff;
  margin-bottom: 2.5rem;
}

#license-guide .user-voice .block {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 2.5rem;
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  justify-content: space-between;
}

#license-guide .user-voice .block:nth-of-type(1) {
  margin-bottom: 2.5rem;
  border-bottom: 0.25rem dotted #ffffff
}

#license-guide .user-voice .block figure {
  width: 17.5%
}

#license-guide .user-voice .block figure img {
  width: 100%;
  display: block;
}

#license-guide .user-voice .block .text {
  width: 80%;
  display: flex;
  justify-content: space-between;
}

#license-guide .user-voice .block .text dl {
  width: 48.5%;
  margin-bottom: 1.0rem;
}

#license-guide .user-voice .block .text dt {
  font-size: 1.8rem;
  font-weight: 600;
}

#license-guide .user-voice .block .text dd.description {
  font-size: 1.4rem;
  padding: 1.0rem 0
}

#license-guide .user-voice .block .text dd.description i {
  font-size: 1.2rem;
  display: block;
}

#license-guide .user-voice .block .text dd.description p {
  margin-bottom: 1.0rem;
}

#license-guide .user-voice .block .text dd.incentive {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}

#license-guide .user-voice .block .text dd.incentive i {
  font-size: 1.2rem;
  color: #9bd153;
  background-color: #ffffff;
  padding: 0.25rem 1.5rem;
  border-radius: 1.5rem;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  margin-right: 1.5rem;
}

#license-guide .user-voice .block .text dd.incentive strong {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  display: inline-block;
  margin-left: 0.5rem;
}

#license-guide .lp-contact {
  padding: 15rem 0;
  text-align: center;
  background-color: #ffffff;
}

#license-guide .lp-contact {}

#license-guide .lp-contact dt {
  font-size: 3.2rem;
  font-weight: 800;
  color: #aad975;
  margin-bottom: 2.5rem;
}

#license-guide .lp-contact .tel {
  margin-bottom: 1.5rem;
}

#license-guide .lp-contact .tel a {
  font-size: 4.2rem;
  font-weight: 800;
  color: #9bd153;
}

#license-guide .lp-contact .tel a small {
  font-size: 2.4rem;
  font-weight: 800;
}

#license-guide .lp-contact .mail a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  font-weight: 600;
  color: #9bd153;
  padding: 1.5rem;
  border: 0.25rem solid #9bd153;
  width: fit-content;
  margin: 0 auto;
  border-radius: 0.75rem
}

#license-guide .lp-contact .mail a:hover {
  background-color: #caeba5;
}

#license-guide .lp-contact .mail a img {
  width: 3.2rem;
  margin-right: 0.5rem;
  transform: translateY(0.15rem);
}

.top-banner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 0;
}

.top-banner img {
  width: 100%;
  display: block;
  border-radius: 1.5rem;
}

.top-banner figure {
  border: 0.25rem solid #ffffff;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
  border-radius: 1.5rem;
}





/*==============================================
●PC版非表示
===============================================*/
.sp {
  display: none !important;
}









/*===============================================
●レスポンシブ  画面の横幅が1300pxまで
===============================================*/
@media screen and (max-width:1300px) {
  .work section h2 img {
    display: block;
    height: 3.2rem;
  }
}

/*===============================================
●レスポンシブ  画面の横幅が1100pxまで
===============================================*/
@media screen and (max-width:1100px) {
  html {
    font-size: 1.0vw
  }
}


/*===============================================
●レスポンシブ  画面の横幅が800pxまで
===============================================*/
@media screen and (max-width:800px) {
  .pagehead .contact-box {
    display: flex;
    max-width: 420px;
    justify-content: space-between;
  }
}






/*===============================================
●レスポンシブ  画面の横幅が600pxまで
===============================================*/
@media screen and (max-width:600px) {
  img {
    max-width: 100%;
    height: auto;
    width
    /***/
    : auto;
  }

  html {
    font-size: 1.8vw
  }

  /*html,body{ width:100vw}*/
  /*.site{ width:100vw; overflow: hidden;}*/
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .pagehead .navigation {
    display: none;
  }

  .pagehead .wrap {
    width: 95%
  }
.video video{
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.pagehead .nav-wrap strong{
  margin-left:1.5rem;
  font-size:1.4rem 
}




  .home .mv {
    background-size: cover;
  }

  .home .mv .bg {
    width: 80%;
    left: -20%;
    top: 1rem;
    z-index: 1;
    opacity: 0.5;
  }

  .home .mv .inner .text .introduction {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding-top: 0;
  }

  .home .mv .inner .text .introduction h2 img {
    position: absolute;
    width: 15vw;
    bottom: 0;
    left: -22.5vw
  }

  .home .mv .inner .text .lineup h3 img {
    height: 4.2rem
  }

  .home .mv .inner .text .lineup {
    width: 95%;
    margin: 0 auto;
  }

  .home .mv .inner .text .lineup ul {
    justify-content: center;
  }

  .home .mv .inner .text .lineup li:first-child img {
    width: 30%
  }

  .home .mv .inner .text .lineup li:first-child dd {
    white-space: nowrap;
  }

  .home .mv .inner .text .lineup li {
    width: 30%;
  }

  .home .mv .inner .text .lineup li i {
    white-space: nowrap;
  }

  .home .facility-feature ul{
    flex-direction: column;
    gap: 2.5rem;
    width:80%;
    margin:0 auto;
  }
  .home .facility-feature ul li{
    width: 100%;
  }


  .home .feature .inner h2 img {
    height: 4.2rem
  }

  .home .feature li {
    display: block;
    margin-bottom: 2.5rem;
  }

  .home .feature .inner {
    width: 80%;
  }

  .home .feature li figure {
    width: calc(100% - 3.0rem);
    margin: 0 auto 1.5rem auto;
    border-radius: 1.5rem;
    overflow: hidden;
  }

  .home .feature li .text {
    width: calc(100% - 3.0rem)
  }

  .home .advantages {
    padding-bottom: 0;
  }

  .home .advantages .inner h2 {
    width: 80%
  }

  .home .advantages .inner h2 img {
    height: 6.0rem
  }

  .home .advantages li {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
  }

  .home .advantages li .text {
    width: 100%
  }

  .home .advantages li .text .wrap {
    width: calc(100% - 5.0rem);
  }

  .home .advantages li .text .wrap img {
    top: -10rem;
    right: 5px;
  }

  .guidance .inner {
    flex-direction: column;
  }

  .guidance .inner dl {
    width: calc(100% - 5.0rem)
  }

  .guidance dd {
    aspect-ratio: auto;
  }

  .home section.information .inner h2 {
    width: 80%
  }

  section.access {
    display: block;
  }

  section.access .text {
    width: 80%;
    margin: 0 auto
  }

  section.access iframe {
    width: 100%;
    height: 40vh
  }

  .site-footer .subnavi li {
    width: 33%
  }

  .site-footer .subnavi {
    width: 98%;
    padding-bottom: 0.5rem;
  }

  .page-title {
    margin-bottom: 5.0rem;
  }

  .page-title .inner {
    display: block;
  }

  .page-title .inner {
    width: 70%;
    margin: 0 auto
  }

  .page-title .inner .mv {
    width: 100%
  }

  .page-title .inner .text {
    width: 100%
  }

  .work section .introduction {
    flex-direction: column;
  }

  .work section .introduction iframe,
  .work section .introduction figure {
    width: 100%;
  }

  .work section .introduction .text {
    top: 0
  }

  .work section .introduction .text {
    width: 100%
  }

  .work section .details li {
    position: relative;
  }

  .work section .details li figure {
    position: absolute;
    right: 0;
    top: -5%;
    width: 50%;
    opacity: 0.10;
    z-index: 1;
  }

  .work section .details li .text {
    position: relative;
    z-index: 2;
    left: -5%
  }

  .work section .extra {
    width: 80%;
  }

  .work section .extra figure {
    margin: 0 2.5rem 2.5rem 0
  }

  .work section .introduction .text h2 {
    background-color: rgba(255, 255, 255, 0.90);
    padding: 0.5rem 1.5rem;
    position: absolute;
    top: -4.2rem;
    ;
    right: 0;
  }

  .work .otherworks .wrap {
    padding: 5.0rem
  }

  .work .otherworks li {
    flex-direction: column;
    margin-bottom: 5.0rem;
  }

  .work .otherworks li figure {
    width: 100%;
    margin-bottom: 1.5rem;
  }

  .work .otherworks li .text {
    width: 100%
  }

  .work .otherworks li .text h3 {
    margin-bottom: 1.5rem;
  }

  .work .promises .inner h2 {
    width: 90%;
    margin: 0 auto
  }

  .work .promises h2 img {
    height: 5.2rem;
  }

  .work .promises li {
    align-items: flex-start;
  }

  .work .promises li img {
    width: 6.0rem;
    position: relative;
    left: -2%
  }

  .work .promises li .text {
    width: 100%
  }

  .work .promises .inner {
    background-position: bottom right;
    background-size: 170%;
  }

  .flow-description .box {
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
  }

  .flow-description .box figure {
    width: 66%;
  }

  .flow-description .box .text {
    width: 100%;
  }

  .flow-description .text dd {
    flex-direction: column;
  }

  .flow-description .text dd a {
    width: calc(100% - 3.0rem);
    margin-bottom: 1.5rem;
  }

  .flow .page-title .inner .text p {
    padding-bottom: 2.5rem;
  }

  .archive-list li {
    width: calc(48% - 5.2rem)
  }


  .wpcf7 {
    width: 80%;
    margin: 0 auto
  }

  section.mailform th {
    display: block;
    width: calc(100% - 5.0rem);
    padding: 0;
  }

  section.mailform td {
    display: block;
    width: 100%;
    padding: 2.5rem 0 5.0rem 0
  }

  .wpcf7-list-item {
    margin: 0 0 1.5rem 0
  }




  #license-guide .introduction .block {
    display: block;
  }

  #license-guide .introduction .block .image {
    width: 100%
  }

  #license-guide .introduction .block .text {
    width: 100%
  }

  #license-guide .introduction .block .image.narrow {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 2.5rem 0
  }

  #license-guide .introduction .block .image.narrow img {
    width: 48%;
    display: block;
  }

  #license-guide .introduction .block .text {
    width: 100%
  }

  #license-guide .user-voice .block figure {
    width: 25%
  }

  #license-guide .user-voice .block .text {
    width: 70%;
    display: block;
  }

  #license-guide .user-voice .block .text dl {
    margin-bottom: 2.5rem;
    width: 100%
  }

  #license-guide .introduction dd {
    width: 45%
  }












}




/*　ハンバーガーボタン　*/
.hamburger {
  background-color: #aad975;
  display: block;
  position: fixed;
  z-index: 1200;
  right: 1.0rem;
  top: 1.0rem;
  border-radius: 0.5rem;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  border: 1px solid #ffffff;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  left: 6px;
  background: #ffffff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 10px;
}

.hamburger span:nth-child(2) {
  top: 20px;
}

.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 20px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  color: #000000;
  background: rgba(255, 255, 255, 0.95);
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

/*メニューレイアウト*/
.globalMenuSp .wrap {
  z-index: 1000;
  overflow: scroll;
  height: 100vh;
  position: relative;
  -webkit-overflow-scrolling: touch;
  display: flex;
  justify-content: center;
  align-items: center;
  /*background-image:url( images/bg_mv_top_red_sp.png); background-size: cover; background-position: center;*/
}

.globalMenuSp .branding {
  width: 16.0rem;
  margin: 2.5rem auto
}

.globalMenuSp .branding img {
  display: block;
  width: 100%;
}


.globalMenuSp .inner {
  padding: 2.5rem 0;
}

.spnavi {
  width: 80%;
  margin: 0 auto;
}

.spnavi dt {
  width: 50%;
  padding: 1.5rem;
  text-align: center;
  margin: 0 auto 5.0rem auto
}

.spnavi dt img {
  width: 100%;
}


.spnavi .navigation {
  flex-wrap: wrap;
}

.spnavi .navigation li {
  width: 100%;
}

.spnavi .navigation li a {
  border-bottom: 1px dotted #aad975;
  padding: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #aad975;
  font-size: 2.4rem;
  font-weight: 100;
}

.spnavi .navigation li a strong {
  font-size: 2.0rem;
  font-weight: 600;
}

.spnavi .navigation li a i {
  font-size: 1.2rem;
  font-weight: 600;
}


.globalMenuSp .ourbusiness ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}

.globalMenuSp .ourbusiness li {
  width: 32%;
}

.globalMenuSp .ourbusiness li {
  width: 32%;
}

.globalMenuSp .ourbusiness .ttl {
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  justify-content: space-between;
  align-items: center;
  white-space: nowrap;
}

.globalMenuSp .ourbusiness .ttl::before,
.globalMenuSp .ourbusiness .ttl::after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #ac0000;
  display: block;
  margin: 0 0.5rem
}

.globalMenuSp .ourbusiness li strong {
  font-size: 1.2rem;
}

.globalMenuSp .ourbusiness li i {
  font-size: 1.8rem;
  display: block;
  font-weight: 600;
  line-height: 1.2;
}

.globalMenuSp li.service {
  display: none;
}

.globalMenuSp .navigation {}
/*-----------------------------------------------------------------
  Opening Animation
-----------------------------------------------------------------*/
.opening-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffffff;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 1s ease, visibility 1s ease;
}

.opening-overlay.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.opening-overlay__text {
  font-family: 'Noto Serif JP', serif;
  font-size: 3.2rem;
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.25em;
  text-align: center;
  margin: 0;
  padding: 0 20px;
}

.opening-overlay__text span {
  opacity: 0;
  display: inline-block;
  animation: fadeInChar 0.4s forwards;
}

@keyframes fadeInChar {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 599px) {
  .opening-overlay__text {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }
}

body.opening-active {
  overflow: hidden !important;
}
