@charset "utf-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height: 1.15;-webkit-text-size-adjust: 100%;}body{margin: 0;}main{display: block;}h1{font-size: 2em;margin: 0;}hr{box-sizing: content-box;height: 0;overflow: visible;}pre{font-family: monospace, monospace;font-size: 1em;}a{background-color: transparent;}abbr[title]{border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}b, strong{font-weight: bolder;}code, kbd, samp{font-family: monospace, monospace;font-size: 1em;}small{font-size: 80%;}sub, sup{font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}sub{bottom: -0.25em;}sup{top: -0.5em;}img{border-style: none;}button, input, optgroup, select, textarea{font-family: inherit;font-size: 100%;line-height: 1.15;margin: 0;}button, input{overflow: visible;}button, select{text-transform: none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance: button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style: none;padding: 0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline: 1px dotted ButtonText;}fieldset{padding: 0.35em 0.75em 0.625em;}legend{box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}progress{vertical-align: baseline;}textarea{overflow: auto;}[type="checkbox"],[type="radio"]{box-sizing: border-box;padding: 0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height: auto;}[type="search"]{-webkit-appearance: textfield;outline-offset: -2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance: none;}::-webkit-file-upload-button{-webkit-appearance: button;font: inherit;}details{display: block;}summary{display: list-item;}template{display: none;}[hidden]{display: none;}
ul,ol,h1,h2,h3,h4,h5,h6,th,p,figure{padding:0;margin:0}li{list-style:none;}

html{
	/* font-size:10px 10 ÷ 1500 */
	font-size: 0.666666666666667vw;
}
@media screen and (min-width: 1667px){
	html{font-size: 10px}
}
@media screen and (max-width: 1000px){
	html{font-size: 6.666666666666667px;}
}
@media screen and (max-width: 768px){
	html{font-size: 16px;}
}
@media screen and (max-width: 600px){
	/* font-size:10px 10 / 380 */
	html{font-size: 2.631578947368421vw;}	
}



/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
template style
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
/*html{
  scroll-behavior: smooth;
  scroll-padding-top: var(--headerHeight);
} */
body {
	overflow-x:hidden;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	margin: auto;
	padding: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	letter-spacing: .05em;
	font-style: normal;
	color: #5c5c5c;
	opacity: 0;
	transition: .1s linear .1s;
}
body.js-open {
	/*overflow: hidden;*/
}
body.preload {
	opacity: 1;
}
/*body{scroll-padding-top: 0;}*/
a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: none; }
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,h4,h5,h6,th { font-weight: normal; }
body img {width: 100%;/*image-rendering: -webkit-optimize-contrast;*/}
i,em{ font-style: normal; }
sup{font-size: 10px; vertical-align: text-top; letter-spacing: 0;}
.wrapper { position:relative; overflow: visible;}
.sp-bl,.sp-il,.tablet-bl { display:none !important; }
@media (any-hover: hover){
	.opa { transition: 0.2s ease-in-out; }
	.opa:hover { opacity: 0.7 !important; }
}
.opa1 { opacity: 1 !important; }
.w100 { width: 100% !important; }
.h100 { height: 100% !important; }
.none { display: none !important }
.visuallyhidden{ position: absolute !important;width: 1px !important;height: 1px !important;padding: 0 !important;margin: -1px !important;overflow: hidden !important;clip: rect(0, 0, 0, 0) !important;white-space: nowrap !important;border: 0 !important; }
.cf::before,.cf::after { content: ""; display: table; }
.cf::after { clear: both; }
.cf { zoom: 1; }
.ff{ text-align: justify; text-justify: inter-ideograph;}
.inner {max-width: 1500px;width: 90%;margin-inline: auto;position:relative;}
.inner2 {max-width: 1500px;width: 90%;margin-inline: auto;position:relative;}
.outer{width:100%;max-width:1920px;margin-inline: auto;position:relative;}
.fit-cover{object-fit: cover;object-position: center center;height: 100%;width: 100%;}
.mincho {
	/*font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;*/
	/*font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
	font-family: YakuHanMP, 'Shippori Mincho', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	font-weight: 500;/*Medium*/
	font-optical-sizing: auto;
	font-style: normal;
}
.gothic {
	/*font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/
	font-family: YakuHanJP, 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	/*	Regular 400
		Medium 500
		SemiBold 600 */
}
.shippori {
	font-family: YakuHanMP, 'Shippori Mincho', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.outfit{
	font-family: "Outfit", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300; /*Light*/
	font-style: normal;
}
.ralewaydots{
	font-family: "Raleway Dots", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.grid{ display: grid;}
.flex{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.nowrap{ flex-wrap: nowrap; }
.jc-c{ justify-content: center; }
.jc-s{ justify-content: flex-start; }
.jc-e{ justify-content: flex-end; }
.ai-c{ align-items: center; }
.ai-e{ align-items: flex-end; }
.ai-st{ align-items: stretch; }
.fd-cl{ flex-direction: column; }
.fd-rr{ flex-direction: row-reverse; }
.fd-rr > *{ min-height: 0; }
.fixI img{ height: 100% !important;width: auto !important;}
.noscroll{overflow: hidden;}
.fw-400{ font-weight: 400;}
.fw-500{ font-weight: 500;}
.fw-600{ font-weight: 600;}
@media screen and (max-width:1500px) { .w1500_n{ display: none;}}
.w1500_b{display: none;}
@media screen and (max-width:1500px) { .w1500_b{ display: block;}}
@media screen and (max-width:1200px) { .w1200_n{ display: none;}}
.w1200_b{display: none;}
@media screen and (max-width:1200px) { .w1200_b{ display: block;}}
@media screen and (max-width:768px) {
.pc { display:none !important; }
.sp-bl { display:block !important; }
.sp-il { display:inline !important; }
.inner { width: calc(340 / 380 * 100%); }
.inner2 { width: calc(320 / 380 * 100%); }
.di-ct{display: contents;}
}

:root {
	--headerHeight: 0;
	--transparent: transparent;
	--white: #fff;
	--white-rgb: 255, 255, 255;
}

.swiper .swiper-wrapper { transition-timing-function: linear;}





/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
contents
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.contents {
	position: relative;
}
.main {
	position: relative;
}





/*=======================================
header
=======================================*/
.l-header{
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
	pointer-events: none;
}
.header{
	width: 100%;
}
.header-head{
	position: relative;
	width: 100%;
	height: 180px;
	padding-top: 30px;
	padding-left: 40px;
}
.header-head__logo{
	display: block;
	width: 446px;
  pointer-events: auto;
}
.header-head__logo__ttl{
	width: 100%;
	font-size: 0;
	line-height: 1;
}
.header-body {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100lvh;
	pointer-events: none;
	cursor: default;
}
.js-open .header-body {
	pointer-events: auto;
	cursor: auto;
}
.header-body::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
	height: 0;
	background: #f7f7f7;
	border-radius: 0 0 0 100%;
	transition: all .4s .3s;
	z-index: -1;
}
.js-open .header-body::before {
	width: 150%;
	height: 150%;
	transition: all .4s;
}
.header-menu {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	opacity: 1;
	visibility: hidden;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.js-open .header-menu {
	opacity: 1;
	visibility: visible;
}
.header-menu-wrap {
	position: relative;
	padding-block: 6.0rem;
	opacity: 0;
	transition: opacity .4s,visibility .4s;
}
.js-open .header-menu-wrap {
	opacity: 1;
	transition: opacity .4s .3s,visibility .4s .3s;
}
.header-menu__service {
	width: min(90%,1020px);
	margin-inline: auto;
	border-radius: 3.0rem;
	background-color: var(--white);
	filter: drop-shadow(0 0 20px rgba(0 0 0 / .05));
	padding-block: 5.2rem 5.5rem;
	margin-bottom: 6.0rem;
}
.header-menu__service__heading {
	font-size: 2.2rem;
	line-height: 1.45;
	letter-spacing: .05em;
	text-align: center;
	margin-bottom: 3.5rem;
}
.header-menu__service__nav {
	position: relative;
	width: calc(900 / 1020 * 100%);
	margin-inline: auto;
}
.header-menu__service__nav__list {
	width: 100%;
}
.header-menu__service__nav__list__item {
	position: relative;
	width: calc(270 / 900 * 100%);
}
.header-menu__service__nav__list__item a {
	position: relative;
	display: block;
	font-size: 1.8rem;
	line-height: 1.45;
	letter-spacing: .05em;
	font-weight: 500;
	text-align: center;
}
.header-menu__service__nav__list__item-tax a {
	color: #47b3d1;
}
.header-menu__service__nav__list__item-labor a {
	color: #ebbe00;
}
.header-menu__service__nav__list__item-set a {
	color: #7bc255;
}
.header-menu__service__nav__list__item__desc {
	margin-top: 1.3rem;
}
.header-menu__links {
	width: min(90%,1020px);
	margin-inline: auto;
}
.header-menu__links__list {
	position: relative;
}
.header-menu__links__list__item {
	width: calc(225 / 1020 * 100%);
	border-radius: 2.0rem;
	overflow: hidden;
}
.header-menu__links__list__item a {
	position: relative;
	display: block;
	background: var(--white);
	font-size: 1.6rem;
	line-height: 1.45;
	letter-spacing: .05em;
	font-weight: 500;
	text-align: center;
}
.header-menu__links__list__item__figure {
	position: relative;
	line-height: 1;
}
.header-menu__links__list__item__desc {
	padding-block: 1.1rem 1.6rem;
}
.js-mobile-button {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 120px;
	height: 120px;
	transform: translateY(-50%);
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	background: transparent;
	outline: none;
	border: none;
	pointer-events: auto;
	border-radius: 50%;
	z-index: 10001;
}
.js-mobile-button.js-open {
	background: #5c5c5c;
}
.js-mobile-button::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	background: #5c5c5c;
	border-radius: 50%;
	z-index: -1;
}
.js-mobile-button-icon{
	position: absolute;
	top: 32%;
	left: 0;
	right: 0;
	margin: auto;
	width: 50px;
	height: 15px;
}
.js-mobile-button-icon::before,
.js-mobile-button-icon::after{
	content: '';
}
.js-mobile-button-icon::before,
.js-mobile-button-icon i,
.js-mobile-button-icon::after{
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	margin-inline: auto;
	height: 2px;
	width: 100%;
	border-radius: 1px;
	box-sizing: border-box;
	background: var(--white);
	transition: all .4s;
	transform-origin: center center;
}
.js-mobile-button-icon::before{
	top: 0;
	-webkit-animation: bar01 .75s forwards;
	animation: bar01 .75s forwards;
}
.js-mobile-button-icon i{
	top: calc(50% - 1px);
	display: none;
}
.js-mobile-button-icon::after{
	bottom: 0;
	-webkit-animation: bar02 .75s forwards;
	animation: bar02 .75s forwards;
}
.js-mobile-button.js-open .js-mobile-button-icon::before{
	-webkit-animation: js-open-bar01 .75s forwards;
	animation: js-open-bar01 .75s forwards;
}
.js-mobile-button.js-open .js-mobile-button-icon i{
	left: 100%;
	opacity: 0;
}
.js-mobile-button.js-open .js-mobile-button-icon::after{
	-webkit-animation: js-open-bar02 .75s forwards;
	animation: js-open-bar02 .75s forwards;
}
.js-mobile-button.js-open .js-mobile-button-icon::before,
.js-mobile-button.js-open .js-mobile-button-icon::after{
	width: 76%;
	background: var(--white);
}
@keyframes bar01 {
  0% {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  50% {
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    top: 0%;
    transform: translateY(-50%) rotate(0);
  }
}
@keyframes js-open-bar01 {
  0% {
    top: 0%;
    transform: translateY(-50%) rotate(0);
  }
  50% {
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}
@keyframes bar02 {
  0% {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  50% {
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    bottom: 0%;
    transform: translateY(50%) rotate(0);
  }
}
@keyframes js-open-bar02 {
  0% {
    bottom: 0%;
    transform: translateY(50%) rotate(0);
  }
  50% {
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
}
.js-mobile-button-txt{
  position: relative;
  display: block;
  margin-top: 32%;
}
.js-mobile-button-txt span{
  display: block;
  font-size: 18px;
  text-align: center;
  color: var(--white);
}
.l-header.js-active .js-mobile-button-txt span,
.js-mobile-button.js-open .js-mobile-button-txt span{
  color: var(--white);
}
.js-mobile-button-txt span:nth-of-type(1){
  opacity: 1;
  transition: color .7s,opacity .7s;
}
.js-mobile-button-txt span:nth-of-type(2){
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  opacity: 0;
  transition: color .7s,opacity .7s;
}
.js-mobile-button.js-open .js-mobile-button-txt span:nth-of-type(1){
  opacity: 0;
}
.js-mobile-button.js-open .js-mobile-button-txt span:nth-of-type(2){
  opacity: 1;
}
@media (any-hover: hover){
	.header-menu__service__nav__list__item a {
		transform: scale(1.0);
		transition: transform .3s linear;
	}
	.header-menu__service__nav__list__item a:hover {
		transform: scale(1.05);
	}
	.header-menu__links__list__item a {
		transform: scale(1.0);
		transition: transform .3s linear;
	}
	.header-menu__links__list__item a:hover {
		transform: scale(1.05);
	}
	.js-mobile-button::before {
		transition: all .3s;
	}
	.js-mobile-button:hover::before {
		width: 110%;
		height: 110%;
	}
}
@media screen and (max-width: 768px){
	.header-head{
		height: 86px;
		padding-top: 15px;
		padding-left: 15px;
	}
	.header-head__logo{
		width: 250px;
	}
	.js-open .header-body::before {
		width: 170%;
		height: 140%;
	}
	.header-menu {
		display: block;
	}
	.header-menu-wrap {
	    padding-block: 10.0rem;
	}
	.header-menu__service {
		width: calc(320 / 380 * 100%);
		margin-inline: auto;
		border-radius: 2.0rem;
		filter: drop-shadow(0 0 10px rgba(0 0 0 / .05));
		padding-block: 3.2rem 3.0rem;
		margin-bottom: 3.0rem;
	}
	.header-menu__service__heading {
		font-size: 1.8rem;
		margin-bottom: 2.0rem;
	}
	.header-menu__service__nav {
		position: relative;
		width: calc(260 / 320 * 100%);
		margin-inline: auto;
	}
	.header-menu__service__nav__list {
		gap: 1.0rem;
	}
	.header-menu__service__nav__list__item {
		width: 100%;
	}
	.header-menu__service__nav__list__item a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		font-size: 1.6rem;
		text-align: left;
	}
	.header-menu__service__nav__list__item__figure {
		width: calc(120 / 260 * 100%);
	}
	.header-menu__service__nav__list__item__desc {
		margin-top: 0;
		width: calc(120 / 260 * 100%);
	}
	.header-menu__links {
		width: calc(320 / 380 * 100%);
	}
	.header-menu__links__list {
		gap: 2.0rem;
	}
	.header-menu__links__list__item {
		width: calc((100% - 2.0rem) /2);
		border-radius: 1.5rem;
	}
	.header-menu__links__list__item a {
		font-size: 1.4rem;
	}
	.header-menu__links__list__item__desc {
		padding-block: .5rem 1.0rem;
	}
	.js-mobile-button {
		right: 10px;
		width: 65px;
		height: 65px;
	}
	.js-mobile-button-icon{
		position: absolute;
		top: 32%;
		left: 0;
		right: 0;
		margin: auto;
		width: 33px;
		height: 7px;
	}
	.js-mobile-button-icon::before,
	.js-mobile-button-icon i,
	.js-mobile-button-icon::after{
		height: 1px;
	}
	.js-mobile-button-txt{
	  margin-top: 32%;
	}
	.js-mobile-button-txt span{
	  font-size: 12px;
	}
}


/*=======================================
common style
=======================================*/
.common-btn {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 36.0rem;
	height: 8.0rem;
	background-color: #6c6c6c;
	border: solid 1px #6c6c6c;
	padding-inline: 3.4rem;
	font-size: 2.0rem;
	line-height: 1.45;
	letter-spacing: .05em;
	color: var(--white);
	font-weight: 500;
	border-radius: 4.0rem;
	padding-bottom: .2em;
}
.common-btn-back {
	justify-content: flex-end;
	width: 30.0rem;
	height: 6.0rem;
	font-size: 1.8rem;
	background-color: var(--white);
	border: solid 1px #6c6c6c;
	color: #6c6c6c;
}
.common-btn span {
	display: block;
	position: relative;
	width: 100%;
}
.common-btn-back span {
	text-align: center;
}
.common-btn-back-top span {
	padding-left: 3.0rem;
}
.common-btn i {
	position: absolute;
	right: 0;
	top: 15%;
	width: 2.7rem;
	line-height: 1;
}
.common-btn-back i {
	right: auto;
	left: 0;
	width: 2.1rem;
}
@media (any-hover: hover){
	.common-btn {
		transition: transform .2s linear,filter .2s linear;
	}
	.common-btn:hover {
		transform: scale(1.01);
    	filter: drop-shadow(4px 4px 1px rgba(0 0 0 / .2));
	}
    .common-btn:hover i {
        animation: arrow .6s .2s;
    }
    .common-btn-back:hover i {
        animation: arrow-back .6s .2s;
    }
}
@keyframes arrow {0% {transform: translateX(0);}20% {transform: translateX(50%);opacity: 0;}50% {transform: translateX(-50%);opacity: 0;}100% {transform: translateX(0);opacity: 1;}}
@keyframes arrow-back {0% {transform: translateX(0);}20% {transform: translateX(-50%);opacity: 0;}50% {transform: translateX(50%);opacity: 0;}100% {transform: translateX(0);opacity: 1;}}
@media screen and (max-width: 768px){
	.common-btn {
		width: 28.0rem;
		height: 6.0rem;
		padding-inline: 3.0rem;
		font-size: 1.6rem;
		border-radius: 3.0rem;
		padding-bottom: .1em;
	}
	.common-btn-back {
		width: 22.0rem;
		height: 5.0rem;
		font-size: 1.4rem;
		padding-bottom: .2em;
	}
	.common-btn-back-top span {
		padding-left: 3.0rem;
	}
	.common-btn i {
		top: 15%;
		width: 2.0rem;
	}
	.common-btn-back i {
		top: 16%;
		width: 1.8rem;
	}
}



/*=======================================
l-kv
=======================================*/
.l-kv {
	position: relative;
	height: 76.0rem;
	padding-top: 10.0rem;
	overflow: hidden;
}
.l-kv::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url('../img/common/bg_kv-pc.png') no-repeat center top / 100% 100%;
	z-index: -1;
}
.l-kv.flat::before {
	background: url('../img/common/bg_kv_flat-pc.png') no-repeat center top / 100% 100%;
}
.kv-inner {
	width: min(90%,1500px);
	margin-inline: auto;
	z-index: 1;
}
.kv-head {
	position: relative;
	width: calc(900 / 1500 * 100%);
	padding-top: 10.0rem;
	z-index: 2;
}
.kv-head__enttl {
	font-size: 16.0rem;
	line-height: 1;
	letter-spacing: -.02em;
}
.kv-head__enttl span {
	display: inline-block;
	line-height: 1;
	padding-bottom: .1em;
	white-space: nowrap;
 	background : -webkit-linear-gradient(0deg, rgba(255 213 0 / 1) 0%, rgba(249 213 1 / 1) 7.26%, rgba(233 211 4 / 1) 16.75%, rgba(206 210 8 / 1) 27.49%, rgba(168 207 15 / 1) 39.06%, rgba(126 204 22 / 1) 50%, rgba(124 203 30 / 1) 51.23%, rgba(107 198 88 / 1) 60.96%, rgba(94, 194, 137, 1) 70.35%, rgba(83 190 175 / 1) 79.18%, rgba(75 188 202 / 1) 87.32%, rgba(71 187 218 / 1) 94.51%, rgba(69 186 224 / 1) 100%);
	background : -webkit-gradient(linear,0% 50% ,100% 50% ,color-stop(0,rgba(255 213 0 / 1) ),color-stop(0.0726,rgba(249 213 1 / 1) ),color-stop(0.1675,rgba(233 211 4 / 1) ),color-stop(0.2749,rgba(206 210 8 / 1) ),color-stop(0.3906,rgba(168 207 15 / 1) ),color-stop(0.5,rgba(126 204 22 / 1) ),color-stop(0.5123,rgba(124 203 30 / 1) ),color-stop(0.6096,rgba(107 198 88 / 1) ),color-stop(0.7035,rgba(94, 194, 137, 1) ),color-stop(0.7918,rgba(83 190 175 / 1) ),color-stop(0.8732,rgba(75 188 202 / 1) ),color-stop(0.9451,rgba(71 187 218 / 1) ),color-stop(1,rgba(69 186 224 / 1) ));
	background : -o-linear-gradient(0deg, rgba(255 213 0 / 1) 0%, rgba(249 213 1 / 1) 7.26%, rgba(233 211 4 / 1) 16.75%, rgba(206 210 8 / 1) 27.49%, rgba(168 207 15 / 1) 39.06%, rgba(126 204 22 / 1) 50%, rgba(124 203 30 / 1) 51.23%, rgba(107 198 88 / 1) 60.96%, rgba(94, 194, 137, 1) 70.35%, rgba(83 190 175 / 1) 79.18%, rgba(75 188 202 / 1) 87.32%, rgba(71 187 218 / 1) 94.51%, rgba(69 186 224 / 1) 100%);
	background : -ms-linear-gradient(0deg, rgba(255 213 0 / 1) 0%, rgba(249 213 1 / 1) 7.26%, rgba(233 211 4 / 1) 16.75%, rgba(206 210 8 / 1) 27.49%, rgba(168 207 15 / 1) 39.06%, rgba(126 204 22 / 1) 50%, rgba(124 203 30 / 1) 51.23%, rgba(107 198 88 / 1) 60.96%, rgba(94, 194, 137, 1) 70.35%, rgba(83 190 175 / 1) 79.18%, rgba(75 188 202 / 1) 87.32%, rgba(71 187 218 / 1) 94.51%, rgba(69 186 224 / 1) 100%);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD500', endColorstr='#45BAE0' ,GradientType=0)";
	background : linear-gradient(90deg, rgba(255 213 0 / 1) 0%, rgba(249 213 1 / 1) 7.26%, rgba(233 211 4 / 1) 16.75%, rgba(206 210 8 / 1) 27.49%, rgba(168 207 15 / 1) 39.06%, rgba(126 204 22 / 1) 50%, rgba(124 203 30 / 1) 51.23%, rgba(107 198 88 / 1) 60.96%, rgba(94, 194, 137, 1) 70.35%, rgba(83 190 175 / 1) 79.18%, rgba(75 188 202 / 1) 87.32%, rgba(71 187 218 / 1) 94.51%, rgba(69 186 224 / 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD500',endColorstr='#45BAE0' , GradientType=1);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.kv-head__ttl {
	position: relative;
    font-size: 3.6rem;
    line-height: 1.45;
    letter-spacing: .05em;
    color: #595757;
    margin-top: -.2em;
}
.kv-figure {
	position: relative;
	width: calc(600 / 1500 * 100%);
	z-index: 1;
}
.kv-figure::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: calc(240 / 600 * 100%);
	padding-bottom: calc(240 / 600 * 100%);
	margin-left: calc(-90 / 600 * 100%);
	margin-top: calc(-20 / 600 * 100%);
	border-radius: 50%;
	background: #bfe4ef;
	z-index: -2;
}
.kv-figure::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: var(--white);
	filter: drop-shadow(0 0 20px rgba(0 0 0 / .05));
	z-index: -1;
}
@media screen and (max-width: 768px){
	.l-kv {
		height: 48.4rem;
		padding-top: 10.5rem;
	}
	.l-kv::before {
		background: url('../img/common/bg_kv-sp.png') no-repeat center top / 100% 100%;
	}
	.l-kv.flat::before {
		background: url('../img/common/bg_kv_flat-sp.png') no-repeat center top / 100% 100%;
	}
	.kv-inner {
		display: block;
		width: calc(320 / 380 * 100%);
	}
	.kv-head {
		width: 100%;
		padding-top: 0;
	}
	.kv-head__enttl {
		font-size: 6.4rem;
	}
	.kv-head__enttl span {
		padding-bottom: .15em;
		line-height: 1;
	}
    .kv-head__ttl {
        font-size: 2.0rem;
    }
    .l-kv.flat .kv-head__ttl{
    	margin-top: .8rem;
    }
	.kv-figure {
		width: 24.0rem;
		margin-left: calc(130 / 320 * 100%);
		margin-top: 1.5rem;
		z-index: 1;
	}
	.kv-figure::before {
		width: calc(80 / 240 * 100%);
		padding-bottom: calc(80 / 240 * 100%);
		margin-left: calc(-27 / 240 * 100%);
		margin-top: calc(10 / 240 * 100%);
	}
}





/*=======================================
404
=======================================*/
.contents-404 {
	position: relative;
	padding-block: 24.5rem 10.0rem;
}
.contents-404__heading {
	font-size: 12.0rem;
	line-height: 1;
	letter-spacing: -.02em;
	text-align: center;
	margin-bottom: 3.8rem;
}
.contents-404__heading em {
	font-size: 1.05em;
	line-height: 1;
	vertical-align: .1em;
}
.contents-404__heading i {
	vertical-align: -.05em;
}
.contents-404__desc {
	font-size: 3.2rem;
	line-height: 2;
	letter-spacing: .05em;
	font-weight: 500;
	text-align: center;
	margin-bottom: 6.5rem;
}
.contents-404__btn {
	margin-inline: auto;
}
@media screen and (max-width: 768px){
	.contents-404 {
		padding-block: 12.0rem 2.0rem;
	}
	.contents-404__heading {
		font-size: 4.0rem;
		margin-bottom: 2.7rem;
	}
	.contents-404__desc {
		font-size: 1.8rem;
		margin-bottom: 3.2rem;
	}
}



/*=======================================
footer
=======================================*/
.l-footer{
	position: relative;
	width: 100%;
	padding-block: 13.0rem 12.0rem;
	z-index: 10;
}
.footer-inner {
	max-width: 1420px;
}
.footer-head {
	width: min(40%,480px);
}
.footer-head__box {
	position: relative;
}
.footer-head__logo {
	display: block;
	width: 100%;
	margin-bottom: 3.0rem;
}
.footer-head__info {
	font-size: 1.6rem;
	line-height: 2.125;
	letter-spacing: .05em;
	font-weight: 300;
	color: #7d7d7d;
	font-family: "Outfit",YakuHanJP, 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	margin-bottom: 2.0rem;
}
.footer-head__info span ,
.footer-head__info a {
	font-size: 1.8rem;
}
.footer-head__info i{
	vertical-align: .2rem;
}
.footer-head__info br {
	display: none;
}
.footer-main {
	position: relative;
	width: min(55%,730px);
}
.footer-main__service {
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.45;
	color: #7d7d7d;
	margin-bottom: 7.0rem;
}
.footer-main__service__heading {
	font-size: 1.8rem;
	margin-bottom: 3.0rem;
}
.footer-main__service__heading br {
	display: none;
}
.footer-main__service__list {
	border-left: solid 1px #dedede;
	padding-left: 4.4rem;
	gap: 2.0rem 3.0rem;
	padding-block: .5rem 1.1rem;
}
.footer-main__service__list__item {
	position: relative;
}
.footer-main__service__list__item + .footer-main__service__list__item {
	padding-left: 5.0rem;
}
.footer-main__service__list__item + .footer-main__service__list__item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 2.0rem;
	height: 1px;
	background: #dedede;
}
.footer-main__service__list__item a {
	display: block;
	position: relative;
	padding-left: 4.2rem;
}
.footer-main__service__list__item i {
	display: block;
	position: absolute;
	left: 0;
	top: .5rem;
	width: 2.9rem;
	line-height: 1;
}
.footer-main__nav {
	position: relative;
	width: min(100%,550px);
}
.footer-main__nav__list {
	gap: 2.0rem 0;
}
.footer-main__nav__list__item {
	width: 33%;
	font-size: 1.6rem;
	line-height: 1.45;
	letter-spacing: .05em;
	color: #7d7d7d;
}
.footer-main__nav__list__item:last-of-type {
	flex: 1 auto;
}
.footer-main__nav__list__item a {
	display: block;
	position: relative;
	padding-left: 1.7rem;
}
.footer-main__nav__list__item a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 55%;
	transform: translateY(-50%);
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #cccccc;
}
.footer-copyright {
	font-size: 1.2rem;
	line-height: 1.45;
	letter-spacing: .05em;
	color: #9d9d9d;
}
@media (any-hover: hover){
	.footer-main__service__list__item a {
		transition: color .3s linear;
	}
	.footer-main__service__list__item-tax a:hover {
		color: #47b3d1;
	}
	.footer-main__service__list__item-labor a:hover {
		color: #f2cf44;
	}
	.footer-main__service__list__item-set a:hover {
		color: #7bc255;
	}
	.footer-main__nav__list__item a {
		transition: color .3s linear;
	}
	.footer-main__nav__list__item a:hover {
		color: #cccccc;
	}
}
@media screen and (max-width: 1000px) {
	.l-footer{
		padding-block: 8.0rem 2.0rem;
	}
	.footer-inner {
    	max-width: 560px;
	}
	.footer-head {
		display: contents;
	}
	.footer-head__box {
		width: 100%;
		padding-bottom: 3.0rem;
		margin-bottom: 3.0rem;
		border-bottom: solid 1px #dedede;
		order: 0;
	}
	.footer-head__logo {
	    width: 70%;
	    margin: 0 auto 3.0rem;
	}
	.footer-head__info {
		text-align: center;
		margin-bottom: 0;
	}
	.footer-main {
		width: 100%;
		order: 1;
	}
	.footer-main__service {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 1.5rem 3.5rem;
		padding-bottom: 3.5rem;
		margin-bottom: 3.0rem;
		border-bottom: solid 1px #dedede;
	}
	.footer-main__service__heading {
		margin-bottom: 0;
	}
	.footer-main__service__list {
		border-left: none;
		padding-left: 0;
		gap: 2.0rem 2.0rem;
		padding-block: 0;
	}
	.footer-main__service__list__item + .footer-main__service__list__item {
		padding-left: 0;
	}
	.footer-main__service__list__item + .footer-main__service__list__item::before {
		display: none;
	}
	.footer-main__nav {
		width: 100%;
	}
	.footer-main__nav__list__item {
		width: 33%;
	}
	.footer-copyright {
		width: 100%;
		text-align: center;
		margin-top: 5.0rem;
		order: 2;
	}
}
@media screen and (max-width: 768px){
	.footer-inner {
		max-width: 560px;
	}
	.footer-head__box {
		padding-bottom: 2.6rem;
		margin-bottom: 3.3rem;
	}
	.footer-head__logo {
		width: 100%;
		margin: 0 auto 1.8rem;
	}
	.footer-head__info {
		font-size: 1.4rem;
		line-height: 2.285714285714286;
	}
	.footer-head__info span ,
	.footer-head__info a {
		font-size: 1.2em;
	}
	.footer-head__info i{
		vertical-align: .2rem;
	}
	.footer-head__info br {
		display: block;
	}
	.footer-head__info p:last-of-type {
		margin-top: .6em;
	}
	.footer-main {
	}
	.footer-main__service {
		font-size: 1.4rem;
		line-height: 1.75;
		padding-bottom: 3.5rem;
		margin-bottom: 3.5rem;
		gap: 0;
		justify-content: space-between;
	}
	.footer-main__service__heading {
		width: calc(130 / 320 * 100%);
		font-size: 1.6rem;
		text-align: center;
	}
	.footer-main__service__heading br {
		display: block;
	}
	.footer-main__service__list {
		width: calc(175 / 320 * 100%);
		gap: 2.7rem 2.0rem;
	}
	.footer-main__service__list__item a {
		padding-left: 3.7rem;
	}
	.footer-main__service__list__item i {
		top: .6rem;
		width: 2.5rem;
	}
	.footer-main__nav {
		position: relative;
		width: calc(100% - 3.2rem);
		margin-inline: auto;
	}
	.footer-main__nav__list {
		gap: 2.5rem 0;
	}
	.footer-main__nav__list__item {
		width: 50%;
		font-size: 1.4rem;
	}
	.footer-main__nav__list__item a {
		padding-left: 1.5rem;
	}
	.footer-main__nav__list__item a::before {
		top: 55%;
		width: .4rem;
		height: .4rem;
	}
	.footer-copyright {
		font-size: 1.0rem;
	}
}



/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
swipeIcon
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.js-scroll--target{ position: relative;}
.swipebox { display: none; }
@media screen and (max-width: 768px) {
  .js-scroll--target{
    overflow-x: scroll;
  }
  .swipebox {
    display: block;
    position: absolute;
    z-index: 1;    
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 12.0rem;
    height: 12.0rem;
    filter: drop-shadow(0 0 20px rgba(0 0 0 / .1));
    background: url(../img/common/img_swipe.svg) no-repeat center/cover;
    pointer-events: none;

    /*top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/common/img_swipe.svg) no-repeat center/200px auto rgba(51 51 51 / .8);*/
  }
  .is-swipe .swipebox{
    display: none;
  }
}
@keyframes horizontal {
  0% { transform:translate(-10%,-50%); }
  100% { transform:translate(10%,-50%); }
}



/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
tab
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.tab{
  cursor: pointer;
}
.tabpanel{
  display: none;
  position: relative;
}
.tabpanel.active{
  display: block;
  animation: tabFadeIn .5s;
}
@keyframes tabFadeIn{
  0%{ opacity: 0; }
  100%{ opacity: 1; }
}




/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
modal
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.modal{
  position: fixed;
  z-index: 100001;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.modal.active{
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal[aria-hidden="true"]{
  animation: modal-close .5s;
}
.modal[aria-hidden="false"]{
  animation: modal-open .5s;
}
@keyframes modal-open{
  0%{ opacity: 0; }
  100%{ opacity: 1; }
}
@keyframes modal-close{
  0%{ opacity: 1; }
  100%{ opacity: 0; }
}
.modal-overlay{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0 0 0 / .8);
}
.modal-container{
  position: relative;
  z-index: 2;
  max-width: 1000px;
  max-height: 100%;
  box-sizing: border-box;
  padding: 30px;
  background: var(--white);
  overflow: auto;
}
.modal-close{
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  color: transparent;
  /*border: 10px solid #c8cbce;*/
  background: rgba(0 0 0 / .8);
  cursor: pointer;
}
.modal-close::before,
.modal-close::after{
    content: '';
    display: block;
    width: 80%;
    height: 1px;
    background: var(--white);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.modal-close::after{
    transform: rotate(-45deg);
}
.modal-open,
.modal-content-close{
  cursor: pointer;
}




/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
mask
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.maskWrap .mask {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: 50% 50%;
    mask-position: 50% 50%;
    will-change: mask-size,transform;
    -webkit-mask-size: 0% 0%;
    mask-size: 0% 0%;
    transform: translate3d(0, 10%, 0);
}
.js-view-cnt.is-active .maskWrap .mask{
    transition: transform 3300ms cubic-bezier(0.19, 1, 0.22, 1),-webkit-mask-size 3300ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 3300ms cubic-bezier(0.19, 1, 0.22, 1),mask-size 3300ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 3300ms cubic-bezier(0.19, 1, 0.22, 1),mask-size 3300ms cubic-bezier(0.19, 1, 0.22, 1),-webkit-mask-size 2300ms cubic-bezier(0.19, 1, 0.22, 1);
    transform: translate3d(0, 0%, 0);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}




/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
js-fade-txt
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.js-fade-txt {
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	transition: clip-path 1s cubic-bezier(.115,.405,.24,1);
	overflow: hidden;
}
.js-fade-txt.active {
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.js-fade-txt span {
	display: inline-block;
}
.js-fade-txt img ,
.js-fade-txt span {
    transform: translateY(80%);
    transition: transform .6s cubic-bezier(.115,.405,.24,1);
}
.js-fade-txt.active img ,
.js-fade-txt.active span {
    transform: translateY(0);
}





/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Universal animation
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
/* フェードインアニメーション */
.fi-u, .fi-d, .fi, .fi-r, .fi-l, .custom-fi{ visibility: hidden; }

/* fade in */
@keyframes fadeIn{ from{ opacity: 0; transform: scale(0.7); } to{ opacity: 1; transform: scale(1); } }
.fi.faded{ animation-name: fadeIn; animation-fill-mode:both; animation-duration:.3s; visibility: visible !important; opacity: 0; }

/* fade in up */
@keyframes fadeInUp{ from{ opacity: 0; transform: translate3d(0, 20px, 0) scale(0.7); } to{ opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
.fi-u.faded{ animation-name: fadeInUp; animation-fill-mode:both; animation-duration:.3s; visibility: visible !important; opacity: 0; }

/* fade in down */
@keyframes fadeInDown{ from{ opacity: 0; transform: translate3d(0, -20px, 0); clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%); } to{ opacity: 1; transform: translate3d(0, 0, 0); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); } }
.fi-d.faded{ animation-name: fadeInDown; animation-fill-mode:both; animation-duration:.5s; visibility: visible !important; opacity: 0; }

/* fade in right */
@keyframes fadeInRight{ from{ opacity: 0; transform: translate(20px,0); clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%); } to{ opacity: 1; transform: translate3d(0, 0, 0); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); } }
.fi-r.faded{ animation-name: fadeInRight; animation-fill-mode:both; animation-duration:.5s; visibility: visible !important; opacity: 0; }

/* fade in left */
@keyframes fadeInLeft{ from{ opacity: 0; transform: translate(-20px,0); clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%); } to{ opacity: 1; transform: translate3d(0, 0, 0); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); } }
.fi-l.faded{ animation-name: fadeInLeft; animation-fill-mode:both; animation-duration:.5s; visibility: visible !important; opacity: 0; }

/* fade slide */
@keyframes fadeSlide { from { opacity: 0; transform: translate3d(0, 10px, 0) scale(0.7); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }}
.js-f-slide1.faded { animation-name: fadeSlide; animation-fill-mode:both; animation-duration:.4s; visibility: visible !important; opacity: 0;}
.js-f-slide2.faded { animation-name: fadeSlide; animation-fill-mode:both; animation-duration:.4s; visibility: visible !important; opacity: 0;}
.js-f-slide3.faded { animation-name: fadeSlide; animation-fill-mode:both; animation-duration:.4s; visibility: visible !important; opacity: 0;}

