@charset "utf-8";
/* CSS Document */

/*===================================================================
//  基本設定
//=================================================================*/
.pc-non {display:none!important;}
.contents-wrapper {padding: 0 70px;}
.contents-wrapper.fixedwidth {max-width: 1140px;}
.contents-wrapper.fixedwidth.right-footprints {padding-left: 110px;}


/* 文章装飾 */
.form-contents a:hover,
.single-contents a:hover {text-decoration: none; color: #e9e1c4;}
.form-contents .white-bg-text a:hover,
.single-contents .white-bg-text a:hover,
.form-contents .beige-bg-text a:hover,
.single-contents .beige-bg-text a:hover,
.form-contents .yellow-bg-text a:hover,
.single-contents .yellow-bg-text a:hover {color: #a0bfcb;}




/*===================================================================
//  ヘッダー
//=================================================================*/
.head-contents > .contents-wrapper {padding: 0 40px;}
.head-contents .logo,
.head-text {padding: 1.5em 0;}
.gnav,
.gnav .scroll-box,
.gnav ul {display:flex; align-items: start;}
.gnav ul li {display: inline-flex; font-size: 1.3rem;}
.gnav ul.sub-menu {display: none;}
.gnav ul li a:before {display: block; content: ""; width: 0; height: 1px; background: #e4e1df; position: absolute; bottom: 2em; left: 10%; transition:all .3s ease-in-out;}
.gnav ul li a:hover {color: #e9e1c4;}
.gnav .contact-btn:before,
.foot-contents .contact-btn:before,
.catch-wrapper .tokoto a:before {height: 100%; background-color: #e4e1df; bottom: 0; left: 0; z-index: 1; width: 0; transition:all .3s ease-in-out;}
.foot-contents .contact-btn:before,
.foot-contents .contact-btn:after,
.base-button > a > span:before,
.gnav .contact-btn,
.foot-contents .contact-btn,
.base-button > a,
.base-button > a:before,
.cv-btn-wrapper a,
.cv-btn-wrapper a .text:before,
.base-button.photo a figure:before,
.base-button.photo a figure:after {transition:all .6s ease-in-out;}
.gnav ul li a:hover:before,
.gnav ul li.current a:before {width: 80%; background-color: #e9e1c4;}
.gnav .contact-btn:hover:before,
.foot-contents .contact-btn:hover:before,
.gnav .contact-btn.current a:before,
.catch-wrapper .tokoto a:hover:before {width: 100%;}
.gnav .contact-btn:hover,
.foot-contents .contact-btn:hover,
.base-button > a:hover,
.cv-btn-wrapper a:hover {box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.1);}
.base-button > a:hover,
.base-button > a:hover:before,
.cv-btn-wrapper a:hover {background: #e9e1c4 !important;}

#slide-menu .scroll-box {max-width: none;}




/*===================================================================
//  コンテンツ基本
//=================================================================*/
.reset .page-toptext {font-size: 1.6rem;}


/* 目次 */
.contentslist .drop-down-btn:hover {color: #e9e1c4;}
.contentslist .drop-down-btn:hover:before {opacity: 0;}
.contentslist .drop-down-btn:hover:after {background: #e9e1c4;}
.contentslist li a:hover {text-decoration: none; color: #a0bfcb;}


/* 基本のコンテンツ設定 */
.left-footprints .base-title-wrapper .title {padding-left: 1.2em;}
.right-footprints .base-title.is-supplement {padding-top: .5em;}

.right-footprints .footprints,
.left-footprints .footprints {height: 179px;}
.right-footprints .footprints {padding-right: 15px;}
.left-footprints .footprints {padding-left: 15px;}
.right-footprints .footprints:before {right: -70px;}
.left-footprints .footprints:before {left: -70px;}


/* ボタン */
.base-button:not(.alignc) {right: -70px;}
.base-button > a:hover > span:before {right: -3em;}
.foot-contents .contact-btn:hover:after {right: 1.5em;}
.blue-bg .base-button > a:hover {color: #143154;}
.blue-bg .base-button > a:hover > span:before {background: #143154;}


/* message */
#message .base-button {right: 70px;}
.base-button.photo figure {left: -9em; width: 146px; height: 146px;}
.base-button.photo a:hover figure:before {opacity: 0;}
.base-button.photo a:hover figure:after {opacity: 1;}


/* cv-btn-wrapper */
.cv-btn-wrapper a:hover .text:before {right: 1.5em;}


/* arrange-左右配置コンテンツ */
.arrange64 .title,
.arrange82 .title {font-size: 2rem;}
.arrange64 figure,
.arrange82 figure {position: absolute; bottom: 3em;}
.arrange64 figure {width: 35%;}
.arrange64.right-figure {padding-right: 35%; padding-left: 40px;}
.arrange64.right-figure figure {right: 0;}
.arrange64.left-figure {padding-left: calc(35% + 40px);}
.arrange64.left-figure figure {left: 40px;}

.arrange82.right-figure {padding-right: 23%;}
.arrange82.right-figure figure {right: 0; bottom: 0;}
.arrange82.left-figure {padding-left: 23%;}
.arrange82.left-figure figure {left: 0;}



/* base-table */
.base-table th {width: 30%;}



/* slick-slider */
ul.wide-slide.two {gap: 20px; grid-template-columns: repeat(2, 1fr);}
ul.wide-slide.three {gap: 20px; grid-template-columns: repeat(3, 1fr);}




/*===================================================================
//  archive
//=================================================================*/
.archive-wrapper:not(.post) .archive-contents ul.post,
.single-nav .archive-contents ul.post {gap: 3em; grid-template-columns: repeat(3, 1fr);}
ul:not(.wide-slide) .loop-block:nth-child(-n+3) {margin-top: 0;}

ul.post li a:hover {color: #a0bfcb;}

a:hover .thumbnail-wrapper:before {width: 100%; height: 100%; background: rgba(20, 49, 84, .3); left: 0; top: 0;}
a:hover .thumbnail-wrapper img {transform: scale(1.1, 1.1);}
.loop-block a.post-category:hover {color: #a0bfcb;}



/* PAGER */
nav.pagenation ul li a:hover {background: #e4e1df;}




/*===================================================================
//  single
//=================================================================*/
a.post-category:hover {color: #e9e1c4;}
.single-contents a.post-category:hover {color: #a0bfcb;}


.single-contents h2 {padding-right: 150px; padding-top: 2em;}
.single-contents h2:before {height: 179px;}
.single-contents h3 {font-size: 2rem;}


.author-data figure {margin-right: 2.5%;}
.author-data .inner {display: flex; justify-content: space-between;}


.single-nav {padding-bottom: 12em;}
ul.prevnext li {margin: 0 1px; width: calc(50% - 2px);}
ul.prevnext li a {display: flex; justify-content: space-between; align-items: center; height: 100%;}
ul.prevnext li a:hover {color: #e4e1df;}
ul.prevnext li a:hover:before {width: 100%;}
ul.prevnext li .thumbnail-wrapper {width: 20%;}



/* single-contents */
.single-contents .author-data .base-button > a {padding-top: .6em; padding-bottom: .6em;}



/*===================================================================
//  home
//=================================================================*/
.catch-wrapper .tokoto strong {padding-right: 3.5em;}
.catch-wrapper .tokoto a:hover {color: #143154;}


main.home .sentence p:nth-child(2) {padding-left: 3em;}
main.home .sentence p:nth-child(3) {padding-left: 4.5em;}
main.home .left-footprints .sentence p {padding-left: 4em;}
main.home .left-footprints .sentence p:nth-child(2) {padding-left: 5.5em;}
main.home .left-footprints .sentence p:nth-child(3) {padding-left: 7em;}


#home-message > .blue-bg > .contents-wrapper:before {bottom: -5em;}
#home-service > .contents-wrapper:before {bottom: -11em;}
#home-ippo > .blue-bg > .contents-wrapper:before {bottom: -4em;}
#home-ippo .base-title {padding-top: 2em;}
#home-info ul.post li a:hover {color: #e9e1c4;}




/*===================================================================
//  service
//=================================================================*/
/* worries */
#worries.base-section {padding: 7em 0 3em}
#worries > .contents-wrapper:before {right: 9em; bottom: -5em;}


/* change */
#change ol {padding-bottom: 7em;}
#change ol {gap: 7%; grid-template-columns: 1fr 1fr 1fr; display: grid;}
#change ol li:after {bottom: -11.5em;}
#change ol li:nth-child(2):after {bottom: -10.5em;}
#change ol li:nth-child(3):after {bottom: -9.5em;}
#change ol li:nth-child(1) {margin-top: 5em;}
#change ol li:nth-child(2) {margin-top: 2.5em;}
#change ol li:after {bottom: -11.5em;}
#change ol li:nth-child(3):after {bottom: -9.5em;}


/* tokoto-design */
.change-next li {font-size: 2.4rem}
#change ol li:nth-child(1) {margin-top: 5em;}
#change ol li:nth-child(2) {margin-top: 2.5em;}



/* features */
#features ol li .title {padding-left: 2.5em; padding-top: .1em;}
#features ol li .title:before {position: absolute; top: 0; left: 0; font-size: 2.2rem;}



/* service-content */
#service-content .base-title + p {margin-bottom: 5em;}
#service-content .detail {padding-top: 15.5em;}
#service-content .inner.content-top {width: 500px; position: absolute; top: 0; left: 50%; transform: translate(-50%, 0);}
#service-content .content-bottom {gap: 7%; grid-template-columns: 1fr 1fr;}
#service-content .inner .title {font-size: 2rem;}



/* plans */
#plans .title {font-size: 2rem;}
#plans .title-wrapper figure {right: 20px;}
#plans .detail th {width: 7em;}
#plans .detail td {padding-left: 1em;}

.plans-contents ol {gap: 7%; grid-template-columns: 1fr 1fr 1fr; display: grid;}

.reset .plans-contents ol {margin-top: 3.5em;}
.plans-contents ol li:before {width: 95%;}
.plans-contents ol li:not(:last-child):after {top: 50%; right: -1.5em; transform: translate(0, -50%);}
.plans-contents ol li span .number {font-size: 2.2rem;}
.plans-contents ol li .contents-name {font-size: 2rem;}

#plans .detail.mieruka .plans-contents ol li:not(:last-child):after {aspect-ratio: cos(30deg); clip-path: polygon(0 0,100% 50%,0 100%); right: -1.25em;}



/* service-flow */
.flow-list p a:hover,
.faq-contents a:hover {text-decoration: none; color: #a0bfcb;}



/* faq */
.faq-contents a:hover {color: #e9e1c4;}




/*===================================================================
//  about
//=================================================================*/
/* core */
.core-message {gap: 5%; grid-template-columns: 1.5fr 1fr;}
#core > .contents-wrapper:before {right: 12em; bottom: -10.2em;}


/* role */
#role .arrange64 {padding-bottom: 5em;}
#role .arrange64 figure {bottom: 5em;}


/* can */
#can ol {gap: 8%; grid-template-columns: 1fr 1fr 1fr;}



/* thought */
#thought .title {font-size: 2rem;}



/* profile */
#profile .name {font-size: 2rem;}
#profile .job {font-size: 1.3rem;}
#profile .detail {display: flex; justify-content: space-between; flex-direction: row-reverse;}
#profile .sentence {width: calc(97% - 290px);}
#profile .biography {font-size: 1.4rem;}
.one-word .word {font-size: 2rem;}



/* about-story */
#about-story .arrange64 {padding-bottom: 10em;}
#about-story .arrange64 figure {bottom: 10em;}




/*===================================================================
//  privacy
//=================================================================*/
.privacy-list li:before {font-size: 2rem;}

address a:hover {color: #a0bfcb; text-decoration: none;}




/*===================================================================
//  contact
//=================================================================*/
#form {padding-top: 180px; margin-top: -180px;}
.form-wrapper .title-wrapper {font-size: 1.8rem;}


.form-table input:not(:focus):hover,
.form-table select:not(:focus):hover,
.form-table textarea:not(:focus):hover,
.form-table label:not(.checked-label):hover {background: #fbfbfb;}
.form-table label.checked-label:hover {border-color: #e9e1c4;}

.page-wrapper.thanks a:hover {text-decoration: none; color: #a0bfcb;}

span[data-name="checkbox-found"] .wpcf7-list-item {width: calc((100% - 1em) / 2);}
span[data-name="checkbox-found"] .wpcf7-list-item:nth-child(-n+2) label {margin-top: 0;}



/* form-submit-wrapper */
.confirm_button:not(.disabled-look):hover,
.form-submit-wrapper input[type="submit"]:not([disabled]):hover {background: #e4e1df;}
.form-submit-wrapper input.back_button:hover {background: #9aabb1;}



/* LINE */
.form-wrapper.line figure {max-width: 210px;}
.form-wrapper.line .sentence {width: calc(97% - 210px);}
.form-wrapper.line .sentence p {font-size: 1.6rem;}
.form-wrapper.line .device > span {font-size: 1.5rem;}




/*===================================================================
//  フッター
//=================================================================*/
/* PANKUZU */
.pankuzu-wrapper .scroll {height: auto;}
ol.pankuzu {overflow-x: auto; white-space: normal; height: auto;}
ol.pankuzu li a:hover {text-decoration: none; color: #e9e1c4;}


/* fnav */
.fnav > ul {gap: 1.5em; grid-template-columns: 1.1fr 1fr 1fr 1fr; display: grid;}
.fnav ul li a:hover {text-decoration: underline; color: #e9e1c4;}

.fbottom .snsicon a:hover {opacity: .8;}



/* gotop */
.gotop a:hover .arrow {top: 45%;}




/*===================================================================
//  404
//=================================================================*/
.error #post-cases.base-section {padding-bottom: 11em;}




/*===================================================================
//  メディアクエリ
//=================================================================*/
@media screen and (min-width: 1160px) {
	
}
@media screen and (max-width: 1200px) {
	
}
@media screen and (max-width: 1322px) {
	
}



/*/*===================================================================
//  edgeのみ
//=================================================================*/
/* edge */
@supports (-ms-ime-align:auto) {
	
}