@charset "utf-8";
/* CSS Document */
#wpadminbar {display: none!important;}
/*===================================================================
//  基本設定
//=================================================================*/
body.noscroll {overflow: hidden;}
#pagetop,
#contents,
#pagebottom {word-break: break-all; width: 100%;}
#contents {position: relative; overflow: clip;}
.contents-wrapper {width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 4%; max-width: 1500px;}

.grecaptcha-badge {visibility: hidden;}



/* before・after・斜線関係 */
.before-content,
.after-content,
.blue-bg,
.single-contents h2 {position: relative;}
.before-content:before,
.after-content:after,
.blue-bg:before,
.blue-bg:after,
.single-contents h2:before {position: absolute; content: ""; display: block;}
.blue-bg {background: url(../img/common/noise.png) repeat #a0bfcb;}
.blue-bg:before,
.blue-bg:after,
#pagebottom:before {left: -10%; width: 120%; background: url(../img/common/noise.png) repeat #a0bfcb; z-index: -1; clip-path: polygon(100% 0, 0 100%, 100% 100%); height: 100px; margin-bottom: 0;}
.blue-bg:before,
#pagebottom:before {top: -95px;}
.blue-bg:after {bottom: -95px; clip-path: polygon(0 0, 0% 100%, 100% 0);}


/* fade-anime */
.fade-anime {position: relative;}
.fade-anime,
.fade-anime:before {opacity: 0; bottom: 10px;}
.fade-anime.start,
.fade-anime.start:before {animation: FadeAnime .6s ease-in-out 0s forwards;}
.fade-anime.start:before {animation-delay: .3s;}
@keyframes FadeAnime {
  0% {
    bottom: 10px;
    opacity: 0;
  }
  100% {
    bottom: 0;
    opacity: 1;
  }
}


/* 文章装飾 */
.beige {color: #e4e1df;}
.sentence p:not(:first-of-type) {padding-top: 2em;}

.white-bg-text,
.beige-bg-text,
.yellow-bg-text,
.blue-bg-text,
.green-bg-text {background: #f2f2f2; font-weight: 700; padding: 0 .2em; margin: 0 .2em; line-height: 1.5;}
.beige-bg-text {background: #e4e1df;}
.yellow-bg-text {background: #e9e1c4;}
.blue-bg-text {background: #a0bfcb;}
.green-bg-text {background: #bccec5;}

.reset .note {position: relative; padding-left: 1.3em; font-size: 90%; display: block;}
.note:before {content: "※ "; position: absolute; top: 0; left: 0;}

.form-contents a,
.single-contents a {text-decoration: underline; color: #143154;}
.form-contents a[target="_blank"],
.single-contents a[target="_blank"] {padding-right: 1em; position: relative; display: inline-block;}
.form-contents a[target="_blank"]:before,
.single-contents a[target="_blank"]:before {content: url("../img/common/newwindow.svg"); display: inline-block; line-height: 1; position: absolute; top: 50%; right: 0; height: 1em; width: 1em; margin-top: -.5em;}



/*===================================================================
//  ヘッダー
//=================================================================*/
#pagetop {position: fixed; top: 0; left: 0; width: 100%; z-index: 500;}
.head-contents:before,
.head-contents:after {left: -10%; width: 120%; background: url(../img/common/noise.png) repeat #143154; height: 100%; z-index: -1;}
.head-contents:before {clip-path: polygon(0 0, 0% 100%, 100% 0); height: 100px; top: 40%;}
.head-contents:after {top: -58%;}
.head-contents > .contents-wrapper {justify-content: space-between; align-items: start;}
.head-contents .logo,
.head-text {display: inline-flex; vertical-align: middle;}
.head-contents .logo,
.head-contents .logo img {width: 128px;}
.reset .head-text {font-weight: 500; font-size: 1.2rem; padding-left: 2em;}
.gnav a {position: relative; color: #e4e1df; padding: 2.5em 1.2em;}
.gnav a span,
.foot-contents .contact-btn span,
.catch-wrapper .tokoto a span {position: relative; z-index: 2;}
.gnav .contact-btn,
#menu-button {background: #e9e1c4; color: #143154; font-weight: 700; padding: 2.5em 3em; margin-left: 1.3em; font-size: 1.4rem; cursor: pointer;}

#slide-menu {z-index: 500;}
#slide-menu.open {top: 0;}
#slide-menu .scroll-box {height: 100%; overflow-y: scroll; max-width: 600px; margin: 0 auto; padding-bottom: 5em;
	/* IE, Edge 対応 */
	-ms-overflow-style: none;
	/* Firefox 対応 */
	scrollbar-width: none;}
	/* Chrome, Safari, 新Edge 対応 */
	#slide-menu .scroll-box::-webkit-scrollbar {display:none;}
#menu-button {z-index: 501;}
#menu-button > span {padding-top: 2em;}
#menu-button > span:before,
#menu-button > span:after {left: 20%; width: 60%; height: 2px; background: #143154;}
#menu-button > span,
#menu-button > span:before,
#menu-button > span:after {display: inline-block; transition: all .5s ease-in-out; box-sizing: border-box;}
#menu-button > span:before {top: 0;}
#menu-button > span:after {top: 14px;}
#menu-button.open > span:before {transform: translateY(7px) rotate(45deg);}
#menu-button.open > span:after {transform: translateY(-7px) rotate(-45deg);}




/*===================================================================
//  コンテンツ基本
//=================================================================*/
.page-title > .contents-wrapper:before,
.catch-wrapper .tokoto > .contents-wrapper:before,
.catch-wrapper .tokoto > .contents-wrapper:before,
.right-footprints .footprints:before,
.left-footprints .footprints:before,
.center-title .base-title:before,
.cv-btn-wrapper a:before,
.cv-btn-wrapper a:after,
.single-contents h2:before,
#home-message > .blue-bg > .contents-wrapper:before,
#home-service > .contents-wrapper:before,
#home-ippo > .blue-bg > .contents-wrapper:before,
#worries > .contents-wrapper:before,
#change ol li:after,
.change-next:after,
#core > .contents-wrapper:before {background-size: contain; background-position: 50% 50%; background-repeat: no-repeat;}

.page-title:before,
.catch:before {background: #143154; width: 1px; height: 80px; bottom: 5px; left: 50%; transform: translate(-50%, 0); z-index: 1;}
.page-title > .contents-wrapper {padding-top: 14em; padding-bottom: 10em;}
.page-title > .contents-wrapper:before,
.catch-wrapper .tokoto > .contents-wrapper:before {max-width: 91px; max-height: 86px; position: absolute; bottom: 57px; right: 36px; width: 6.5em; height: 6.5em;}
.page-title .subtitle {font-weight: 700; font-size: 1.8rem;}
.page-title .title {font-weight: 500; font-size: 3rem;}

.reset .page-toptext {padding: 2em 0 5em;}
.reset .page-toptext.no-bottom {padding-bottom: 2em;}
.reset .page-toptext:has(+ .base-button) {padding-bottom: 0;}
.page-toptext span,
.page-toptext strong {background: #e4e1df; font-weight: 700; padding: 0 .2em; margin: 0 .2em; line-height: 1.2;}
.page-toptext strong {background: #e9e1c4;}


/* 目次 */
.contentslist {max-width: 860px; margin: 0 auto; padding-bottom: 4em;}
.contentslist .title-wrapper,
.form-wrapper .title-wrapper {justify-content: space-between; background: #143154; padding: .3em 1em; color: #e4e1df;}
.contentslist .title-wrapper:before,
.form-wrapper .title-wrapper:before {left: 0; width: 100%; background: #143154; clip-path: polygon(100% 0, 0 100%, 100% 100%); height: 18px; margin-bottom: 0; top: -17px;}
.contentslist .drop-down-btn {font-size: 1.3rem; cursor: pointer; padding-right: 1em; position: relative; top: -5px;}
.contentslist .drop-down-btn:before,
.contentslist .drop-down-btn:after {transition:all .3s ease-in-out;}
.contentslist .drop-down-btn:before {width: 100%; height: 1px; bottom: .4em; left: 0; background: #e4e1df;}
.contentslist .drop-down-btn:after {display: inline-block; width: .8em; height: .6em; background: #e4e1df; clip-path: polygon(0 0, 100% 0%, 50% 100%); top: .6em; right: 0;}
.contentslist .drop-down-btn.down:after {clip-path: polygon(0 100%, 50% 0, 100% 100%);}
.contentslist .drop-down-contents {background: #e4e1df; padding: 1.5em 3em;}
.contentslist li a {text-decoration: underline; color: #143154;}
.contentslist .in-list li {display: block; margin-left: 2.2em; position: relative;}
.contentslist .in-list li:before {content: ""; display: block; width: .3em; height: 1px; position: absolute; top: .8em; left: -1em; background: #143154;}


/* 基本のコンテンツ設定 */
.base-section {padding: 5em 0 3em;}
.bottom-section {padding-bottom: 10em; margin-bottom: -2em;}
.base-section.bottom-section {padding-bottom: 12em;}
.base-section .right-footprints {padding-top: 1em;}
.base-section .blue-bg .left-footprints {padding-top: 4em;}

.reset .base-title,
.single-contents h2 {font-size: 3rem; line-height: 1.6; padding-top: 5.2em; margin-bottom: 2.2em;}
.right-footprints .base-title {padding-top: 4.2em;}
.left-footprints .base-title {padding-left: 1.3em;}
.base-title .supplement {font-size: 1.8rem;}

.right-footprints .footprints,
.left-footprints .footprints {align-items: center; font-style: italic; color: #a0bfcb; letter-spacing: .3em; max-height: 179px; height: 130px; position: absolute; top: 0; font-size: 1.5rem;}
.right-footprints .footprints {padding-right: 4.5em; right: 0; top: -2.3em;}
.left-footprints .footprints {padding-left: 4.5em; left: 0;}
.right-footprints .footprints:before,
.left-footprints .footprints:before,
.cv-btn-wrapper .footprints:before,
.single-contents h2:before {background-image: url(../img/common/ashiato-blue.png); width: 100%; height: 100%; width: 74px;}
.right-footprints .footprints:before {transform: scale(-1, 1); right: 0;}
.left-footprints .footprints:before {background-position: 0 50%; left: 0;}
.right-footprints .footprints.white,
.left-footprints .footprints.white {color: #e4e1df;}
.right-footprints .footprints.white:before,
.left-footprints .footprints.white:before,
.cv-btn-wrapper .blue-bg .footprints:before {background-image: url(../img/common/ashiato-white.png);}

.center-title .base-title {font-size: 2.8rem; line-height: 1.4;}
.center-title .base-title:before {max-width: 91px; max-height: 170px; right: -26px; background-image: url("../img/common/ashiato-navy.png"); width: 12%; height: 7em; top: -2.2em; left: 50%; transform: translate(-50%, 0); z-index: 1;}
.center-title .base-title > span {background: #e4e1df; padding: 0 .2em; margin: 0 .2em;}
.center-title .base-title > span:not(:last-of-type) {margin-bottom: .2em;}

#post-cases .sentence p {padding-bottom: 6em;}
.bottom-template {margin-top: -7em; padding-bottom: 8em;}


/* ボタン */
.base-button {margin-top: 5em;}
.base-button > a {font-weight: bold; background: #a0bfcb; padding: 1.2em 1.6em 1.2em 2.2em; color: #143154;}
.base-button > a:before,
.cv-btn-wrapper a .first:before {left: 0; width: 100%; background: #a0bfcb; clip-path: polygon(100% 0, 0 100%, 100% 100%); height: 18px; margin-bottom: 0; top: -17px;}
.cv-btn-wrapper.no-bg a .first:before {width: calc(100% + 1px);}
.base-button > a > span {margin-right: 2.5em;}
.base-button > a > span:before,
.catch-wrapper .tokoto strong:after,
.foot-contents .contact-btn:after,
.cv-btn-wrapper a .text:before {display: inline-block; width: 1.6em; height: .6em; background: #143154; clip-path: polygon(0 47%, 77% 47%, 77% 0, 100% 50%, 77% 100%, 77% 55%, 0 55%); top: 50%; transform: translate(0, -50%); z-index: 2;}
.base-button > a > span:before {right: -2em;}
.cv-btn-wrapper a .text:before {right: 3em;}
.catch-wrapper .tokoto strong:after {right: 1em;}
.foot-contents .contact-btn:after {right: 2.5em;}

.blue-bg .base-button > a {background: #143154; color: #e4e1df;}
.blue-bg .base-button > a:before {background: #143154;}
.blue-bg .base-button > a > span:before {background: #e4e1df;}
.blue-bg .base-button.white > a {background: #e4e1df; color: #143154;}
.blue-bg .base-button.white > a:before {background: #e4e1df;}
.blue-bg .base-button.white > a > span:before {background: #143154;}


.more-button > a {max-width: 465px; width: 100%; box-sizing: border-box; padding: 2.5em 1.6em 2.5em 2.2em; margin-bottom: 5em;}


/* message */
#message.base-section {padding: 6em 0 11.5em;}
#message .arrange82 {padding-bottom: 0;}
#message .base-button > a {padding-left: 2em; padding-right: 2em;}
#message .base-button > a > span:before {right: -2.5em;}
.base-button.photo {line-height: 1.4;}
.base-button.photo figure {position: absolute; top: 50%; transform: translate(0, -50%); box-sizing: border-box; padding: 8px;}
.base-button.photo figure:before,
.base-button.photo figure:after {left: 0; top: 0; width: 100%; height: 100%; border-radius: 50%; background: linear-gradient(120deg, #e9e1c4, #a0bfcb);}
.base-button.photo figure:after {opacity: 0; background: linear-gradient(120deg, #e9e1c4, #e9e1c4);}
.base-button.photo figure img {position: relative; border-radius: 50%; z-index: 1;}
#message .arrange82 figure {max-width: 193px;}


/* cv-btn-wrapper */
.cv-btn-wrapper .contents-wrapper.fixedwidth {max-width: 730px; padding-bottom: 6em;}
.cv-btn-wrapper .blue-bg {padding-top: 3em;}
.cv-btn-wrapper .base-title {padding-top: 1.5em; padding-right: 1em; margin-bottom: 1.2em;}
.cv-btn-wrapper .contents-wrapper p,
main.home .sentence p {padding-left: 1.5em;}
.cv-btn-wrapper a {max-width: 465px; width: 85%; margin: 5em auto 2em; background: #e4e1df; letter-spacing: .25em;}
.cv-btn-wrapper a:before,
.cv-btn-wrapper a:after {bottom: -6em; z-index: 1; max-height: 133px; height: 9em;}
.cv-btn-wrapper a:before {max-width: 71px; left: -52px; background-image: url("../img/common/cv-left.png"); width: 17%;}
.cv-btn-wrapper a:after {max-width: 47px; right: -26px; background-image: url("../img/common/cv-right.png"); width: 11.5%;}
.cv-btn-wrapper a .first {font-size: 1.8rem; background: #143154; color: #e4e1df; padding: .5em 0;}
.cv-btn-wrapper a .first:before {background: #143154;}
.cv-btn-wrapper a .first > span {color: #e9e1c4;}
.cv-btn-wrapper a .text {font-size: 2.3rem; color: #143154; padding: 1.5em;}
.cv-btn-wrapper.no-bg a {border: solid 1px #143154;}



/* arrange-左右配置コンテンツ */
.no-base-title {padding-top: 2em;}
.arrange64,
.arrange82 {position: relative; padding-bottom: 3em;}
.arrange64 .title,
.arrange82 .title {letter-spacing: .05em; margin-bottom: 1.5em;}
.arrange64 figure {max-width: 264px;}
#why .arrange64 figure {max-width: 274px;}

.arrange82 .title {padding-bottom: 1em;}



/* base-table */
.base-table {width: 100%; border-collapse: collapse;}
.base-table tr {border-bottom: solid 1px #e4e1df;}
.base-table tr:first-child {border-top: solid 1px #e4e1df;}
.base-table th,
.base-table td {text-align: left; padding: 1.5em 1em;}



/* slick-slider */
ul.wide-slide .loop-block {margin-top: 0;}
ul.wide-slide.two,
ul.wide-slide.three {max-width: 620px; display: grid; margin: 0 auto;}
ul.wide-slide.three {max-width: 940px;}

.reset .slick-slider {max-width: 300px; margin: 0 auto; position: static;}
.reset .slick-slider,
.slick-list {overflow: visible !important;}
.reset .slick-slider .loop-block {margin-right: 20px;}

.slick-arrow {z-index: 1;}
.slick-prev,
.slick-next {width: auto; height: auto; top: 37%;}
.slick-prev:before,
.slick-next:before {padding: .8em .5em; background: rgba(20, 49, 84, .8); transition:all .3s ease-in-out;}
.slick-prev {left: 0;}
.slick-next {right: 0;}




/*===================================================================
//  archive
//=================================================================*/
.reset .no-post {padding: 5em 0; width: 90%; margin: 0 auto; background: #c4c4c4;}


.archive-wrapper .page-title > .contents-wrapper:before,
.single-wrapper.column .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-column.png");}
.archive-wrapper.post .page-title > .contents-wrapper:before,
.single-wrapper.post .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-news.png");}
.archive-wrapper.cases .page-title > .contents-wrapper:before,
.single-wrapper.cases .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-cases.png");}

.archive-wrapper .contentslist-wrapper .post-data {padding-bottom: 2em;}
.archive-wrapper .archive-contents {padding: 8em 0;}
.archive-wrapper:not(.post) .archive-contents ul.post,
.single-nav .archive-contents ul.post {display: grid; gap: 1.5em;}

ul.post li a {color: #143154;}

.loop-base {border-bottom: solid 1px #a0bfcb;}
.loop-base a {padding: 1.5em 0;}
.loop-base .post-time,
.loop-base .post-type {font-size: 85%; letter-spacing: .05em;}
.loop-base .post-time:after {content: " /";}

.reset .loop-block {max-width: 300px; margin: 3em auto 0;}
a .thumbnail-wrapper:before {width: 100%; height: 100%; background: rgba(20, 49, 84, 0); left: 0; top: 0; z-index: 1; transition: all .6s ease-in-out;}
a .thumbnail-wrapper img {transition: all .6s ease-in-out;}
.loop-block .post-title {line-height: 1.6; margin: 1em 0 .5em;}
.loop-block .post-time {position: absolute; right: 0; bottom: 0; font-size: 85%; color: #e4e1df; padding: .1em .8em .1em 0; z-index: 1; font-style: italic; letter-spacing: .05em;}
.loop-block .post-time:before {background: rgba(20, 49, 84, .8); width: 120%; height: 100%; right: 0; bottom: 0; clip-path: polygon(10% 0, 100% 0, 100% 100%, 3% 100%); z-index: -1;}



/* PAGER */
nav.pagenation {padding-bottom: 8em;}
nav.pagenation ul {justify-content: center; align-items: stretch;}
nav.pagenation ul li a,
nav.pagenation ul li > span {color: #143154; background: #a0bfcb; padding: 0.8em 1.2em; font-size: 1.5rem; line-height: 1.2; margin-left: 1px; height: 100%; box-sizing: border-box;}
nav.pagenation ul li > span {cursor: default; background: #e9e1c4; font-weight: bold;}
nav.pagenation ul li.total > span {margin-left: 0; color: #e4e1df; background: #143154; font-weight: 500;}




/*===================================================================
//  single
//=================================================================*/
.post-data time {font-size: 85%; padding-left: 1.5em; position: relative; display: inline-block;}
time.reload:before {content: url("../img/others/icon-reload.svg"); display: inline-block; line-height: 1; position: absolute; top: 50%; left: 0; height: 1em; width: 1em; margin-top: -.6em;}
time.clock:before {content: url("../img/others/icon-clock.svg"); display: inline-block; line-height: 1; position: absolute; top: 50%; left: 0; height: 1em; width: 1em; margin-top: -.6em;}
.post-category-list,
.reset .post-category-list {margin: 0; padding: 0;}
.post-category-list li:first-child,
.reset .post-category-list li:first-child {padding-left: 1.1em; position: relative;}
.post-category-list li:first-child:before,
.reset .post-category-list li:first-child:before {content: url("../img/others/icon-tag.svg"); display: inline-block; line-height: 1; position: absolute; top: 50%; left: 0; height: .8em; width: .8em; margin-top: -.4em;}
a.post-category,
.reset a.post-category {font-weight: bold; font-size: 85%; text-decoration: underline; color: #143154;}


.contentslist-wrapper .post-data time {margin: 2em .5em 0;}
.contentslist-wrapper .post-thumbnail {max-width: 480px; width: 80%; margin: 2em auto 0;}


ul.prevnext {justify-content: space-between; flex-wrap: wrap;}
ul.prevnext.no-prev {flex-direction: row-reverse;}
ul.prevnext li:before {display: inline-block; width: 1.2em; height: .54em; background: #e4e1df; top: 50%; transform: translate(0, -50%); z-index: 2;}
ul.prevnext:not(.no-prev) li:first-child:before {clip-path: polygon(0 50%, 42% 0, 42% 42%, 100% 42%, 100% 58%, 42% 58%, 42% 100%); left: .3em;}
ul.prevnext:not(.no-next) li:last-child:before {clip-path: polygon(0 42%, 59% 42%, 59% 0%, 100% 50%, 59% 100%, 59% 58%, 0 58%); right: .3em;}
ul.prevnext li a {background: #a0bfcb; padding: 1em 1em 1em 3em; color: #143154;}
ul.prevnext:not(.no-next) li:last-child a {padding: 1em 3em 1em 1em;}
ul.prevnext:not(.no-next) li:last-child a {flex-direction: row-reverse;}
ul.prevnext li a:before {width: 30px; height: 100%; background: #143154; top: 0; transition: all .6s ease-in-out;}
ul.prevnext:not(.no-prev) li:first-child a:before {left: 0;}
ul.prevnext:not(.no-next) li:last-child a:before {right: 0;}
ul.prevnext li .post-title {width: 75%;}



/* single-contents */
.single-contents {padding: 8em 0; max-width: 1100px; margin: 0 auto;}
.single-contents h2 {font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; padding-top: 1em; margin-top: 4em;}
.single-contents h2:before {right: 0; top: -2.3em; position: absolute; transform: scale(-1, 1); height: 100%; width: 74px;}
.single-contents h3 {margin-top: 3em;}
.single-contents h3 .white-bg-text {margin: 0;}
.single-contents p {margin-block-start: 2em; margin-block-end: 2em;}
.single-contents .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {background: #f2f2f2;}
.single-contents .base-button a {max-width: 500px; width: 95%; box-sizing: border-box; text-align: center; color: #143154 !important; padding-top: 1.5em; padding-bottom: 1.5em;}
.single-contents .contentslist {padding-bottom: 0;}
.single-contents .contentslist .drop-down-contents {border: solid 1px #a0bfcb; border-top: none;}


.concrete.author-data .title > span {padding-right: 4em;}
.author-data figure {width: 35%; max-width: 120px;}
.author-data figure img {border-radius: 50%;}
.author-data .user-name {font-size: 105%; margin-bottom: .8em;}
.single-contents .author-data p {margin-block-start: 0; margin-block-end: 0;}
.single-contents .author-data .base-button {margin-top: 1.5em;}
.single-contents .author-data .base-button > a {max-width: none; width: 100%; font-size: 95%;}
.single-contents .author-data .base-button > a:before {display: none;}



/*===================================================================
//  home
//=================================================================*/
.catch-wrapper,
.catch-wrapper > .contents-wrapper {height: 100vh; min-height: 700px;}
.catch {font-size: 3rem; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: .1em; height: 100%; display: block; margin: 0 auto; padding-bottom: 1em; opacity: 0; top: -10px; animation: CatchText 1s ease-in-out .5s forwards;}
@keyframes CatchText {
  0% {
    top: -10px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
.catch:before {bottom: 160px;}
.catch-wrapper .tokoto {position: absolute; bottom: 0; left: 0; width: 100%; padding: 1.5em 0 4em;}
.catch-wrapper .tokoto > .contents-wrapper:before {bottom: auto; top: -145px; right: 110px; opacity: 0; background-image: url("../img/index/ippo.png"); z-index: 1; max-width: 71px; max-height: 74px; width: 6.5em; height: 6.5em; animation: Catch 1s ease-in-out .5s forwards;}
@keyframes Catch {
  0% {
    right: 110px;
    opacity: 0;
  }
  100% {
    right: 100px;
    opacity: 1;
  }
}
.catch-wrapper .tokoto span {display: inline-block; margin: 0 .2em;}
.catch-wrapper .tokoto .concept > span:not(:last-of-type) {background: #e4e1df; line-height: 1.2; padding: 0 .1em;}
.catch-wrapper .tokoto .concept > span:last-of-type {background: #e9e1c4; line-height: 2;}
.catch-wrapper .tokoto img {max-width: 55px; width: 4em; margin: 0 .8em; vertical-align: middle;}
.catch-wrapper .tokoto a {background: #143154; color:#e4e1df; padding: 1.5em 2em;}


main.home .base-section,
#post-cases.base-section {padding-bottom: 6em;}
main.home .base-section:not(.cv-btn-wrapper) .contents-wrapper:not(.btn-wrapper) {max-width: 840px;}
main.home .base-section > .blue-bg > .contents-wrapper,
main.home .base-section:not(#post-cases):not(#post-column) > .contents-wrapper:not(.btn-wrapper) {padding-bottom: 6em;}


#home-message > .blue-bg > .contents-wrapper {padding-bottom: 10em;}
#home-message > .blue-bg > .contents-wrapper:before {left: 50%; transform: translate(-50%, 0); z-index: 1; background-image: url("../img/index/concept.png"); max-width: 600px; max-height: 170px; width: 90%; height: 11.5em;}
#home-service > .contents-wrapper {padding-bottom: 1em;}
#home-service > .contents-wrapper:before {left: 5.5em; z-index: 1; background-image: url("../img/index/service1.png"); max-width: 110px; max-height: 170px; width: 22%; height: 11.5em;}
#home-ippo > .blue-bg > .contents-wrapper {padding-bottom: 17em;}
#home-ippo > .blue-bg > .contents-wrapper:before {left: 50%; transform: translate(-50%, 0); z-index: 1; background-image: url("../img/index/service2.png"); max-width: 433px; max-height: 351px; width: 65%; height: 23.5em;}
main.home #post-cases.base-section {padding-top: 3em;}
#home-info {margin-bottom: -1em;}
#home-info .base-title {padding-top: 1em;}
#home-info .loop-base {border-bottom-color: #e4e1df;}




/*===================================================================
//  service
//=================================================================*/
.page-wrapper.service .page-title img {max-width: 2.7em; vertical-align: text-top;}
.page-wrapper.service .page-title > .contents-wrapper:before {background-image: url("../img/service/fv.png");}


/* worries */
#worries > .contents-wrapper {max-width: 1000px;}
#worries > .contents-wrapper:before {z-index: 1; background-image: url("../img/service/worries.png"); max-width: 40px; max-height: 120px; width: 16%; height: 11.5em;}
#worries .check-list {margin-left: 1.5em;}

.check-list {padding-left: 1.5em;}
.check-list li {padding-left: 1.5em;}
.check-list li:not(:last-child) {padding-bottom: .8em;}
.check-list li:before {content: url("../img/common/check.png"); display: block; position: absolute; top: 0; left: 0;}


/* change */
#change ol li:after {z-index: 1; background-image: url("../img/common/tree-s.png"); max-width: 35px; max-height: 28px; width: 19%; height: 11.5em; left: 50%; transform: translate(-50%, 0);}
#change ol li:nth-child(2):after {background-image: url("../img/common/tree-m.png"); max-width: 78px; max-height: 107px; width: 43%;}
#change ol li:nth-child(3):after {background-image: url("../img/common/tree-l.png"); max-width: 107px; max-height: 164px; width: 58%;}
#change ol li .number,
.change-next li {font-size: 2rem; color: #143154; padding: 3em 2em; font-style: italic; letter-spacing: .05em;}
#change ol li .number:before,
.change-next li:before {background: #e9e1c4; aspect-ratio: 1 / 1; border-radius: 50%; filter: blur(10px); left: 50%; top: 50%; width: 6em; transform: translate(-50%, -50%);}
#change ol li .number > span > span {font-size: 3rem; display: inline-block; position: relative; top: .1em; padding-left: .05em;}


/* tokoto-design */
#tokoto-design .contents-wrapper {max-width: 860px;}
.reset .change-next {justify-content: center; align-items: end; padding-bottom: 15.5em;}
.change-next:after {background-image: url("../img/service/next1.png"); max-width: 277px; max-height: 201px; width: 100%; height: 14em; bottom: 4em; left: 50%; transform: translate(-50%,0);}
.change-next li {margin: 2em 7% 3em; letter-spacing: 0; padding: 1.5em 0; line-height: 1.4;}
.change-next li:before {background: #e4e1df;}
.change-next li:nth-last-child(2) {top: 2.5em;}
.change-next li:nth-last-child(3) {top: 5em;}
#tokoto-design .change-next:nth-of-type(2) {padding-bottom: 19.5em; margin-top: 1em; justify-content: space-between;}
#tokoto-design .change-next:nth-of-type(2):after {background-image: url("../img/service/next2.png"); max-width: 395px; max-height: 136px;}
#tokoto-design .change-next:nth-of-type(2) li {margin: .5em 0;}
#tokoto-design .change-next:nth-of-type(2) li:before {background: #e9e1c4;}



/* features */
#features ol {counter-reset: features;}
#features ol li {counter-increment: features; margin-bottom: 4.5em;}
#features ol li .title:before {content: counter(features); display: block; color: #143154; background: #e9e1c4; border: solid 1px #a0bfcb; font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; padding: .25em .6em .15em; line-height: 1.3; border-radius: 50%;}
#features .arrange82 figure {max-width: 148px;}



/* service-content */
#service-content {padding: 7em 0 5em;}
#service-content .base-title + p {max-width: 860px; margin: 0 auto 2em;}
#service-content figure {max-width: 292px; margin: 0 auto 2.5em; width: 70%;}
#service-content .inner .title {margin-bottom: 1em; padding: 0 .5em;}



/* plans */
#plans .base-title + p {padding-bottom: 3.5em;}
#plans .detail {padding-bottom: 6.5em;}
#plans .title-wrapper {background: #143154;  color: #e4e1df; padding: .8em 1.5em .5em;}
#plans .title-wrapper:before,
#plans .title-wrapper:after,
.one-word > span:before,
.one-word > span:after {width: 10px; aspect-ratio: 1; clip-path: polygon(0 0,100% 0,100% 100%); background: #091c34; bottom: -10px;}
#plans .title-wrapper:before,
.one-word > span:before {left: 0;}
#plans .title-wrapper:after,
.one-word > span:after {clip-path: polygon(0 0,100% 0,0 100%); right: 0;}
#plans .title {margin-left: -.5em;}
#plans .title-wrapper figure {max-width: 153px; position: absolute; bottom: 0; width: 25%;}
#plans .inner {margin: 0 10px; background: #e4e1df; padding: 1.7em;}
#plans .detail th,
#plans .detail td {padding: .7em .5em; border:none; border-bottom: solid .5em #e4e1df; box-sizing: border-box;}
#plans .detail th {color: #e4e1df; background: #143154; text-align: center; font-weight: 500;}
#plans .detail td.price {font-size: 2rem;}
#plans .detail td.price .tax {font-size: 1.5rem;}

.plans-contents ol li:before {background: #e9e1c4; aspect-ratio: 1 / 1; border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.plans-contents ol li:not(:last-child):after {content: "×"; color: #143154; font-size: 3rem; font-weight: bold; z-index: 1;}
.plans-contents ol li span .number {padding: 0 .2em; top: .1em;}
.plans-contents ol li span:before {width: 100%; height: 1px; background: #143154; bottom: .4em; left: 0;}
.plans-contents ol li .contents-name {padding: 1em 0 1.5em; font-weight: 500; line-height: 1.5;}
.plans-contents ol li .contents-name.line {padding: .5em 0 1.0em;}
.plans-checks {padding: 5em 0 3em 1em;}
.plans-checks .check-list {margin: 1.2em 0;}
.plans-checks .check-list li:not(:last-child) {padding-bottom: .2em;}
.plans-note {padding: 1em .8em; border: dotted 1px #143154; font-size: 95%; margin-top: 1.5em;}

#plans .detail.mieruka .plans-contents ol li:not(:last-child):after {content: ""; height: .5em; background: #143154;}



/* service-flow */
.flow-list {counter-reset: flows; max-width: 1000px; margin: 0 auto;}
.flow-list li {counter-increment: flows; margin-bottom: 1.8em; border: solid 1px #a0bfcb; background: #e4e1df;}
.flow-list li:last-child {margin-bottom: 4.5em;}
.flow-list li:before {content: counter(flows); left: 0; top: 0; color: #e4e1df; background: #143154; padding: .1em; font-size: 2.2rem; font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; text-align: center; width: 1.8em; line-height: 1.6;}
.flow-list li:not(:last-child):after {width: 2em; aspect-ratio: 1.8; clip-path: polygon(50% 100%,100% 0,0 0); background: #143154; bottom: -1.1em; left: 50%; transform: translate(-50%, 0);}
.flow-list .title > span {font-size: 1.8rem; padding: .2em 0 .2em 3em;}
.flow-list .title > span:before {width: 100%; height: 1px; background: #a0bfcb; bottom: 0; left: 0;}
.flow-list p {margin: 1.5em;}
.flow-list p a,
.faq-contents a {text-decoration: underline; color: #143154;}
.flow-list p .name {font-size: 1.5rem; margin: 1.8em 0 .5em;}
.flow-list p .name > span {padding: .2em .7em .2em .3em;}



/* faq */
#service-faq.base-section .contents-wrapper {padding-bottom: .1em;}
.faq-contents dt,
.faq-contents dd {padding: .5em 0 .5em 3.5em; margin-bottom: 1em;}
.faq-contents dt:before,
.faq-contents dd:before {font-size: 2.2rem; font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; color: #143154; border-radius: 50%; width: 1.8em; height: 1.8em; text-align: center; aspect-ratio: 1; left: 0; top: .1em;}
.faq-contents dt:before {content: "Q"; background: #e4e1df;}
.faq-contents dd:before {content: "A"; background: #e9e1c4;}
.faq-contents dd {margin: 0 0 4em 1.5em;}




/*===================================================================
//  about
//=================================================================*/
.page-wrapper.about .page-title > .contents-wrapper:before {background-image: url("../img/about/fv.png");}
.about #message.base-section {padding-bottom: 7em;}


/* core */
.core-message {max-width: 920px; padding: 3em; margin: 0 auto 5em; line-height: 2.6;
	--x-gradient: linear-gradient(90deg, #143154 0 43px, transparent 0 calc(100% - 43px), #143154 calc(100% - 43px));
    --y-gradient: linear-gradient(#143154 0 43px, transparent 0 calc(100% - 43px), #143154 calc(100% - 43px));
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
    background-position: top, right, bottom, left;}
#core > .contents-wrapper:before {z-index: 1; background-image: url("../img/index/ippo.png"); max-width: 71px; max-height: 74px; width: 6.5em; height: 6.5em;}


/* role */
#role .arrange64 figure {max-width: 213px;}


/* can */
#can ol figure {max-width: 148px; margin: 0 auto;}
#can ol .title {font-size: 2rem; padding: 1.5em 0 2em; font-style: italic; text-align: center; line-height: 1.5;}
.concrete {max-width: 860px; margin: 5em auto 3em; border: solid 1px #a0bfcb; background: #e4e1df;}
.concrete .title {font-size: 1.8rem; border-left: solid 10px #143154;}
.concrete .title > span {padding: .2em 10em .1em .8em; border-bottom: solid 1px #a0bfcb;}
.concrete > .inner {padding: 1.3em;}



/* thought */
#thought .detail {max-width: 860px; margin: 0 auto 10em;}
#thought figure {max-width: 350px; margin: 3em auto 4.5em;}
#thought figure.thought-logo {max-width: 100%; margin: 3.5em auto; background: #e4e1df; padding: 5em 3em;}
#thought figure.thought-logo > img {max-width: 175px; width: 50%; margin: 0 auto; display: block;}
#thought .title {margin-bottom: 2em;}



/* profile */
#profile .name {letter-spacing: .05em; margin-bottom: 2.5em;}
#profile figure {max-width: 290px;}
.one-word {max-width: 860px; margin: 4.5em auto 4em;}
.one-word > span {color: #e4e1df; background: #143154; padding: .2em 1em;}
.one-word > .inner {background: #e4e1df; padding: 1.5em; border: solid 1px #143154; border-top: none; margin: 0 10px;}
.one-word .word {margin-bottom: 1.2em;}



/* about-story */
#about-story .arrange64 figure {max-width: 290px;}




/*===================================================================
//  privacy
//=================================================================*/
.page-wrapper.privacy .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-privacy.png");}

.reset .privacy-list {margin-top: 2.5em; counter-reset: privacy;}
.privacy-list li {display: block; counter-increment: privacy; margin-bottom: 1.5em; position: relative; padding: .3em 0 0 3em;}
.privacy-list li:before {content: counter(privacy); display: block; color: #143154; background: #e9e1c4; border: solid 1px #a0bfcb; font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; padding: .25em .6em .15em; line-height: 1.3; border-radius: 50%; position: absolute; top: 0; left: 0;}

.reset address dl {margin-top: 2.5em; padding: 1.5em; border: solid 1px #a0bfcb; background: #e4e1df; max-width: 400px;}
address dt,
address dd {display: inline-block;}
address dt {width: 5em;}
address dt:after {position: absolute; right: 0; top: 0; content: "：" !important;}
address dd {margin-left: 0; width: calc(100% - 6em);}
address dd.url-dd {width: 100%;}
.reset address a {color: #143154; text-decoration: underline;}


.privacy-scroll {height: 180px; overflow-y: scroll; padding: 1.2em; border: solid 1px #e4e1df; margin: 1.5em 0; background: #e4e1df;}
.reset .privacy-scroll p,
.reset .privacy-scroll li,
.reset .privacy-scroll dt,
.reset .privacy-scroll dd {font-size: 85%;}
.reset .privacy-scroll .privacy-list li:before {font-size: 1.6rem;}
.reset .privacy-scroll h2,
.reset .privacy-scroll h3,
.reset .privacy-scroll h4 {font-size: 1.8rem; padding-top: 2em; margin-bottom: 1em;}
.reset .privacy-scroll .page-toptext.no-bottom {padding: 0;}



/*===================================================================
//  contact
//=================================================================*/
.page-wrapper.contact .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-contact.png");}
.page-wrapper.thanks .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-thanks.png");}
.page-wrapper.thanks a {text-decoration: underline; color: #143154;}

.confirm_area,
.wpcf7-response-output {display: none;}


.form-contents {padding: 1.5em 0 5em;}
.form-contents.confirm_area {padding-bottom: 13em;}
.form-wrapper.line {padding-top: 10em; padding-bottom: 3em;}
.form-table tr:first-child {border-top: none;}
.form-table span.must {font-weight: bold; display: inline-block; padding: .4em .7em .3em; border-radius: 9px; margin-left: .8em; font-size: 1.1rem; color: #143154; background: #e9e1c4;}


.form-table input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.form-table textarea {-webkit-appearance: none; appearance: none;}
.form-table input:not([type="checkbox"]):not([type="radio"]),
.form-table select,
.form-table textarea,
.form-table label {font-size: 1.6rem; display: block; padding: 1em; font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic","Hiragino Kaku Gothic Pro",Osaka,sans-seri; font-weight: 500; border: solid 1px #f2f2f2; background: #eaeaea; color: #143154; outline: 0; border-radius: 5px; transition: all .3s ease-in-out;}
input:-webkit-autofill {-webkit-text-fill-color: #143154 !important;}
.form-table label {padding: .5em; margin-top: 0.5em; cursor: pointer; display: block; width: 95%; box-sizing: border-box;}
.form-table td input:not([type="checkbox"]):not([type="radio"]),
.form-table textarea {width: 100%; box-sizing: border-box;}
.form-table input:not([type="checkbox"]):not([type="radio"]):focus,
.form-table select:focus,
.form-table textarea:focus,
.form-table label:focus {background: #fff;}

.form-table td label.checked-label {font-weight: bold; background: #e9e1c4;}

.wpcf7-list-item {width: 100%; margin: 0 !important;}
.wpcf7-list-item:first-child label {margin-top: 0;}

.form-contents .note.form-bottom {margin-top: 4em;}
tr:has(.note-cell) {border-bottom: none;}
td.note-cell {padding-bottom: 5em;}

tr:has(.wpcf7-not-valid-tip) input:not([type="checkbox"]):not([type="radio"]),
tr:has(.mail-error) input:not([type="checkbox"]):not([type="radio"]),
tr:has(.wpcf7-not-valid-tip) select,
tr:has(.wpcf7-not-valid-tip) textarea,
tr:has(.wpcf7-not-valid-tip) label {border-color: #c1818a;}
.wpcf7-not-valid-tip,
.mail-error {font-weight: bold !important; font-size: 1.2rem !important;  padding: .1em .5em; margin: .5em 0 0; line-height: 1.5; background: #c1818a; color: #e4e1df !important; display: block;}



/* form-submit-wrapper */
.form-submit-wrapper input {-webkit-appearance: none; appearance: none; letter-spacing: .1em; cursor: pointer; font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic","Hiragino Kaku Gothic Pro",Osaka,sans-seri; font-weight: bold; color: #143154; border: none; background: #e9e1c4; padding: 1.5em 0; width: 80%; margin: 0 auto; display: block; border-radius: 0; transition: all .3s ease-in-out; font-size: 2.2rem;}
.confirm_button.disabled-look {cursor: not-allowed; background: #9aabb1;}
.form-submit-wrapper input.back_button {background: #869ba3;}

.confirm_area .form-submit-wrapper p {display: flex; justify-content: space-between;}
.form-submit-wrapper input.back_button {width: 26%;}
.form-submit-wrapper input[type="submit"] {width: 70%;}
.wpcf7-spinner {display: none !important;}



/* LINE */
.form-wrapper.line .form-contents {justify-content: space-between;}
.form-wrapper.line .sentence p a {margin-top: .5em; display: inline-block;}
.form-wrapper.line .form-contents a[target="_blank"]:before {display: none;}
.form-wrapper.line .device > span {background: #a0bfcb; font-weight: bold; padding: 0 1.5em; margin-bottom: .5em;}



/*===================================================================
//  フッター
//=================================================================*/
#pagebottom {background: url(../img/common/noise.png) repeat #143154; z-index: 100;}
#pagebottom:before {background-color: #143154; width: 100%; left: 0; top: -99px; clip-path: polygon(100% 16%, 0 100%, 100% 100%);}


/* PANKUZU */
.pankuzu-wrapper .scroll {height: 32px;}
ol.pankuzu {overflow-x: scroll; white-space: nowrap; height: 50px;}
ol.pankuzu li {line-height: 1.5;}
ol.pankuzu li,
ol.pankuzu li a,
ol.pankuzu li > span {color: #e4e1df; font-size: 1.2rem;}
ol.pankuzu li a {text-decoration: underline; color: #e4e1df;}
ol.pankuzu li:not(:last-child):after {content: ">"; padding: 0 0.5em; font-size: 1rem;}


/* fnav */
.foot-contents {justify-content: space-between; padding-top: 4.5em;}
.foot-contents .logo {max-width: 128px; width: 92%;}
.fnav-wrapper {width: calc(92% - 128px);}
.foot-contents .contact-btn {background: #e9e1c4; color: #143154; font-weight: 700; padding: 1.5em 4em 1.5em 1.5em; margin-bottom: 2em;}

.fnav > ul a {color: #e4e1df; transition:all .3s ease-in-out;}
.fnav > ul > li {border-top: solid 1px #e4e1df; padding-top: 1.2em; font-size: 1.3rem; display: block;}
.fnav ul.sub-menu li {margin-left: 1.2em; position: relative; font-size: 1.2rem; margin-top: 1em; display: block;}
.fnav ul.sub-menu li:before {content: ""; display: block; width: .3em; height: 1px; position: absolute; top: 50%; left: -1em; background: #e4e1df;}

.fbottom {margin-top: 5em; justify-content: space-between; font-size: 1.3rem; line-height: 1; align-items: center;}
.fbottom ul li:first-child {padding-right: 1.5em; margin-right: 1.5em; border-right: solid 1px #e4e1df;}
.fbottom ul li a {color: #e4e1df;}
.fbottom .snsicon a {background: #e4e1df; padding: .1em; width: 28px; height: 28px; border-radius: 3px; margin-left: .3em; padding: .4em; vertical-align: middle;}
.fbottom .snsicon a:first-of-type {margin-left: 0;}
.fbottom .snsicon a:nth-of-type(2) {padding: .3em .4em;}
.copy {color: #e4e1df; letter-spacing: .08em; font-size: 1.2rem; padding: 1.8em 0 6.5em;}



/* gotop */
.gotop {position: fixed; bottom: 1.5em; right: -60px; z-index: 1001;}
.gotop.bottom {right: 0;}
.gotop a {width: 55px; height: 55px;}
.gotop a:before {background: #143154; height: 100%; width: 110%; transform: rotate(-3deg);}
.gotop .arrow {display: inline-block; width: .6em; height: 1.6em; background: #e9e1c4; clip-path: polygon(0 25%, 50% 0, 100% 25%, 54% 25%, 54% 100%, 48% 100%, 48% 25%); position: absolute; top: 55%; left: 50%; transform: translate(-50%, -50%); transition:all .6s ease-in-out;}




/*===================================================================
//  404
//=================================================================*/
.archive-wrapper.search .page-title > .contents-wrapper:before,
.page-wrapper.error .page-title > .contents-wrapper:before {background-image: url("../img/others/fv-404.png");}

.error .contentslist-wrapper {padding-bottom: 2em;}




/*===================================================================
//  メディアクエリ
//=================================================================*/
@media screen and (max-height: 850px) {
	.catch:before {height: 50px; bottom: 120px;}
	.catch-wrapper .tokoto {padding: 0 0 2em;}
	.catch-wrapper .tokoto > .contents-wrapper:before {top: -130px;}
}