/*
Theme Name: 株式会社ふくなお
Theme URI: https://www.fukunao.jp/
Author: 株式会社ふくなお
Author URI: https://www.fukunao.jp/
Description: 株式会社ふくなお
*/

html {
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  background-color: #F7F7F6;
  -webkit-text-size-adjust: 100%;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: #000;
}

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
picture { display: block; position: relative; width: 100%; }

/* utility
------------------------------------------------ */
.u-r-lists { margin: 0; padding: 0; list-style: none; }
.u-r-btn { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; cursor: pointer; }
.u-object-fit { width: 100%; height: 100%; max-width: inherit; object-fit: cover; font-family: 'object-fit: cover;'; }
.u-lazy-y { transition: transform 0.4s ease, opacity 0.4s ease; transform: translateY(20px); opacity: 0; }
.u-lazy-y.u-lazy-done { transform: translateY(0); opacity: 1; }

.u-f-Montserrat { font-family: 'Montserrat', serif; }

@media screen and (max-width: 768px) {
  .u-d-mobile { display: inherit !important; }
  .u-d-desktop { display: none !important; }
}

@media screen and (min-width: 769px) {
  .u-d-mobile { display: none !important; }
  .u-d-desktop { display: inherit !important; }
}

/* component
------------------------------------------------ */
/* link */
.link-skipcontent { position: absolute; margin: -1px; width: 1px; height: 1px; overflow: hidden; }

/* title */
.title-page-en { margin: 0 0 15px; font-family: 'Montserrat', serif; font-size: 1.2rem; /*font-size: 1.4rem;*/ font-weight: 500; letter-spacing: 0.05em; line-height: 2.21428571429; }
.title-page-ja { margin: 0; font-size: 2.8rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.title-1 { display: flex; }
.title-1-en,
.title-1-ja { margin: 0; font-size: 1.2rem; /*font-size: 1.4rem;*/ font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.title-1-en { font-family: 'Montserrat', serif; }
.title-1-ja::before { content: '\FF5C'; padding: 0 0.5em; }
.title-2-en { margin: 0 0 16px; font-family: 'Montserrat', serif; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.title-2-ja { margin: 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.title-3-en { margin: 0 0 16px; font-family: 'Montserrat', serif; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.title-3-ja { margin: 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.title-4 { position: relative; text-align: center; }
.title-4::after { content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 3px; background: url(./_assets/img/share/dotted1.png) repeat-x left center; background-size: auto 100%; z-index: 1; }
.title-4-name { display: inline-block; position: relative; margin: 0; padding: 0 14px; background-color: #F7F7F6; vertical-align: top; font-size: 2rem; font-weight: 500; letter-spacing: 0.1em; line-height: 3.1; z-index: 2; }

@media screen and (max-width: 768px) {
  .title-3 { text-align: center; }
}

@media screen and (min-width: 769px) {
  .title-page-en { margin-bottom: 10px; font-size: 1.2rem; /*font-size: 1.6rem;*/ font-weight: 400; line-height: 1.9375; }
  .title-page-ja { font-size: 3.6rem; line-height: 1.72222222222; }
  .title-1-en,
  .title-1-ja { font-size: 1.2rem; /*font-size: 1.6rem;*/ font-weight: 400; line-height: 1.9375; }
  .title-2-en { margin-bottom: 18px; font-size: 1.4rem; }
  .title-2-ja { font-size: 3.2rem; }
  .title-3 { display: flex; flex-flow: row-reverse; justify-content: center; align-items: baseline; }
  .title-3-en { margin-left: 25px; font-size: 1.4rem; }
  .title-3-ja { font-size: 3.2rem; }
  .title-4-name {padding: 0 28px; font-size: 3rem; line-height: 2; }
}

/* button */
.btn-1 { margin: 0; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.btn-1 > a,
.btn-1 > button { display: inline-flex; align-items: center; vertical-align: top; }
.btn-1 > a { text-decoration: none; color: #2A2D27; }
.btn-1 > a::before,
.btn-1 > button::before { content: ''; margin-right: 15px; width: 50px; height: 45px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #7FBE26; background-size: 19px; border-radius: 50%; }
.btn-2 { margin: 0; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.btn-2 > a,
.btn-2 > button { display: inline-flex; justify-content: center; align-items: center; min-height: 71px; border: 1px solid #7FBE26; border-radius: 20px; vertical-align: top; }
.btn-2 > a { text-decoration: none; color: #2A2D27; }
.btn-2 > a::before,
.btn-2 > button::before { content: ''; margin-right: 15px; width: 50px; height: 45px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #7FBE26; background-size: 19px; border-radius: 50%; }

.u-device-click .btn-1 > a,
.u-device-click .btn-1 > button { transition: color 0.4s ease; }
.u-device-click .btn-1 > a::before,
.u-device-click .btn-1 > button::before { transition: transform 0.4s ease; }
.u-device-click .btn-1 > a:hover,
.u-device-click .btn-1 > button:hover { color: #7FBE26; }
.u-device-click .btn-1 > a:hover::before,
.u-device-click .btn-1 > button:hover::before { transform: scale(1.1); }

.u-device-click .btn-2 > a,
.u-device-click .btn-2 > button { transition: color 0.4s ease; }
.u-device-click .btn-2 > a::before,
.u-device-click .btn-2 > button::before { transition: transform 0.4s ease; }
.u-device-click .btn-2 > a:hover,
.u-device-click .btn-2 > button:hover { color: #7FBE26; }
.u-device-click .btn-2 > a:hover::before,
.u-device-click .btn-2 > button:hover::before { transform: scale(1.1); }

@media screen and (max-width: 768px) {
  .btn-2 > a,
  .btn-2 > button { width: 100%; }
}

@media screen and (min-width: 769px) {
  .btn-1 { font-size: 1.4rem; }
  .btn-2 { font-size: 1.4rem; }
  .btn-2 > a,
  .btn-2 > button { width: 100%; max-width: 370px; }
}

/* lists */
.lists-topics-item { position: relative; }
.lists-topics-item:not(:first-child) { margin-top: 10px; }
.lists-topics-item > a:not(.post-edit-link) { display: block; padding: 20px 25px 22px; background-color: #fff; border-radius: 20px; text-decoration: none; color: #2A2D27; }
.lists-topics-item .post-edit-link { position: absolute; top: 0; left: 0; }
.lists-topics-date { margin: 0; font-family: 'Montserrat', serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.lists-topics-title { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.85714285714; }
.lists-download-item { position: relative; }
.lists-download-photo { margin: 0 auto 20px; width: 60.5714285714%; }
.lists-download-title { margin: 0; text-align: center; font-size: 2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.4; }
.lists-download-text { margin: 10px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.lists-download-mid { position: relative; margin-top: 20px; }
.lists-download-tags { display: flex; flex-wrap: wrap; align-items: flex-start; row-gap: 7px; column-gap: 6px; position: relative; }
.lists-download-tags > i { padding: 0 10px; border: 1px solid #787877; border-radius: 50px; font-size: 1.2rem; font-style: normal; font-weight: 500; letter-spacing: 0.05em; line-height: 1.66666666667; color: #787877; }
.lists-download-below { position: relative; margin-top: 30px; }
.lists-download-btn { margin: 0; height: 50px; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.lists-download-btn > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background-color: #7FBE26; border-radius: 100px; text-decoration: none; color: #fff; }
.lists-download-size { margin: 16px 0 0; text-align: center; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.lists-download-publish { margin-top: 30px; }
.lists-download-publish__trigger { margin: 0; border-bottom: 1px solid #2A2D27; }
.lists-download-publish__trigger > button { display: block; padding: 20px 0; width: 100%; text-align: left; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.42857142857; }
.lists-download-publish__trigger > button::before,
.lists-download-publish__trigger > button::after { content: ''; position: absolute; top: 50%; right: 0; transition: transform 0.4s ease; width: 13px; height: 1px; background-color: #000; }
.lists-download-publish__trigger > button::after { transform: rotate(90deg); }
.lists-download-publish__trigger > button[aria-expanded=true]::after { transform: rotate(0); }
.lists-download-publish__target { display: none; padding-top: 25px; }
.lists-download-publish__box { margin: 0; }
.lists-download-publish__box:not(:first-child) { margin-top: 20px; }
.lists-download-publish__box__title { margin-bottom: 8px; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.42857142857; }
.lists-download-publish__box__text { margin: 0; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.66666666667; }

.u-device-click .lists-topics-item > a:not(.post-edit-link) { transition: color 0.4s ease; }
.u-device-click .lists-topics-item > a:not(.post-edit-link):hover { color: #7FBE26; }
.u-device-click .lists-download-btn > a { transition: background-color 0.4s ease; }
.u-device-click .lists-download-btn > a:hover { background-color: #69A613; }

@media screen and (max-width: 768px) {
  .lists-topics-date { margin-bottom: 6px; }

  .lists-download-info { margin: 0 20px; }
  .lists-download-tags { margin: 0 20px; }
  .lists-download[data-column-mobile='1'] .lists-download-item:not(:first-child) { margin-top: 80px; }
}

@media screen and (min-width: 769px) {
  .lists-topics-item:not(:first-child) { margin-top: 10px; }
  .lists-topics-item > a:not(.post-edit-link) { display: flex; padding: 26px 80px; border-radius: 100px; }
  .lists-topics-date { padding-top: 5px; width: 188px; font-size: 1.6rem; }
  .lists-topics-title { width: calc(100% - 188px); font-size: 1.4rem; }
  .lists-download-item { display: grid; gap: 0; grid-template-rows: subgrid; grid-row: span 4; }
  .lists-download-photo { margin-bottom: 20px; width: 75.7142857143%; }
  .lists-download-title { font-size: 1.8rem; line-height: 1.55555555556; }
  .lists-download-text { margin-top: 10px; font-size: 1.2rem; font-weight: 400; line-height: 1.66666666667; }
  .lists-download-mid { margin-top: 20px; }
  .lists-download-tags { row-gap: 6px; column-gap: 5px; }
  .lists-download-tags > i { padding: 0 9px; font-size: 1rem; line-height: 1.8; }
  .lists-download-below { margin-top: 25px; }
  .lists-download-btn { height: 50px; font-size: 1.4rem; }
  .lists-download-btn > a { margin: 0 auto; width: 174px; }
  .lists-download-size { margin-top: 10px; font-size: 1rem; }
  .lists-download-publish { margin-top: 10px; }
  .lists-download-publish__trigger > button { padding: 20px 0; font-size: 1.2rem; line-height: 1.66666666667; }
  .lists-download-publish__target { padding-top: 20px; }
  .lists-download-publish__box:not(:first-child) { margin-top: 20px; }
  .lists-download-publish__box__title { margin-bottom: 8px; font-size: 1.2rem; line-height: 1.66666666667; }
  .lists-download-publish__box__text { font-size: 1rem; line-height: 2; }

  .lists-download[data-column-desktop='3'] { display: grid; gap: 100px; grid-template-columns: repeat(3,calc((100% / 3) - (100px / (3 / 2)))); }
}

/* wp */
.wp-block-heading { margin: 40px 0 25px; font-size: 2rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2; }
.wp-block-heading:first-child { margin-top: 0; }

@media screen and (min-width: 769px) {
  .wp-block-heading { margin: 58px 0 18px; font-size: 2.4rem; }
}

/* pagination */
.pagination { display: flex; justify-content: center; align-items: center; position: relative; margin-top: 38px; height: 45px; }
.pagination > a,
.pagination > span { margin: 0 0.4em; text-decoration: none; font-family: 'Montserrat', serif; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.2em; color: #2A2D27; }
.pagination .is-prev,
.pagination .is-next { position: absolute; top: 0; margin: 0; width: 50px; height: 100%; }
.pagination .is-prev::after,
.pagination .is-next::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #7FBE26; background-size: 19px; border-radius: 50%; z-index: 2; }
.pagination .is-prev { left: 0; }
.pagination .is-prev::after { transform: rotate(180deg); }
.pagination .is-next { right: 0; }

.u-device-click .pagination > a:not(.is-prev,.is-next) { transition: opacity 0.4s ease; }
.u-device-click .pagination > a:not(.is-prev,.is-next):hover { opacity: 0.7; }
.u-device-click .pagination > a.is-prev,
.u-device-click .pagination > a.is-next { transition: transform 0.4s ease; }
.u-device-click .pagination > a.is-prev:hover,
.u-device-click .pagination > a.is-next:hover { transform: scale(1.1); }

@media screen and (min-width: 769px) {
  .pagination { margin: 48px auto 0; max-width: 368px; }
  .pagination > a,
  .pagination > span { font-size: 2.2rem; }
}

/* pager */
.pager { display: flex; justify-content: center; align-items: center; position: relative; margin-top: 100px; height: 45px; }
.pager > a { display: inline-block; text-decoration: none; vertical-align: top; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.4; color: #2A2D27; }
.pager > .is-prev,
.pager > .is-next { display: flex; align-items: center; position: absolute; top: 0; height: 100%; }
.pager > .is-prev::before,
.pager > .is-next::after { content: ''; position: absolute; top: 0; width: 50px; height: 100%; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #7FBE26; background-size: 19px; border-radius: 50%; z-index: 2; }
.pager > .is-prev { left: 0; }
.pager > .is-prev::before { left: 0; transform: rotate(180deg); }
.pager > .is-next { right: 0; }
.pager > .is-next::after { right: 0; }

.u-device-click .pager > a:not(.is-prev,.is-next) { transition: opacity 0.4s ease; }
.u-device-click .pager > a:not(.is-prev,.is-next):hover { opacity: 0.7; }
.u-device-click .pager > a.is-prev::before,
.u-device-click .pager > a.is-next::after { transition: transform 0.4s ease; }
.u-device-click .pager > a.is-prev:hover::before { transform: rotate(180deg) scale(1.1); opacity: 1; }
.u-device-click .pager > a.is-next:hover::after { transform: scale(1.1); opacity: 1; }

@media screen and (max-width: 768px) {
  .pager > .is-prev,
  .pager > .is-next { width: 50px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
}

@media screen and (min-width: 769px) {
  .pager { margin-top: 100px; }
  .pager > a { font-size: 1.6rem; }
  .pager > .is-prev { left: 0; padding-left: 70px; }
  .pager > .is-next { right: 0; padding-right: 70px; }
}

/* block */
.block-services { margin-top: 100px; }
.block-services .title-1 { margin-bottom: 12px; }
.block-services-title { margin: 0 0 26px; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.block-services-lists__image > a { display: block; position: relative; aspect-ratio: 1 / 0.514285714286; width: 100%; height: 100%; text-decoration: none; color: #2A2D27; overflow: hidden; }
.block-services-lists__image__info { display: flex; flex-flow: column; justify-content: center; align-items: center; position: absolute; top: 0; height: 100%; z-index: 2; }
.block-services-lists__logo { margin: 0; }
.block-services-lists__title { margin: 5px 0 0; font-size: 2.32558139535vw; font-weight: 500; letter-spacing: 0.1em; line-height: 1.4; }
.block-services-lists__photo { position: absolute; top: 0; right: 0; height: 100%; overflow: hidden; z-index: 1; }
.block-services-lists__info { margin-top: 15px; }
.block-services-lists__text { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.block-services-lists__item .btn-1 { margin-top: 14px; }

.block-services-lists__item.is-gocochi .block-services-lists__image > a { background-color: #CFD0D1; }
.block-services-lists__item.is-gocochi .block-services-lists__image__info { left: 5.94594594595%; width: 37.8378378378%; }
.block-services-lists__item.is-shinart .block-services-lists__image > a { background-color: #E8E1CC; }
.block-services-lists__item.is-shinart .block-services-lists__image__info { left: 6.48648648649%; width: 36.4864864865%; }

.block-banner { margin-top: 100px; }
.block-banner-lists__item > a { display: block; position: relative; aspect-ratio: 1 / 0.514285714286; text-decoration: none; overflow: hidden; }
.block-banner-lists__item > a::after { content: ''; position: absolute; bottom: 15px; right: 20px; width: 50px; height: 45px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center #7FBE26; background-size: 19px; border-radius: 50%; z-index: 2; }
.block-banner-lists__info { display: flex; flex-flow: column; justify-content: center; position: absolute; top: 0; left: 0; padding: 0 5.40540540541%; width: 100%; height: 100%; z-index: 2; }
.block-banner-lists__ja { margin: 0; font-size: 4.6511627907vw; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; }
.block-banner-lists__en { margin: 8px 0 0; font-family: 'Montserrat', serif; font-size: 2.79069767442vw; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.block-banner-lists__logo { margin: 0; }
.block-banner-lists__title { margin: 5px 0 0; text-align: center; font-size: 2.32558139535vw; font-weight: 500; letter-spacing: 0.1em; line-height: 1.4; color: #2A2D27; }
.block-banner-lists__photo { position: absolute; z-index: 1; }

.block-banner-lists__item.is-company > a { color: #fff; }
.block-banner-lists__item.is-company .block-banner-lists__photo { top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); }
.block-banner-lists__item.is-company .block-banner-lists__photo img { mix-blend-mode: multiply; }
.block-banner-lists__item.is-download > a { background-color: #DEE2D8; color: #000; }
.block-banner-lists__item.is-download .block-banner-lists__photo { top: 50%; right: 0; transform: translateY(-50%); width: 48.5714285714%; }

.block-banner-lists__item.is-gocochi > a { background-color: #CFD0D1; }
.block-banner-lists__item.is-gocochi .block-banner-lists__info { width: calc(37.8378378378% + (5.40540540541% * 2)); }
.block-banner-lists__item.is-gocochi .block-banner-lists__photo { right: 0; left: auto; height: 100%; overflow: hidden; }
.block-banner-lists__item.is-shinart > a { background-color: #E8E1CC; }
.block-banner-lists__item.is-shinart .block-banner-lists__info { width: calc(36.4864864865% + (5.40540540541% * 2)); }
.block-banner-lists__item.is-shinart .block-banner-lists__photo { right: 0; left: auto; height: 100%; }

.block-notfound { padding: 10vw 0; }
.block-notfound-title { margin: 0 0 20px; text-align: center; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.4; }
.block-notfound .btn-1 { text-align: center; }

.u-device-click .block-services-lists__photo img { transition: transform 0.4s ease; }
.u-device-click .block-services-lists__image > a:hover .block-services-lists__photo img { transform: scale(1.1); }
.u-device-click .block-banner-lists__item > a::after,
.u-device-click .block-banner-lists__photo img { transition: transform 0.4s ease; }
.u-device-click .block-banner-lists__item > a:hover::after,
.u-device-click .block-banner-lists__item > a:hover .block-banner-lists__photo img { transform: scale(1.1); }

@media screen and (max-width: 768px) {
  .block-services > .l-wrap { padding: 0 30px; }
  .block-services-lists__item:not(:first-child) { margin-top: 50px; }
  .block-services-lists__image > a { border-radius: 20px 20px 0 0; }
  .block-banner > .l-wrap { padding: 0 30px; }
  .block-banner-lists__item:not(:first-child) { margin-top: 10px; }
  .block-banner-lists__item:first-child > a { border-radius: 20px 20px 0 0; }
  .block-banner-lists__item:last-child > a { border-radius: 0 0 20px 20px; }
  .block-notfound > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .block-services .title-1 { margin-bottom: 14px; }
  .block-services-title { margin-bottom: 28px; font-size: 3.6rem; }
  .block-services-lists { display: grid; row-gap: 40px; column-gap: 10px; grid-template-columns: repeat(2,calc(50% - 5px)); }
  .block-services-lists__image > a { aspect-ratio: 1 / 0.513274336283; }
  .block-services-lists__title { font-size: 1.18644067797vw; }
  .block-services-lists__info { margin: 20px 20px 0; }
  .block-services-lists__text { margin-top: 10px; font-size: 1.4rem; font-weight: 400; }
  .block-services-lists__item .btn-1 { margin-top: 20px; }

  .block-services-lists__item:nth-of-type(2n+1) .block-services-lists__image > a { border-radius: 20px 0 0 20px; }
  .block-services-lists__item:nth-of-type(2n) .block-services-lists__image > a { border-radius: 0 20px 20px 0; }

  .block-services-lists__item.is-gocochi .block-services-lists__image__info { left: 5.30973451327%; width: 35.0442477876%; }
  .block-services-lists__item.is-shinart .block-services-lists__image__info { left: 5.30973451327%; width: 37.1681415929%; }

  .block-banner-lists { display: grid; gap: 10px; grid-template-columns: repeat(2,calc(50% - 5px)); }
  .block-banner-lists__item > a::after { bottom: 25px; right: 25px; }
  .block-banner-lists__info { padding: 0 7.0796460177%; }
  .block-banner-lists__ja { font-size: 2.54237288136vw; }
  .block-banner-lists__en { margin-top: 1.52542372881vw; font-size: 1.35593220339vw; }
  .block-banner-lists__title { font-size: 1.18644067797vw; }

  .block-banner-lists__item:nth-of-type(2n+1) > a { border-radius: 20px 0 0 20px; }
  .block-banner-lists__item:nth-of-type(2n) > a { border-radius: 0 20px 20px 0; }

  .block-banner-lists__item.is-download .block-banner-lists__info { padding: 0 5.30973451327%; }
  .block-banner-lists__item.is-download .block-banner-lists__photo { width: 51.6814159292%; }

  .block-banner-lists__item.is-gocochi .block-banner-lists__info { width: calc(35.0442477876% + (7.0796460177% * 2)); }
  .block-banner-lists__item.is-shinart .block-banner-lists__info { width: calc(37.1681415929% + (7.0796460177% * 2)); }
  .block-banner-lists__item.is-shinart > a::after { background-color: #fff; background-image: url(./_assets/img/icon/arrow1.svg); }

  .block-notfound-title { margin-bottom: 40px; font-size: 3rem; }
}

@media screen and (min-width: 1180px) {
  .block-services-lists__title { font-size: 1.4rem; }
  .block-banner-lists__ja { font-size: 3rem; }
  .block-banner-lists__en { margin-top: 18px; font-size: 1.6rem; }
  .block-banner-lists__title { font-size: 1.4rem; }
}

/* form */
.form-content { padding: 58px 26px; background-color: #fff; }
.form-block + .form-block { margin-top: 32px; }
.form-block-title { position: relative; margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-block-label { display: block; position: relative; width: 100%; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-required { display: inline-block; padding: 5px 9px; background-color: #7FBE26; border-radius: 10px; vertical-align: top; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; color: #fff; }
.form-block-parts { position: relative; }
.form-block-sub + .form-block-sub { margin-top: 16px; }
.form-block-input input,
.form-block-textarea textarea,
.form-block-select select { display: block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 14px 20px; width: 100%; height: 52px; background: #F7F7F6; border: 1px solid #F7F7F6; border-radius: 10px; box-shadow: none; font-family: inherit; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.5; color: inherit; }
.form-block-textarea textarea { height: 208px; }
.form-block-select select { background: url(./_assets/img/icon/select1.svg) no-repeat right 20px center #F7F7F6; background-size: 17px; }
.wpcf7-radio .wpcf7-list-item label { display: inline-block; position: relative; vertical-align: top; }
.wpcf7-radio .wpcf7-list-item label input[type=radio] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; }
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label { display: inline-block; padding-left: 24px; vertical-align: top; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after { content: ''; position: absolute; border-radius: 50%; }
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before { top: 7px; left: 0; width: 18px; height: 18px; background-color: #fff; border: 1px solid #A2A3A2; }
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after { top: 11px; left: 4px; width: 10px; height: 10px; background-color: #7FBE26; opacity: 0; }
.wpcf7-radio .wpcf7-list-item label input[type=radio]:checked + .wpcf7-list-item-label::after { opacity: 1; }
.form-block-radio .wpcf7-radio .wpcf7-list-item { display: block; }
.form-block.is-industry .form-block-parts { display: grid; gap: 10px; }
.form-block.is-address .form-block-parts { display: grid; gap: 10px; }
.form-block-input.is-zip { display: flex; align-items: flex-start; }
.form-zip-mark { padding-top: 15px; width: 30px; font-size: 1.4rem; font-weight: 500; }
.form-block-input.is-zip input { width: 160px; }
.form-block-notes { margin-top: 12px; }
.form-block-notes__item { position: relative; padding-left: 18px; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.66666666667; }
.form-block-notes__item::before { content: '\203B'; position: absolute; top: 0; left: 0; }
.form-agree { margin-top: 36px; text-align: center; }
.form-agree .wpcf7-list-item label { display: inline-block; position: relative; vertical-align: top; }
.form-agree .wpcf7-list-item label input[type=checkbox] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; }
.form-agree .wpcf7-list-item-label { display: inline-block; position: relative; padding-left: 24px; vertical-align: top; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-agree .wpcf7-list-item-label a { color: #2A2D27; }
.form-agree .wpcf7-list-item label .wpcf7-list-item-label::before,
.form-agree .wpcf7-list-item label .wpcf7-list-item-label::after { content: ''; position: absolute; border-radius: 2px; }
.form-agree .wpcf7-list-item label .wpcf7-list-item-label::before { top: 7px; left: 0; width: 18px; height: 18px; background-color: #fff; border: 1px solid #A2A3A2; }
.form-agree .wpcf7-list-item label .wpcf7-list-item-label::after { top: 11px; left: 4px; width: 10px; height: 10px; background-color: #7FBE26; opacity: 0; }
.form-agree .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::after { opacity: 1; }

.is-checked-sample[aria-hidden=true] { display: none; }
.is-selected-industry[aria-hidden=true] { display: none; }

.wpcf7-not-valid-tip { display: block; margin-top: 10px; font-size: 1.4rem; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { border-color: #dc3232; }
.wpcf7 form .wpcf7-response-output { padding: 20px 10px; text-align: center; font-size: 1.4rem; }

.form-confirm-box { margin: 0; padding-bottom: 30px; background: url(./_assets/img/share/dotted1.png) repeat-x left bottom; background-size: auto 3px; }
.form-confirm-box + .form-confirm-box { margin-top: 30px; }
.form-confirm-box__title { position: relative; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-confirm-box__text { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-confirm-sub { display: flex; margin: 0; }
.form-confirm-sub__title { position: relative; }
.form-confirm-sub__text { margin: 0; }

.form-complete-lead { margin: 0; text-align: center; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.form-complete-tel { margin-top: 40px; }
.form-complete-tel__title { margin: 0; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.75; }
.form-complete-tel__hour { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2; }
.form-complete-tel__num { display: flex; justify-content: center; align-items: baseline; margin: 14px 0 0; padding: 16px 0; background-color: #fff; font-family: 'Montserrat', serif; font-size: 2rem; font-weight: 600; letter-spacing: 0.05em; line-height: 1.2; }
.form-complete-tel__num strong { padding-left: 0.2em; font-size: 3rem; font-weight: 600; }
.form-complete .btn-1 { margin-top: 30px; text-align: center; }

.form-submit { margin-top: 30px; }
.form-submit-btn { position: relative; margin: 0; }
.form-submit-btn + .form-submit-btn { margin-top: 10px; }
.form-submit-btn > input { display: flex; justify-content: center; align-items: center; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 10px 20px; width: 100%; height: 50px; background: #7FBE26; border: 1px solid #7FBE26; border-radius: 100px; box-shadow: none; font-family: inherit; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; color: #fff; cursor: pointer; }
.form-submit-btn .wpcf7-spinner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; z-index: 3; }
.form-submit-btn.is-btn-donwload > input { padding-right: 35px; }
.form-submit-btn.is-btn-donwload::after { content: ''; position: absolute; top: 50%; left: 50%; width: 15px; height: 15px; transform: translate(64px,-50%); background: url(./_assets/img/icon/download1-white.svg) no-repeat center center; background-size: 100% 100%; }
.form-submit-btn.is-btn-back > input { background-color: #A2A3A2; border-color: #A2A3A2; }
.form-content-submit__text { margin: 15px 0 0; text-align: center; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.58333333333; }

.u-device-click .form-submit-btn.is-btn-donwload > input,
.u-device-click .form-submit-btn.is-btn-back > input { transition: background-color 0.4s ease, border-color 0.4s ease; }
.u-device-click .form-submit-btn.is-btn-donwload > input:hover { background-color: #69A613; border-color: #69A613; }
.u-device-click .form-submit-btn.is-btn-back > input:hover { background-color: #999; border-color: #999; }

@media screen and (max-width: 768px) {
  .form-block-title,
  .form-block-label { display: flex; align-items: center; margin-bottom: 12px; }
  .form-required { margin-left: 15px; }
  .form-block.is-multi .form-block-label .form-required { display: none; }
  .form-confirm-box__title { display: flex; align-items: center; margin-bottom: 12px; }
  .form-confirm-sub__title { position: relative; margin-right: 1em; }
  .form-confirm-sub__title .form-required { display: none; }
  .form-complete-tel__title,
  .form-complete-tel__hour { text-align: center; }
  .form-submit { padding: 0 15px; }
}

@media screen and (min-width: 769px) {
  .form-content { padding: 90px 158px; }
  .form-block { display: grid; grid-template-columns: 252px calc(100% - 252px); }
  .form-block + .form-block { margin-top: 40px; }
  .form-block-title,
  .form-block-label { padding-top: 12px; font-size: 1.6rem; }
  .form-block-title .form-required { display: none; }
  .form-required { position: absolute; top: 16px; right: 0; font-size: 1.4rem; }
  .form-block-parts { padding-left: 20px; }
  .form-block-sub { display: grid; grid-template-columns: 78px calc(100% - 78px); }
  .form-block-input input,
  .form-block-textarea textarea,
  .form-block-select select { padding: 14px 30px; height: 62px; font-size: 1.6rem; }
  .form-block-textarea textarea { height: 172px; }
  .form-block-radio { padding-top: 12px; }
  .form-block-radio .wpcf7-radio .wpcf7-list-item + .wpcf7-list-item { margin-top: 4px; }
  .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label { padding-left: 26px; font-size: 1.6rem; }
  .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before { width: 22px; height: 22px; }
  .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::after { width: 14px; height: 14px; }
  .form-block.is-multi { grid-template-columns: 176px calc(100% - 176px); }
  .form-block.is-multi .form-block-title { grid-row: 1 / 3; grid-column: 1; }
  .form-block.is-multi .form-block-sub { grid-column: 2; }
  .form-block.is-multi .form-block-sub:nth-of-type(1) { grid-row: 1; }
  .form-block.is-multi .form-block-sub:nth-of-type(2) { grid-row: 2; }
  .form-zip-mark { padding-top: 18px; width: 30px; font-size: 1.6rem; }
  .form-block-input.is-zip input { width: 200px; }
  .form-block-notes { margin-top: 30px; }
  .form-block-notes__item { font-size: 1.2rem; line-height: 2; }

  .form-agree { margin-top: 38px; }
  .form-agree .wpcf7-list-item-label { padding-left: 26px; font-size: 1.6rem; }
  .form-agree .wpcf7-list-item label .wpcf7-list-item-label::before { width: 22px; height: 22px; }
  .form-agree .wpcf7-list-item label .wpcf7-list-item-label::after { width: 14px; height: 14px; }

  .wpcf7-not-valid-tip { font-size: 1.4rem; }

  .form-confirm-box { display: grid; grid-template-columns: 278px calc(100% - 278px); margin: 0 -30px; padding-bottom: 28px; width: calc(100% + 60px); }
  .form-confirm-box + .form-confirm-box { margin-top: 28px; }
  .form-confirm-box__title { padding-left: 30px; font-size: 1.6rem; }
  .form-confirm-box__title .form-required { top: 4px; }
  .form-confirm-box__text { padding-left: 58px; font-size: 1.6rem; }
  .form-confirm-box.is-multi { grid-template-columns: 200px calc(100% - 200px); }
  .form-confirm-box.is-multi .form-confirm-box__title .form-required { display: none; }
  .form-confirm-box.is-multi .form-confirm-box__text { padding-left: 0; }
  .form-confirm-sub { display: grid; grid-template-columns: 78px calc(100% - 78px); }
  .form-confirm-sub__title .form-required { top: 4px; }
  .form-confirm-sub__text { padding-left: 58px; }

  .form-complete-lead { font-size: 1.4rem; line-height: 2; }
  .form-complete-tel { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 50px auto 0; max-width: 450px; }
  .form-complete-tel__title { font-size: 1.6rem; }
  .form-complete-tel__hour { font-size: 1.4rem; line-height: 2; }
  .form-complete-tel__num { margin-top: 20px; width: 100%; font-size: 2rem; }
  .form-complete-tel__num strong { font-size: 3rem; }
  .form-complete .btn-1 { margin-top: 60px; }

  .form-submit { margin-top: 42px; }
  .form-submit-btn + .form-submit-btn { margin-top: 20px; }
  .form-submit-btn > input { padding: 10px 20px; width: 100%; height: 87px; font-size: 2rem; }
  .form-submit-btn.is-btn-donwload > input { padding-right: 0; }
  .form-submit-btn.is-btn-donwload::after { right: 50px; left: auto; width: 25px; height: 25px; transform: translateY(-50%); }
  .form-content-submit__text { margin-top: 16px; font-size: 1.4rem; }

}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .form-content { padding-right: 30px; padding-left: 30px; }
  .form-confirm-box { margin: 0; width: 100%; }
}

/* container
------------------------------------------------ */
.l-container { position: relative; }
.l-main { position: relative; padding-top: 178px; }
.l-wrap { position: relative; }

@media screen and (min-width: 769px) {
  .l-wrap { margin: 0 auto; padding: 0 20px; max-width: 1180px; }
}

/* header
------------------------------------------------ */
.l-hd { position: fixed; top: 0; left: 0; width: 100%; z-index: 10;  }
.l-hd-logo { position: absolute; top: 40px; left: 30px; margin: 0; width: 58px; }
.l-hd-logo > a { display: block; width: 100%; }
.l-hd-nav { position: absolute; top: 30px; right: 44px; padding-right: 174px; height: 50px; background-color: #fff; border-radius: 100px; }
.l-hd-nav__links { display: flex; padding: 0 40px; height: 100%; }
.l-hd-nav__links__item { height: 100%; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.42857142857; }
.l-hd-nav__links__item:not(:first-child) { margin-left: 30px; }
.l-hd-nav__links__item > a,
.l-hd-nav__links__item > button { display: flex; align-items: center; position: relative; height: 100%; text-decoration: none; vertical-align: top; color: #2A2D27; }
.l-hd-nav__links__item > button { padding-right: 14px; }
.l-hd-nav__links__item > button::before,
.l-hd-nav__links__item > button::after { content: ''; position: absolute; top: 50%; right: 0; width: 8px; height: 1px; background-color: #2A2D27; }
.l-hd-nav__links__item > button::after { transition: transform 0.4s ease; transform: rotate(90deg); }
.l-hd-nav__links__item > button[aria-expanded=true]::after { transform: rotate(0); }
.l-hd-nav__sub { pointer-events: none; position: absolute; top: 25px; left: 0; transition: opacity 0.6s ease; padding: 60px 20px 28px; width: 100%; background-color: #F7F7F6; border-radius: 0 0 20px 20px; z-index: -1; opacity: 0; }
.l-hd-nav__sub[aria-hidden=false] { pointer-events: inherit; opacity: 1; }
.l-hd-nav__services { display: grid; gap: 30px; grid-template-columns: repeat(2,calc(50% - 15px)); margin: 0 auto; max-width: 730px; }
.l-hd-nav__services__item > a { display: block; position: relative; aspect-ratio: 1 / 0.428571428571; border-radius: 20px; text-decoration: none; color: #fff; overflow: hidden; }
.l-hd-nav__services__info { display: flex; flex-flow: column; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.l-hd-nav__services__title { margin: 0 0 2px; text-align: center; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.41666666667; }
.l-hd-nav__services__logo { margin: 0 auto; }
.l-hd-nav__services__photo { position: relative; z-index: -1; }
.l-hd-nav__services__photo::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); z-index: 2; }
.l-hd-nav__services__photo img { position: relative; z-index: 1; }
.l-hd-nav__services__item.is-gocochi .l-hd-nav__services__logo { width: 57.1428571429%; }
.l-hd-nav__services__item.is-shinart .l-hd-nav__services__logo { width: 51.4285714286%; }
.l-hd-nav__ec { display: grid; gap: 30px; grid-template-columns: repeat(2,calc(50% - 15px)); margin: 0 auto; max-width: 730px; }
.l-hd-nav__ec__item > a { display: block; position: relative; aspect-ratio: 1 / 0.428571428571; border-radius: 20px; text-decoration: none; color: #fff; overflow: hidden; }
.l-hd-nav__ec__title { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; padding-right: 30px; text-align: center; white-space: nowrap; font-size: 2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.l-hd-nav__ec__title::after { content: ''; position: absolute; top: 50%/*6px*/; right: 0; transform: translateY(-50%); width: 20px; height: 15px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.l-hd-nav__ec__photo { position: relative; z-index: -1; }
.l-hd-nav__ec__photo::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); z-index: 2; }
.l-hd-nav__ec__photo img { position: relative; z-index: 1; }
.l-hd-nav__contact { position: absolute; top: 0; right: -1px; margin: 0; width: 174px; height: 100%; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.42857142857; }
.l-hd-nav__contact > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background-color: #7FBE26; border-radius: 100px; text-decoration: none; color: #fff; }
.l-hd-menu { position: absolute; top: 52px; right: 30px; width: 40px; height: 40px; z-index: 3; }
.l-hd-menu > span { display: block; position: relative; width: 100%; height: 100%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.l-hd-menu > span::before,
.l-hd-menu > span::after { content: ''; position: absolute; left: 0; transition: 0.4s ease; width: 100%; height: 3px; background-color: #7FBE26; }
.l-hd-menu > span::before { top: 10px; }
.l-hd-menu > span::after { top: 25px; }
.l-hd-menu[aria-expanded=true] > span::before,
.l-hd-menu[aria-expanded=true] > span::after { top: 50%; background-color: #fff; }
.l-hd-menu[aria-expanded=true] > span::before { transform: rotate(145.98deg); }
.l-hd-menu[aria-expanded=true] > span::after { transform: rotate(34.02deg); }

.u-device-click .l-hd-nav__links__item > a,
.u-device-click .l-hd-nav__links__item > button { transition: opacity 0.4s ease; }
.u-device-click .l-hd-nav__links__item > a:hover,
.u-device-click .l-hd-nav__links__item > button:hover { opacity: 0.7; }
.u-device-click .l-hd-nav__contact > a { transition: transform 0.4s ease; }
.u-device-click .l-hd-nav__contact > a:hover { transform: scale(1.1); }

.u-device-click .l-hd-nav__services__photo img,
.u-device-click .l-hd-nav__ec__photo img { transition: transform 0.4s ease; }
.u-device-click .l-hd-nav__services__item > a:hover .l-hd-nav__services__photo img,
.u-device-click .l-hd-nav__ec__item > a:hover .l-hd-nav__ec__photo img { transform: scale(1.1); }

@media screen and (max-width: 768px) {
  .l-hd-nav { display: none; }
}

@media screen and (min-width: 769px) {
  .l-hd-logo { top: 30px; left: 50px; width: 80px; }
  .l-hd-menu { display: none; }
}

/* gnav */
.l-gnav { pointer-events: none; position: absolute; top: 0; left: 0; transition: opacity 0.6s ease; padding: 128px 40px 36px; width: 100%; height: 100dvh; background-color: #7FBE26; color: #fff; overflow-y: auto; overscroll-behavior-y: contain; z-index: 2; opacity: 0; }
.l-gnav[aria-hidden=false] {  pointer-events: inherit; opacity: 1; }
.l-gnav a { color: #fff; }
.l-gnav-links { display: flex; flex-wrap: wrap; }
.l-gnav-links__item:not(:last-child) { margin-bottom: 40px; }
.l-gnav-links__item { width: 50%; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.4; }
.l-gnav-links__item > a,
.l-gnav-links__item > span { display: inline-block; vertical-align: top; }
.l-gnav-links__item > a { text-decoration: none; }
.l-gnav-links__item.is-column-single { width: 100%; }
.l-gnav-sub { margin-top: 12px; }
.l-gnav-services { display: grid; gap: 10px; grid-template-columns: repeat(2,calc(50% - 5px)); }
.l-gnav-services__item > a { display: block; position: relative; aspect-ratio: 1 / 0.5; border-radius: 20px; overflow: hidden; }
.l-gnav-services__logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; z-index: 2; }
.l-gnav-services__photo { position: relative; width: 100%; height: 100%; z-index: 1; }
.l-gnav-services__photo::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); }
.l-gnav-services__item.is-gocochi .l-gnav-services__logo { width: 76.4705882353%; }
.l-gnav-services__item.is-shinart .l-gnav-services__logo { width: 73.5294117647%; }
.l-gnav-ec { display: grid; gap: 10px; grid-template-columns: repeat(2,calc(50% - 5px)); }
.l-gnav-ec__item > a { display: block; position: relative; aspect-ratio: 1 / 0.5; border-radius: 20px; overflow: hidden; }
.l-gnav-ec__title { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; padding-right: 18px/*24px*/; white-space: nowrap; text-align: center; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; z-index: 2; }
.l-gnav-ec__title::after { content: ''; position: absolute; top: 50%/*2px*/; right: 0; transform: translateY(-50%); width: 15px; height: 12px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.l-gnav-ec__photo { position: relative; width: 100%; height: 100%; z-index: 1; }
.l-gnav-ec__photo::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); }
.l-gnav-contact { margin: 40px 0 0; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.l-gnav-contact > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 72px; border: 1px solid #fff; border-radius: 20px; text-decoration: none; }
.l-gnav-contact > a::before { content: ''; margin-right: 15px; width: 50px; height: 45px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center #fff; background-size: 19px; border-radius: 50%; }
.l-gnav-info { position: relative; margin-top: 38px; }
.l-gnav-name { display: flex; align-items: baseline; margin: 0; font-size: 3.2rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.l-gnav-name span { margin-right: 0.2em; font-size: 2rem; }
.l-gnav-sns { position: absolute; top: 6px; right: 0; }
.l-gnav-sns__item { width: 30px; height: 30px; }
.l-gnav-sns__item > a { display: block; width: 100%; height: 100%; }
.l-gnav-address { margin-top: 12px; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.66666666667; }
.l-gnav-others { margin-top: 20px; }
.l-gnav-others__item { font-size: 1rem; letter-spacing: 0.05em; line-height: 1.4; }
.l-gnav-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; }
.l-gnav-copyright { margin: 8px 0 0; font-family: 'Montserrat', serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }

@media screen and (max-width: 375px) {
  .l-gnav-ec__title { font-size: 1.1rem; }
}

@media screen and (min-width: 769px) {
  .l-gnav { display: none !important; }
}

/* top
------------------------------------------------ */
/* common */
.body-home .l-main { padding-top: 0; }

/* visual */
.top-visual { position: relative; clip-path: ellipse(130% 100% at 50% 0); overflow: hidden; }
.top-visual-copy { position: absolute; bottom: 110px; right: 44px; margin: 0; width: 76px; z-index: 2; }
.top-visual-slide { position: relative; z-index: 1; }
.top-visual-lists__item { aspect-ratio: 1 / 2.16744186047; }
.top-visual-lists__item picture { height: 100%; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .top-visual { clip-path: ellipse(84% 100% at 50% 0); }
  .top-visual-copy { bottom: 192px; right: 70px; width: 80px; }
  .top-visual-lists__item { aspect-ratio: 1 / 0.5625; }
}

/* philosophy */
.top-philosophy { margin-top: 100px; }
.top-philosophy .title-1 { margin-bottom: 20px; }
.top-philosophy-copy { margin: 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.top-philosophy-text { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.5; }
.top-philosophy .btn-1 { margin-top: 20px; }

@media screen and (max-width: 768px) {
  .top-philosophy > .l-wrap { padding: 0 30px; }
  .top-philosophy-copy { margin-bottom: 50px; }
}

@media screen and (min-width: 769px) {
  .top-philosophy { margin-top: 130px; }
  .top-philosophy .title-1 { margin-bottom: 38px; }
  .top-philosophy-content { display: flex; justify-content: space-between; }
  .top-philosophy-copy { font-size: 3.6rem; }
  .top-philosophy-info { padding-top: 10px; }
  .top-philosophy-text { font-size: 1.4rem; font-weight: 400; }
  .top-philosophy .btn-1 { margin-top: 20px; }
}

/* topics */
.top-topics { margin-top: 100px; }
.top-topics .title-1 { margin-bottom: 15px; }
.top-topics-title { margin: 0 0 26px; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }

@media screen and (max-width: 768px) {
  .top-topics > .l-wrap { padding: 0 30px; }
  .top-topics-content { display: flex; flex-flow: column; }
  .top-topics .btn-1 { margin-top: 20px; }
}

@media screen and (min-width: 769px) {
  .top-topics { margin-top: 140px; }
  .top-topics .title-1 { margin-bottom: 15px; }
  .top-topics-content { position: relative; }
  .top-topics-title { margin-bottom: 30px; font-size: 3.6rem; }
  .top-topics .btn-1 { position: absolute; top: 12px; right: 0; }
}

/* philosophy
------------------------------------------------ */
/* common */
.body-philosophy .l-main { padding-top: 120px; }

@media screen and (min-width: 769px) {
  .body-philosophy .l-main { padding-top: 260px; }
}

/* introduce */
.philosophy-introduce-text { margin: 50px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.5; }
.philosophy-introduce-gallery { position: relative; aspect-ratio: 1 / 1.13023255814; overflow: hidden; }
.philosophy-introduce-gallery__item { position: absolute; }

@media screen and (max-width: 768px) {
  .philosophy-introduce { display: flex; flex-flow: column-reverse; }
  .philosophy-introduce-info { padding: 0 40px; }
  .philosophy-introduce-gallery { margin-bottom: 26px; }
  .philosophy-introduce-gallery__item:nth-of-type(1) { top: 12.7572016461%; left: 3.48837209302%; width: 83.7209302326%; z-index: 3; }
  .philosophy-introduce-gallery__item:nth-of-type(2) { top: 0; left: 65.9581395349%; width: 36.3674418605%; z-index: 2; }
  .philosophy-introduce-gallery__item:nth-of-type(3) { bottom: 0; left: 62.5581395349%; width: 28.0744186047%; z-index: 1; }
}

@media screen and (min-width: 769px) {
  .philosophy-introduce-info { margin: 0 auto; padding: 0 20px; max-width: 1000px; }
  .philosophy-introduce-text { margin-top: 80px; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.1em; }
  .philosophy-introduce-gallery { position: absolute; top: 13.4027777778vw; left: 0; width: 100%; aspect-ratio: 1 / 0.567361111111; z-index: -1; }
  .philosophy-introduce-gallery__item:nth-of-type(1) { top: 7.95593635251%; left: 46.1111111111%; width: 46.1111111111%; max-width: 614px; z-index: 3; }
  .philosophy-introduce-gallery__item:nth-of-type(2) { top: 0; left: 80.2777777778%; width: 21.3194444444%; max-width: 307px; z-index: 2; }
  .philosophy-introduce-gallery__item:nth-of-type(3) { top: 74.0514075887%; left: 72.7083333333%; width: 16.4583333333%; max-width: 237px; z-index: 1; }
}

@media screen and (min-width: 1441px) {
  .philosophy-introduce-gallery { top: 193px; aspect-ratio: inherit; height: 817px; }
}

/* block */
.philosophy-block { margin-top: 60px; }
.philosophy-block-copy { margin: 20px 0 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.philosophy-block-text { margin: 40px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.philosophy-block-photo { position: relative; aspect-ratio: 1 / 0.897435897436; overflow: hidden; }

@media screen and (max-width: 768px) {
  .philosophy-block { display: flex; flex-flow: column-reverse; }
  .philosophy-block-info { padding: 0 40px; }
  .philosophy-block-photo { margin-bottom: 40px; }

  .philosophy-block:nth-of-type(even) .philosophy-block-photo { margin-right: 40px; border-radius: 0 20px 20px 0; }
  .philosophy-block:nth-of-type(odd) .philosophy-block-photo { margin-left: 40px; border-radius: 20px 0 0 20px; }
}

@media screen and (min-width: 769px) {
  .philosophy-block { display: flex; align-items: center; margin-top: 150px; }
  .philosophy-introduce + .philosophy-block { margin-top: 240px; }

  .philosophy-block-info { width: calc(100% - 45%); }
  .philosophy-block-copy { margin-top: 30px; font-size: 3.6rem; line-height: 1.72222222222; }
  .philosophy-block-text { margin-top: 60px; font-size: 1.4rem; font-weight: 400; line-height: 2.71428571429; }
  .philosophy-block-photo { width: 45%; }

  .philosophy-block:nth-of-type(even) { flex-flow: row-reverse; }
  .philosophy-block:nth-of-type(even) .philosophy-block-photo { border-radius: 0 20px 20px 0; }
  .philosophy-block:nth-of-type(even) .philosophy-block-info { padding: 0 10.4166666667vw 0 11.3888888889vw; }
  .philosophy-block:nth-of-type(odd) .philosophy-block-photo { border-radius: 20px 0 0 20px; }
  .philosophy-block:nth-of-type(odd) .philosophy-block-info { padding: 0 11.3888888889vw 0 10.4166666667vw; }
}

/* value */
.philosophy-value { margin-top: 70px; }
.philosophy-value-content { padding: 25px; background-color: #fff; }
.philosophy-value-copy { margin: 15px 0 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.philosophy-value-text { margin: 40px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.philosophy-value-photo { position: relative; aspect-ratio: 1 / 0.984615384615; border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .philosophy-value > .l-wrap { padding: 0 30px; }
  .philosophy-value-content { display: flex; flex-flow: column-reverse; }
  .philosophy-value-photo { margin-bottom: 30px; }
}

@media screen and (min-width: 769px) {
  .philosophy-value { margin-top: 150px; }
  .philosophy-value-content { display: flex; flex-flow: row-reverse; align-items: center; padding: 80px 35px; }
  .philosophy-value-info { padding-left: 48px; width: calc(100% - 49.0196078431%); }
  .philosophy-value-copy { margin-top: 22px; font-size: 3.6rem; line-height: 1.72222222222; }
  .philosophy-value-text { margin-top: 42px; font-size: 1.4rem; font-weight: 400; line-height: 2.71428571429; }
  .philosophy-value-photo { width: 49.0196078431%; }
}

/* services
------------------------------------------------ */
/* business */
.services-business-above { margin-bottom: 50px; }
.services-business-above .title-1 { margin-bottom: 15px; }
.services-business-visual { position: relative; aspect-ratio: 1 / 0.538461538462; margin-left: 40px; border-radius: 20px 0 0 20px; overflow: hidden; }
.services-business-visual picture { height: 100%; }
.services-business-content { margin-top: 50px; }
.services-business-copy { margin: 0; font-size: 2.2rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8; }
.services-business-text { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }

.body-services-gocochi .services-business-logo { width: 85.7028571429%; }
.body-services-shinart .services-business-logo { width: 74.7371428571%; }

@media screen and (max-width: 768px) {
  .services-business-above > .l-wrap { padding: 0 30px; }
  .services-business-content > .l-wrap { padding: 0 30px; }
  .services-business-text { margin-top: 20px; }
  .services-business-content .btn-2 { margin-top: 30px; }
}

@media screen and (min-width: 769px) {
  .services-business-visual { aspect-ratio: 1 / 0.31007751938; margin-left: calc((100vw - 1140px) / 2); }
  .services-business-above { margin-bottom: 70px; }
  .services-business-above .title-1 { margin-bottom: 20px; }
  .services-business-content { margin-top: 80px; }
  .services-business-content > .l-wrap { display: grid; gap: 30px; grid-template-columns: calc(100% - (500px + 30px)); }
  .services-business-copy { grid-row: 1 / 3; grid-column: 1; font-size: 2.8rem; line-height: 2; }
  .services-business-text { grid-row: 1; grid-column: 2; font-size: 1.4rem; font-weight: 400; line-height: 2.71428571429; }
  .services-business-content .btn-2 { grid-row: 2; grid-column: 2; }

  .body-services-gocochi .services-business-logo { width: 282px; }
  .body-services-shinart .services-business-logo { width: 275px; }
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .services-business-visual { margin-left: 20px; }
}

/* introduce */
.services-introduce { margin-top: 100px; }
.services-introduce-copy { margin: 0; font-size: 2.6rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.53846153846; }
.services-introduce-text { margin: 20px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.services-introduce-photo { position: relative; aspect-ratio: 1 / 0.7028571428571; border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .services-introduce > .l-wrap { display: flex; flex-flow: column-reverse; padding: 0 40px; }
  .services-introduce-photo { margin-bottom: 40px; }

  .body-services-shinart .services-introduce-copy { font-size: 2.4rem; line-height: 1.66666666667; }
}

@media screen and (min-width: 769px) {
  .services-introduce { margin-top: 104px; }
  .services-introduce > .l-wrap { display: flex; flex-flow: row-reverse; align-items: center; }
  .services-introduce-info { padding-left: 100px; width: calc(100% - 54.3859649123%); }
  .services-introduce-copy { font-size: 2.8rem; line-height: 2; }
  .services-introduce-text { margin-top: 28px; font-size: 1.4rem; font-weight: 400; line-height: 2.71428571429; }
  .services-introduce-photo { aspect-ratio: 1 / 0.725806451613; width: 54.3859649123%; }
}

/* passions */
.services-passions { margin-top: 70px; }
.services-passions-content { padding: 58px 25px; background-color: #fff; }
.services-passions-copy { margin: 5px 0 0; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.71428571429; }
.services-passions-lists { margin-top: 42px; }
.services-passions-lists__item:not(:first-child) { margin-top: 50px; }
.services-passions-lists__copy { margin: 0; font-size: 2.2rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.63636363636; }
.services-passions-lists__text { margin: 15px 0 0; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.8; }
.services-passions-lists__photo { position: relative; aspect-ratio: 1 / 1.05960264901; border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .services-passions > .l-wrap { padding: 0 30px; }
  .services-passions-lists__item { display: flex; flex-flow: column-reverse; }
  .services-passions-lists__photo { margin-bottom: 30px; }
}

@media screen and (min-width: 769px) {
  .services-passions { margin-top: 100px; }
  .services-passions-content { padding: 100px 90px; }
  .services-passions-copy { margin-top: 20px; font-size: 3.6rem; line-height: 1.72222222222; }
  .services-passions-lists { margin-top: 80px; }
  .services-passions-lists__item { display: flex; align-items: center; }
  .services-passions-lists__item:not(:first-child) { margin-top: 48px; }
  .services-passions-lists__info { width: calc(100% - 42.1875%); }
  .services-passions-lists__copy { font-size: 2.6rem; line-height: 1.84615384615; }
  .services-passions-lists__text { margin-top: 20px; font-size: 1.2rem; font-weight: 400; line-height: 2.5; }
  .services-passions-lists__photo { aspect-ratio: 1 / 0.938271604938; width: 42.1875%; }
  .services-passions-lists__item:nth-of-type(odd) { flex-flow: row-reverse; }
  .services-passions-lists__item:nth-of-type(odd) .services-passions-lists__info { padding-left: 70px; }
  .services-passions-lists__item:nth-of-type(even) .services-passions-lists__info { padding-right: 70px; }
}

/* topics
------------------------------------------------ */
/* common */
.body-topics .title-page { margin-bottom: 48px; }

@media screen and (max-width: 768px) {
  .body-topics .title-page { text-align: center; }
}

@media screen and (min-width: 769px) {
  .body-topics .title-page { margin-bottom: 48px; }
  .body-topics.is-single .title-page { margin-bottom: 98px; }
}

/* archive */
@media screen and (max-width: 768px) {
  .topics-archive > .l-wrap { padding: 0 30px; }
}

/* detail */
.topics-detail-above { display: flex; flex-wrap: wrap; align-items: flex-start; margin-bottom: 30px; }
.topics-detail-date { margin: 0; padding-top: 6px; font-family: 'Montserrat', serif; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.topics-detail-categories { display: flex; flex-wrap: wrap; margin: -10px 0 0 6px; }
.topics-detail-categories > span { margin: 10px 0 0 10px; padding: 5px 4px; min-width: 78px; border: 1px solid #6EBA44; border-radius: 100px; text-align: center; font-family: 'Montserrat', 'Zen Kaku Gothic Antique', serif; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; color: #6EBA44; }
.topics-detail-title { margin: 8px 0 0; width: 100%; font-size: 2.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.58333333333; }
.topics-detail-content { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.topics-detail-content p { margin: 0; }
.topics-detail-content p + p { margin-top: 2.14285714286em; }
.topics-detail-content .wp-block-image { margin: 40px 0; }
.topics-detail-content .wp-block-image:first-child { margin-top: 0; }
.topics-detail-content .wp-block-image:last-child { margin-bottom: 0; }
.topics-detail-content a { color: #7FBE26; }

@media screen and (max-width: 768px) {
  .topics-detail > .l-wrap { padding: 0 30px; }
}

@media screen and (min-width: 769px) {
  .topics-detail > .l-wrap { max-width: 922px; }
  .topics-detail-above { margin-bottom: 30px; }
  .topics-detail-date { font-size: 1.6rem; }
  .topics-detail-categories { margin-left: 8px; }
  .topics-detail-categories > span { min-width: 110px; font-size: 1.6rem; }
  .topics-detail-title { margin-top: 18px; font-size: 2.8rem; line-height: 2; }
  .topics-detail-content { font-size: 1.4rem; line-height: 2.71428571429; }
  .topics-detail-content p + p { margin-top: 2.71428571429em; }
  .topics-detail-content .wp-block-image { margin: 78px 0; }
}

/* company
------------------------------------------------ */
/* common */
.body-company .title-page { margin-bottom: 48px; }

@media screen and (max-width: 768px) {
  .body-company .title-page { text-align: center; }
}

@media screen and (min-width: 769px) {
  .body-company .title-page { margin-bottom: 98px; }
}

/* message */
.company-message { position: relative; z-index: 1; }
.company-message::before { content: ''; position: absolute; top: 9.3023255814vw; left: 0; width: 100%; height: 77.2093023256vw; background-color: #7FBE26; z-index: -1; }
.company-message-text { margin: 24px 0 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.company-message-signature { margin: 30px 0 0; text-align: right; }
.company-message-signature__post { margin: 0; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.1875; }
.company-message-signature__name { margin: 0; font-size: 2.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.59090909091; }
.company-message-photo { position: relative; aspect-ratio: 1 / 1.4628975265; border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 768px) {
  .company-message > .l-wrap { display: flex; flex-flow: column-reverse; }
  .company-message-info { padding: 0 40px; }
  .company-message-photo { margin: 0 auto 50px; width: 65.8139534884%; }
}

@media screen and (min-width: 769px) {
  .company-message::before { top: 58px; width: calc((100vw - 1140px) / 2); height: 464px; }
  .company-message > .l-wrap { display: flex; flex-flow: row-reverse; align-items: center; }
  .company-message-info { padding-left: 60px; width: calc(100% - 34.649122807%); }
  .company-message-text { margin-top: 40px; font-size: 1.4rem; font-weight: 400; line-height: 2.71428571429; }
  .company-message-signature { margin-top: 30px; }
  .company-message-signature__post { font-size: 1.4rem; }
  .company-message-signature__name { font-size: 2.2rem; }
  .company-message-photo { width: 34.649122807%; }
}

@media screen and (min-width: 769px) and (max-width: 1180px) {
  .company-message::before { top: 50%; transform: translateY(-50%); width: 20px; height: 39.3220338983vw; }
}

/* profile */
.company-profile { margin-top: 70px; }
.company-profile-content { padding: 60px 25px; background-color: #fff; }
.company-profile .title-3 { margin-bottom: 20px; }
.company-profile-box { margin: 0; padding: 20px 0; background: url(./_assets/img/share/dotted1.png) repeat-x left bottom; background-size: auto 3px; }
.company-profile-box__title { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.company-profile-box__text { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.company-profile-box__text a { color: #7FBE26; }
.company-profile-lists__sub__item { position: relative; padding-left: 40px; }
.company-profile-lists__sub__item::before,
.company-profile-lists__sub__item::after { content: ''; position: absolute; background-color: #2A2D27; }
.company-profile-lists__sub__item::before { top: 0; left: 15px; width: 1px; height: 100%; }
.company-profile-lists__sub__item::after { top: 15px; left: 15px; width: 16px; height: 1px; }
.company-profile-lists__sub__item:last-child::before { height: 50%; }
.company-profile .btn-2 { margin-top: 40px; }

@media screen and (max-width: 768px) {
  .company-profile > .l-wrap { padding: 0 30px; }
  .company-profile-box__title { margin-bottom: 8px; }
}

@media screen and (min-width: 769px) {
  .company-profile { margin-top: 100px; }
  .company-profile-content { padding: 80px 130px; }
  .company-profile .title-3 { margin-bottom: 70px; }
  .company-profile-box { display: flex; padding: 30px 0; }
  .company-profile-box__title { padding-left: 90px; width: 320px; font-size: 1.6rem; }
  .company-profile-box__text { width: calc(100% - 320px); font-size: 1.6rem; }
  .company-profile .btn-2 { margin-top: 50px; text-align: center; }
}

/* download
------------------------------------------------ */
/* common */
.body-download .title-page { margin-bottom: 48px; }
.body-download-form .title-page { margin-bottom: 26px; text-align: center; }

@media screen and (max-width: 768px) {
  .body-download .title-page { text-align: center; }
}

@media screen and (min-width: 769px) {
  .body-download .title-page { margin-bottom: 100px; }
  .body-download-form .title-page { margin-bottom: 26px; }
}

/* archive */
@media screen and (max-width: 768px) {
  .download-archive > .l-wrap { padding: 0 30px; }
}

@media screen and (min-width: 769px) {
  .download-archive > .l-wrap { max-width: 1080px; }
}

/* form */
.download-form-lead { margin: 0 0 50px; text-align: center; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }

@media screen and (max-width: 768px) {
  .download-form > .l-wrap { padding: 0 30px; }
}

@media screen and (min-width: 769px) {
  .download-form-lead { margin-bottom: 100px; font-size: 1.4rem; line-height: 2; }
}

/* contact
------------------------------------------------ */
/* common */
.body-contact .title-page { margin-bottom: 26px; text-align: center; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .body-contact .title-page { margin-bottom: 26px; }
}

/* form */
.contact-form-lead { margin: 0 0 50px; text-align: center; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.contact-form .title-4 { margin: 50px 0 10px; }
.contact-form-lead + .title-4 { margin-top: 0 !important; }
.contact-form-tel { margin-top: 36px; }
.contact-form-tel__num { display: flex; justify-content: center; align-items: baseline; margin: 0; font-family: 'Montserrat', serif; font-size: 2rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; }
.contact-form-tel__num strong { padding-left: 0.2em; font-size: 3rem; font-weight: 600; }
.contact-form-tel__num strong a { color: #7FBE26; }
.contact-form-tel__hour { margin: 20px 0 0; padding: 15px 0; background-color: #fff; text-align: center; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.85714285714; }

@media screen and (max-width: 768px) {
  .contact-form > .l-wrap { padding: 0 30px; }
}

@media screen and (min-width: 769px) {
  .contact-form-lead { margin-bottom: 100px; font-size: 1.4rem; line-height: 2; }
  .contact-form .title-4 { margin: 100px 0 30px; }
  .contact-form-tel { margin-top: 40px; text-align: center; }
  .contact-form-tel__num { font-size: 2.6rem; }
  .contact-form-tel__num strong { font-size: 4.9rem; }
  .contact-form-tel__hour { display: inline-block; margin-top: 10px; padding: 6px 16px; font-size: 1.4rem; line-height: 2; }

}

/* privacy
------------------------------------------------ */
/* common */
.body-privacy .title-page { margin-bottom: 48px; text-align: center; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .body-privacy .title-page { margin-bottom: 95px; }
}

.privacy-lead { margin: 0 0 24px; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.privacy-lists-item:not(:first-child) { margin-top: 20px; }
.privacy-lists-title { position: relative; margin: 0 0 12px; padding-left: 24px; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.03em; line-height: 2.66666666667; }
.privacy-lists-title::before { content: ''; position: absolute; top: 20px; left: 0; width: 14px; height: 14px; background-color: #7FBE26; border-radius: 50%; }
.privacy-lists-content { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.14285714286; }
.privacy-lists-text { margin: 0; }
.privacy-lists-ordered { margin-left: 20px; list-style: decimal; }
.privacy-lists-alphabet > li { position: relative; padding-left: 18px; }
.privacy-lists-alphabet > li::before { content: attr(data-alphabet)'.'; position: absolute; top: 0; left: 0; }
.privacy-lists-roman { margin-left: 30px; list-style: lower-roman; }
.privacy-lists-box { display: flex; margin: 0; }
.privacy-lists-box__title { white-space: nowrap; }
.privacy-lists-box__title::after { content: '\FF1A'; }
.privacy-lists-box__text { margin: 0; }
.privacy-lists-box__text a { color: #7FBE26; }

@media screen and (max-width: 768px) {
  .privacy > .l-wrap { padding: 0 30px; }
}

@media screen and (min-width: 769px) {
  .privacy > .l-wrap { max-width: 920px; }
  .privacy-lead { margin-bottom: 56px; font-size: 1.4rem; line-height: 2; }
  .privacy-lists-item:not(:first-child) { margin-top: 60px; }
  .privacy-lists-title { margin-bottom: 20px; font-size: 2.4rem; letter-spacing: 0.05em; line-height: 2; }
  .privacy-lists-content { font-size: 1.4rem; line-height: 2; }
}

/* footer
------------------------------------------------ */
.l-ft { position: relative; margin-top: 96px; padding: 80px 0 40px; background-color: #7FBE26; clip-path: ellipse(150% 100% at 50% 100%); color: #fff; }
.l-ft a { color: #fff; }

.l-ft-links__item { font-size: 1.6rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.4375; }
.l-ft-links__item > a,
.l-ft-links__item > span { display: inline-block; vertical-align: top; }
.l-ft-links__item > a { text-decoration: none; }
.l-ft-sub { margin-top: 20px; }
.l-ft-sub__item { font-size: 1.2rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.41666666667; }
.l-ft-sub__item:not(:first-child) { margin-top: 20px; }
.l-ft-sub__item > a { display: inline-block; position: relative; text-decoration: none; vertical-align: top; }
.l-ft-sub__item > a[target=_blank] { padding-right: 24px; }
.l-ft-sub__item > a[target=_blank]::after { content: ''; position: absolute; top: 50%/*3px*/; right: 0; transform: translateY(-50%); width: 15px; height: 12px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.l-ft-contact { margin: 40px 0 0; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; }
.l-ft-contact > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 72px; border: 1px solid #fff; border-radius: 20px; text-decoration: none; }
.l-ft-contact > a::before { content: ''; margin-right: 15px; width: 50px; height: 45px; background: url(./_assets/img/icon/arrow1.svg) no-repeat center center #fff; background-size: 19px; border-radius: 50%; }
.l-ft-info { position: relative; }
.l-ft-name { display: flex; align-items: baseline; margin: 0; font-size: 3.2rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.l-ft-name span { margin-right: 0.2em; font-size: 2rem; }
.l-ft-sns { position: absolute; top: 6px; right: 0; }
.l-ft-sns__item { width: 30px; height: 30px; }
.l-ft-sns__item > a { display: block; width: 100%; height: 100%; }
.l-ft-address { margin-top: 12px; font-size: 1.2rem; font-weight: 500; font-style: normal; letter-spacing: 0.05em; line-height: 1.66666666667; }
.l-ft-others__item { font-size: 1rem; letter-spacing: 0.05em; line-height: 1.4; }
.l-ft-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; }
.l-ft-copyright { margin: 0; font-family: 'Montserrat', serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.l-ft-copyright > small { font-size: inherit; }

.u-device-click .l-ft-links__item > a,
.u-device-click .l-ft-sub__item > a,
.u-device-click .l-ft-others__item > a { transition: opacity 0.4s ease; }
.u-device-click .l-ft-links__item > a:hover,
.u-device-click .l-ft-sub__item > a:hover,
.u-device-click .l-ft-others__item > a:hover { opacity: 0.7; }
.u-device-click .l-ft-contact > a::before { transition: transform 0.4s ease; }
.u-device-click .l-ft-contact > a:hover::before { transform: scale(1.1); }

@media screen and (max-width: 768px) {
  .l-ft > .l-wrap { padding: 0 30px; }
  .l-ft-links { display: flex; flex-wrap: wrap; }
  .l-ft-links__item:not(:first-child) { margin-top: 30px; }
  .l-ft-links__item:nth-of-type(2n+1) { width: 55.4285714286%; }
  .l-ft-links__item:nth-of-type(2n) { width: calc(100% - 55.4285714286%); }
  .l-ft-links__item:first-child { width: 100%; }
  .l-ft-info { margin-top: 38px; }
  .l-ft-others { margin-top: 20px; }
  .l-ft-copyright { margin-top: 8px; }
}

@media screen and (min-width: 769px) {
  .l-ft { margin-top: 100px; padding: 130px 0 30px; clip-path: ellipse(70% 100% at 50% 100%); }
  .l-ft > .l-wrap { display: grid; align-items: flex-start; column-gap: 86px; grid-template-columns: 304px; max-width: 900px; }

  .l-ft-links { display: grid; align-items: flex-start; grid-row: 1 / 4; grid-column: 2; position: relative; }
  .l-ft-links__item { margin-top: 34px; font-size: 1.6rem; }
  .l-ft-links__item:nth-of-type(1) { display: none; }
  .l-ft-links__item:nth-of-type(2) { grid-row: 1; grid-column: 1; margin-top: 0; }
  .l-ft-links__item:nth-of-type(3) { grid-row: 2 / 4; grid-column: 1; }
  .l-ft-links__item:nth-of-type(4) { position: absolute; bottom: 0; left: 0; margin-top: 0; }
  .l-ft-links__item:nth-of-type(5) { grid-row: 1; grid-column: 2; margin-top: 0; }
  .l-ft-links__item:nth-of-type(6) { grid-row: 2; grid-column: 2; }
  .l-ft-links__item:nth-of-type(7) { grid-row: 3; grid-column: 2; }
  .l-ft-sub { margin: 20px 0 0 20px; }
  .l-ft-sub__item { font-size: 1.4rem; }

  .l-ft-contact { grid-row: 3; grid-column: 1; margin-top: 28px; font-size: 1.4rem; }
  .l-ft-contact > a { width: 274px; }
  
  .l-ft-info { grid-row: 1; grid-column: 1; }
  .l-ft-name { font-size: 3.6rem; }
  .l-ft-name span { font-size: 2.4rem; }
  .l-ft-sns { top: 6px; right: 0; }
  .l-ft-address { grid-row: 2; grid-column: 1; margin-top: 12px; font-size: 1.2rem; }
  .l-ft-others,
  .l-ft-copyright { margin-top: 80px; }
  .l-ft-others { grid-row: 5; grid-column: 1; }
  .l-ft-others__item { font-size: 1rem; }
  .l-ft-copyright { grid-row: 5; grid-column: 2; text-align: right; font-size: 1rem; }
}

/* form */
.l-ft-form { position: relative; margin-top: 100px; padding: 24px 0; background-color: #7FBE26; color: #fff; }
.l-ft-form__copyright { margin: 0; text-align: center; font-family: 'Montserrat', serif; font-size: 1rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; }
.l-ft-form__copyright > small { font-size: inherit; }

@media screen and (min-width: 769px) {
  .l-ft-form { margin-top: 100px; padding: 24px 0; }
}