html {
	font-size: 15px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.93;
	padding-top: 0 !important;
	/*scroll-behavior: smooth;
	scroll-padding-top: 140px;*/
}
body {
	color: #778079;
	line-height: 1.93;
	background: grey;
}
.contents {
	background: white;
}
.wrapper {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	background: white;
	padding-top: 2.5rem;
}
.home .wrapper {
	padding-top: 0;
}
.page {
    margin: 0;
}
img {
	width: 100%;
	height: auto;
}
a {
	color: #778079;
	text-decoration: none;
}
a:hover {
	transition: 0.3s;
	opacity: 0.6;
}
@media only screen and (max-width: 1130px) {
	.wrapper {
		padding-top: 5.5rem;
	}
}
@media only screen and (max-width: 766px) {
	.wrapper {
		padding-top: 4rem;
	}
}
@media only screen and (max-width: 599px) {
	.wrapper {
		padding-top: 3rem;
	}
}

/*---------google fonts---------*/
.zen-old-mincho-regular {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.zen-kaku-gothic-new-regular {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.zen-kaku-gothic-new-medium {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}


/*---------汎用---------*/
.ignite {
	opacity: 0;
}
.ignite.show {
	opacity: 1;
	transition: 0.75s;
}
.flex {
	display: flex;
}
.title svg.title_svg:not(.about_wrapper .title.second svg.title_svg),
.title img {
	height: clamp(1.593rem, 1.095rem + 2.04vw, 2.931rem);
}
@media only screen and (max-width: 599px) {
    .text_section .large {
    	font-size: 1rem !important;
    }
}
/*test*/

/*---------ヘッダ---------*/
header {
	position: sticky;
	top: 0;
	z-index: 10;
	background: white;
	background-color: rgba(255,255,255,0.6);
	padding-top: 1.5rem;
	margin-bottom: 5rem;
}
header a.logo {
	display: block;
	width: 26.73%;
	min-width: 270px;
	max-width: 333px;
}
@media only screen and (max-width: 1130px) {
	header a.logo {
		/*width: 57%;*/
		min-width: 223px;
		max-width: 289px;
	}
}
.site-branding.flex {
	align-items: center;
	justify-content:space-between;	
}
.home header{  
	/*opacity: 0;*/
	animation: header_fadein 2.5s ease both;
	animation-delay: 5.5s;
}
@keyframes header_fadein{
	0%{
		opacity: 0;
	}
	100%{
  opacity: 1;
	}
}
.main-navigation a { 
	color: #778079;
	letter-spacing: 0.05rem;
}
.main-navigation li:last-child a,
.slicknav_menu li:last-child a { 
	background: #92d2dc;
	border-radius: 50%;
	color: white;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	    border-radius: 2rem;
    padding: 0 1.2rem;
}
.site-branding {
	max-width: 1238px;
	margin: 0 auto;
	padding: 0 2%;
    box-sizing: content-box;
}
header nav ul {
	display: flex;
	justify-content:space-between;
	margin: 0 auto !important;
	gap: 3.5rem;	
}
.main-navigation {
    width: auto;
}
/*nav ul li a.is-current {
	border-bottom:1px solid #f4adad;
}*/

		
/*---------メインイメージ：SVGにグラデーションアニメ---------*/	
.main_img {
	position: relative;
	aspect-ratio:980 / 435;
	max-width: 980px;
	margin: 8rem auto 12rem auto;
}
.main_copy_wrapper{	
	position: relative;
	margin-bottom: 2.7rem;
}
@media screen and (max-width: 1130px) {
	.contents {
		padding-top: 8rem;
	}
	.main_img {
		margin: 10.1% 6% 12rem 6%;
	}
}
@media screen and (max-width: 766px) {
	.main_img {
		width: 73%;
		margin: 10.1% auto 6rem auto;
	}
}

.main_copy_wrapper .main_copy_fadein_wrapper,
.main_copy_wrapper .main_copy_gradation_wrapper {
	width: 100%;
}
.main_copy_wrapper .main_copy_fadein_wrapper svg,
.main_copy_wrapper .main_copy_gradation_wrapper svg {
	width: 100%;
	height: 100%;
	max-height: 233.34px;
	aspect-ratio: 513.06 / 233.34;
}

.main_copy_wrapper .main_copy_fadein{  
	opacity: 0;
	animation: main_copy_fadein 2.5s ease both;
	animation: main_copy_fadein 2s ease both;
}
@keyframes main_copy_fadein{
	0%{
	    opacity: 0;
	}
	60%{
	    opacity: 1;
	}
	90%{
	    opacity: 1;
	}
	100%{
	    opacity: 0;
	}
}
.main_copy_wrapper .main_copy_gradation_wrapper{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.main_copy_wrapper .main_copy_gradation{
	opacity: 0;
	animation: main_copy_gradation 1s ease both;
	animation-delay: 1.2s;
	aspect-ratio: 513.06 / 233.34;
}
@keyframes main_copy_gradation{
	0%{
	    opacity: 0;
	}
	100%{
	    opacity: 1;
	}
}


#main_copy_stop1,
#main_copy_stop2 {
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
}
#main_copy_stop1{	
animation-name: main_copy_stop1;
animation-delay: 2.5s;
animation-delay: 1.5s;
}
#main_copy_stop2{
animation-name: main_copy_stop2;
animation-delay: 3s;
}

svg.main_copy_fadein path{
  fill: #778079;
}
svg.main_copy_gradation path{
  fill: url(#linear-gradient);
}

@keyframes main_copy_stop1{
	0%{
		stop-color: #778079;
	}
  50% {
    stop-color: #778079;
  }
  100% {
	  stop-color: #92d2dc;
  }
}
@keyframes main_copy_stop2{
  0% {
    stop-color: #92d2dc;
  }
  60% {
    stop-color: #c0dda3;
  }
  100% {
    stop-color: #c0dda3;
  }
}

.main_copy_wrapper_position {
	width: 52.34%;
	max-width: 513px;
  position: absolute;
  top: 15%;
  left: 50%;
  left: 0;
  transform: translateX(-50%);
	animation: main_copy_slide 1s ease both;
	animation-delay: 4.5s;
}
@keyframes main_copy_slide{
	0%{
		left: 50%;
		transform: translateX(-50%);
	}
	100%{
  left: 0;
  transform: translateX(0%);
	}
}

.main_img .main_logo {
	width: 39.48%;
	max-width: 387px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
	animation: main_logo 1s ease both;
	animation-delay: 5.5s;
}
.main_img .main_logo img {
	width: 100%;
	max-width: 387px;
		height: auto;
	max-height: 432px;
}
@keyframes main_logo{
	0%{
		opacity: 0;
	}
	100%{
  opacity: 1;
	}
}


.main_company_name {
	font-size: clamp(0.75rem, 0.567rem + 0.84vw, 1.313rem);
	letter-spacing: 0.065rem;
	letter-spacing: clamp(0.031rem, 0.001rem + 0.14vw, 0.125rem);
	line-height: 1.85;
	animation: main_company_name 1s ease both;
	animation-delay: 5.5s;
	margin-left: 0.45rem;
}
.main_company_name span.large {
	font-size: 30px;
	font-size: clamp(1.125rem, 0.881rem + 1.12vw, 1.875rem);
	padding: 0 1rem;
}
.main_company_name span.tight {
	letter-spacing: -0.06rem;
}
@keyframes main_company_name{
	0%{
		opacity: 0;
	}
	100%{
  opacity: 1;
	}
}
@media screen and (max-width: 766px) {
	.main_copy_wrapper_position {
	    width: 100%;
	    position: relative;
		animation: main_copy_slide 0 ease both;
		animation-delay: 0;
	}
    .main_img .main_logo {
	    width:71.5%;
	    max-width:71.5%;
	    margin: 0 auto;
	    margin-bottom: 4rem;
	    position: relative;
		animation: main_logo 1s ease both;
		animation-delay: 0;
	}
}
@media screen and (max-width: 599px) {
	.main_img .main_logo {
	    margin-bottom: 3rem;
	}
}
/*---------スクロールボタン---------*/
.scroll_bt {
	margin-top: 5rem;
	text-align: center;
}
.scroll_bt span:hover {
	cursor: pointer;
}
.scroll_bt .dots{
	width: 3px;
	margin: 0 auto;
	margin-top: 1rem;
}

/*---------私たちの想い---------*/
.omoi_wrapper {
	position: relative;
	padding: 10rem 0 16% 0;
	padding: 10.45% 0 0 0;
	margin-bottom: 0;
}
.omoi_wrapper.show .teardrop_anim {
	width: 0.8%;
	max-width: 11px;
	  position: absolute;
  top: 0rem;
  left: 50%;
  transform: translateX(-50%);
  animation-delay: 3.5s;
	animation: teardrop 1s linear both;
}
@keyframes teardrop{
	0%{
		opacity: 0;
		top: 1rem;
	}
	10%{
		opacity: 1;
	}
	95%{
  opacity: 1;
  top: 11%;
	}
	100%{
  opacity: 0;
  top: 11%;
	}
}
@media screen and (max-width: 766px) {
	
}

.omoi_wrapper.show .fower_anim{
  width: 5.27%;
  max-width: 76px;
  height: auto;
  /*margin-top: 8rem;*/
  position: absolute;
  top: 12.95%;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 75.87 / 47;
}
.omoi_wrapper.show .fower_anim svg {
  width: 100%;
  height: auto;
  aspect-ratio: 75.87 / 47;
}
.fower_anim svg.flower path{
  fill: url(#gradient55);
}
.fower_anim svg.flower .cls-2{
	fill: #fff;
}
.omoi_wrapper.show .fower_anim svg.flower #stop21{
	 animation: step21 4s ease both;
	 animation-delay: 0s;
}

@keyframes step21{
	0% {
		stop-color: #778079;    
	}
	20% {
		stop-color: #778079;
	}
	40% {
		stop-color: #9dd5ce;
	}
	100% {
		stop-color: #9dd5ce;
	}
}
@media screen and (max-width: 766px) {
	.omoi_wrapper.show .fower_anim{
		width: 8%;
		min-width: 41px;
	}
	.omoi_wrapper.show .teardrop_anim {
		animation: teardrop 0.8s linear both;
	}
	@keyframes teardrop{
		0%{
			opacity: 0;
			top: 0rem;
		}
		10%{
			opacity: 1;
		}
		95%{
	  opacity: 1;
	  top: 9%;
		}
		100%{
	  opacity: 0;
	  top: 9%;
		}
	}
}

/*ライン1アニメ*/
.omoi_wrapper .line01{
	width: 50.1%;
}
.omoi_wrapper .line01 svg {
	width: 100%;
	height: auto;
	max-height: 659px;
	aspect-ratio: 721 / 658.79;
}
@media screen and (max-width: 766px) {
	.line_anim {
		overflow-x: hidden;
		writing-mode: vertical-rl;
	}
	.omoi_wrapper .line01{
		margin-top: 7.19%;
	}
	.omoi_wrapper .line01 svg {
		width: 180%;
	}
}
.omoi_wrapper.show .line01 .mask_path01{
	fill:none;
	stroke:#ffffff;
	stroke-width:5;
	stroke-dasharray: 1500px;
	stroke-dashoffset: 1500px;	/*ディレイの時はまず隠す*/
	animation: line01 2s forwards;
	animation-delay: 1.5s;
}
.obj_path01{
	mask: url(#out01);
	        fill: none;
        stroke: url(#line01);
        stroke-width: 2px;
        stroke-miterlimit: 10;
}
@keyframes line01{
	0% {
		stroke-dashoffset: 1500px;
	}
	100% {
		stroke-dashoffset: 0;
		
	}
}

.omoi_wrapper .text_section {
	position: absolute;
	right: 8%;
	top:39%;
	max-width: 670px;
	/*margin-top: 15%;
    margin-left: auto;
    margin-right: 8%;
    margin-bottom: 12%;*/
}

.omoi_wrapper .text_section .large {
	font-size: 1.25rem;
	font-weight: 500;
	/*letter-spacing: -2px;*/
}
.omoi_wrapper .text_section .large.tight {
	letter-spacing: -1px;
}

/*想いタイトルアニメ*/
.omoi_wrapper .title{
	margin-top: 5.4%;
	margin-bottom: 12.3%;
	text-align: right;
}
.omoi_wrapper .title svg.title_svg {
	width: 42%;
	max-width: 281px;
	height: auto;
	aspect-ratio: 281 / 4.35;
}
.omoi_wrapper svg.title_svg path{
  fill: url(#omoi_title);
}
.omoi_wrapper.show svg.title_svg #omoi_stop0{
	 animation: omoi_stop1 3s ease both;
}
.omoi_wrapper.show svg.title_svg #omoi_stop1{
	 animation: omoi_stop1 1.5s ease both;
	 /*animation-delay: 1s;*/
}
.omoi_wrapper.show svg.title_svg #omoi_stop2{
	 animation: omoi_stop2 1.5s ease both;
	 /*animation-delay: 2s;*/
}
@keyframes omoi_stop0{
	0% {
		stop-color: #778079;    
	}
	100% {
		stop-color: #778079;
	}
}
@keyframes omoi_stop1{
	0% {
		stop-color: #778079;    
	}
	50% {
		stop-color: #778079;
	}
	100% {
		stop-color: #c0dda3;
	}
}
@keyframes omoi_stop2{
	0% {
		stop-color: #c0dda3;    
	}
	50% {
		stop-color: #92d2dc;
	}
	100% {
		stop-color: #92d2dc;
	}
}
@media screen and (max-width: 979px) {
	.omoi_wrapper .text_section {
		width: 60%;
		max-width: 60%;
		top: 48%;
		transition: 0.3s;
	}
	.omoi_wrapper .text_section .text br {
		display: none;
	}
	.omoi_wrapper .title{
		margin-top: 2%;
		margin-bottom: 7%;
	}
}
@media screen and (max-width: 766px) {
	.omoi_wrapper .title{
		margin-top: 8%;
		margin-bottom: 7%;
	}
	.omoi_wrapper .title svg.title_svg {
	    width: 42%;
	    max-width: 230px;
	    min-width: 152px;
	}
	.omoi_wrapper .text_section{
		top: 45%;
	}
}
@media screen and (max-width: 599px) {
	.omoi_wrapper .title{
		margin-top: 25%;
		margin-bottom: 4%;
	}
	.omoi_wrapper .text_section{
		width: 90%;
		max-width: 90%;
		right: 4%;
	}
	.omoi_wrapper .title svg.title_svg {
        width: 152px;
    }
    /*.omoi_wrapper .text_section .large {
    	font-size: 1rem;
    }*/
	.omoi_wrapper .text_section .large.tight {
		letter-spacing: 0;
	}
}

/*---------私たちにできること---------*/
.dekiru_wrapper {
	position: relative;
	/*padding: 10rem 0 16% 0;*/
}

.dekiru_wrapper .text_section {
	max-width: 750px;
	margin: 0 8%;
	margin-top: -14%;
}

.dekiru_wrapper .text_section .large {
	font-size: 1.25rem;
	font-weight: 500;
	/*letter-spacing: -2px;*/
}
.dekiru_wrapper .text_section .large.tight {
	letter-spacing: -1px;
}

/*ライン2*/
.dekiru_wrapper .line02 {
	width: 100%;
}
.dekiru_wrapper .line02 svg {
	width: 100%;
	height: auto;
	max-height: 530px;
	aspect-ratio: 1441.26 / 530.67;
}
.line02.show .mask_path02{
	fill:none;
	stroke:#ffffff;
	stroke-width:7;
	stroke-dasharray: 2500px;
	stroke-dashoffset: 0;
	animation: line02 2.5s forwards;
	/*animation-delay: 1s;*/
}
.obj_path02{
	mask: url(#out02);
	fill: none;
        stroke: url(#line02);
        stroke-width: 2px;
        stroke-miterlimit: 10;
}
@keyframes line02{
	0% {
		stroke-dashoffset: 2500px;
	}
	100% {
		stroke-dashoffset: 0;		
	}
}
@media screen and (max-width: 766px) {
	.dekiru_wrapper .line02 svg {
		width: 140%;
	}
}


/*できることタイトルアニメ*/
.dekiru_wrapper .title{
	margin-top: 2.45rem;
	margin-bottom: clamp(1rem, 0.443rem + 2.29vw, 2.5rem);
}
.dekiru_wrapper .title svg.title_svg {
	aspect-ratio: 380.21 / 44.35;
}
.dekiru_wrapper .title.show svg.title_svg path{
  fill: url(#dekiru_title);
}
.dekiru_wrapper .title.show svg.title_svg #dekiru_stop0{
	 animation: dekiru_stop1 3s ease both;
}
.dekiru_wrapper .title.show svg.title_svg #dekiru_stop1{
	 animation: dekiru_stop1 1.5s ease both;
	 /*animation-delay: 1s;*/
}
.dekiru_wrapper .title.show svg.title_svg #dekiru_stop2{
	 animation: dekiru_stop2 1.5s ease both;
	 /*animation-delay: 2s;*/
}

@keyframes dekiru_stop1{
	0% {
		stop-color: #778079;    
	}
	50% {
		stop-color: #778079;
	}
	100% {
		stop-color: #92d2dc;
	}
}
@keyframes dekiru_stop2{
	0% {
		stop-color: #92d2dc;    
	}
	50% {
		stop-color: #f3a8b4;
	}
	100% {
		stop-color: #f3a8b4;
	}
}

.dekiru_wrapper .text{
	font-size: clamp(0.938rem, 0.833rem + 0.43vw, 1.219rem);
}
.dekiru_wrapper .six_things {
	width: 84%;
	margin: 0 auto;
	flex-wrap: wrap;
	margin-top: clamp(2.398rem, 1.804rem + 2.44vw, 3.998rem);
}
.dekiru_wrapper .six_things div {
	align-items: center;
	margin-bottom: 5%;
}
.dekiru_wrapper .six_things div:nth-child(odd) {
	width: 55%;
}
.dekiru_wrapper .six_things div:nth-child(even) {
	width: 45%;
}
.dekiru_wrapper .six_things div img {
	width: 60%;
	max-width: 181px;
}
.dekiru_wrapper .six_things div p {
	font-size: clamp(1rem, 0.519rem + 1.98vw, 2rem);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	line-height: 1.6;
	/*margin-bottom: 0;
	margin-left: 7%;*/
	margin: 0 0 0 7%;
	margin-top: 3%;
}
@media screen and (max-width: 1139px) {
	.dekiru_wrapper .child.flex {
		display: block;
		text-align: center;
	}
	.dekiru_wrapper .six_things div:nth-child(odd),
	.dekiru_wrapper .six_things div:nth-child(even) {
		width: 50%;
	}
	.dekiru_wrapper .six_things div img {
	    width: 80%;
	    max-width: 260px;
	}
	.dekiru_wrapper .six_things div p {
	    margin-left: 0;
	}
	.dekiru_wrapper .six_things div {
	    margin-bottom: 5.5%;
	}
	.dekiru_wrapper .six_things {
		width: 90%;
	}
}
@media screen and (max-width: 766px) {
	.dekiru_wrapper .text_section {
		top: clamp(10rem, 2.221rem + 31.91vw, 17.5rem);
	}
	.dekiru_wrapper .six_things div {
	    margin-bottom: 8%;
	}
	.dekiru_wrapper .six_things div img {
	    width: 68.4%;
	    max-width: 260px;
	}	
}
@media screen and (max-width: 599px) {
	.dekiru_wrapper .text_section {
		margin: -5% 5% 0 5%;
	}
}

/*---------私たちの強み---------*/
.tsuyomi_wrapper {
	width: 84%;
	margin: 0 auto;
}

/*強みタイトルアニメ*/
.tsuyomi_wrapper .title{
	margin-top: 6%;
	margin-bottom: clamp(2.132rem, 1.067rem + 4.37vw, 5rem);
}
.tsuyomi_wrapper .title svg.title_svg {
	aspect-ratio: 286.71 / 44.8;
}
.tsuyomi_wrapper .title.show svg.title_svg path{
  fill: url(#tsuyomi_title);
}
.tsuyomi_wrapper .title.show svg.title_svg #tsuyomi_stop0{
	 animation: tsuyomi_stop1 3s ease both;
}
.tsuyomi_wrapper .title.show svg.title_svg #tsuyomi_stop1{
	 animation: tsuyomi_stop1 1.5s ease both;
	 /*animation-delay: 1s;*/
}
.tsuyomi_wrapper .title.show svg.title_svg #tsuyomi_stop2{
	 animation: tsuyomi_stop2 1.5s ease both;
	 /*animation-delay: 2s;*/
}
@keyframes tsuyomi_stop1{
	0% {
		stop-color: #778079;    
	}
	50% {
		stop-color: #778079;
	}
	100% {
		stop-color: #92d2dc;
	}
}
@keyframes tsuyomi_stop2{
	0% {
		stop-color: #92d2dc;    
	}
	50% {
		stop-color: #f3a8b4;
	}
	100% {
		stop-color: #f3a8b4;
	}
}

.tsuyomi_wrapper .text_section p.title {
	font-size: clamp(1.137rem, 0.817rem + 1.31vw, 1.999rem);
	font-weight: 400;
	text-align: center;
	line-height: 1.6;
	margin: 0;
	margin-top: 1rem;
}
.tsuyomi_wrapper .text_section span.large {
	font-size: 1.25rem;
	font-weight: 500;
}
.tsuyomi_wrapper .text_section .large.tight {
	letter-spacing: -1px;
}
.tsuyomi_wrapper .five_things {
	flex-wrap: wrap;
	margin-top: 3%;
	justify-content: space-between;
}
.tsuyomi_wrapper .five_things div {
	width: 28.5%;
	margin-bottom: 5%;
}
@media screen and (max-width: 1134px) {
	.tsuyomi_wrapper .five_things div {
		width: 45.5%;
	}
}
@media screen and (max-width: 599px) {
    .tsuyomi_wrapper {
        margin: 0 5%;
        width: 90%;
    }
}
@media screen and (max-width: 529px) {
	.tsuyomi_wrapper .five_things div {
		width: 100%;
	}
	.tsuyomi_wrapper .five_things div .title {
		font-weight: 500;
	}
	.tsuyomi_wrapper .five_things div .title br {
		display: none;
	}
}

/*---------私たちについて---------*/
.about_wrapper {
	position: relative;
	margin-bottom: 13%;
}

/*ライン3*/
.about_wrapper .line03 {
	width: 100%;
}
.about_wrapper .line03 svg {
	width: 100%;
	height: auto;
	aspect-ratio: 1441.04 / 1205.89;
}
.line03.show .mask_path03{
	fill:none;
	stroke:#ffffff;
	stroke-width:7;
	stroke-dasharray: 1600px;
	stroke-dashoffset: 0;
	animation: line02 1s forwards;
	/*animation-delay: 1s;*/
}
.obj_path03{
	mask: url(#out03);
	fill: none;
        stroke: url(#line03);
        stroke-width: 2px;
        stroke-miterlimit: 10;
}
@keyframes line03{
	0% {
		stroke-dashoffset: 1600px;
	}
	100% {
		stroke-dashoffset: 0;		
	}
}
.line03.show .mask_path03-2{
	fill:none;
	stroke:#ffffff;
	stroke-width:7;
	stroke-dasharray: 100%;
	stroke-dashoffset: 100%;
	animation: line03-2 1s forwards;
	animation-delay: 1s;
}
.line03.show .obj_path03-2{
	mask: url(#out03-2);
	fill: none;
        stroke: url(#line03-2);
        stroke-width: 2px;
        stroke-miterlimit: 10;
}
@keyframes line03-2{
	0% {
		stroke-dashoffset: 100%;
	}
	100% {
		stroke-dashoffset: 0;		
	}
}
@media screen and (max-width: 766px) {
	.about_wrapper .line03 {
		position: relative;
		writing-mode: unset;
	}
    .about_wrapper .line03 svg {
	    /*position: absolute;
	    left: -10%;*/
        width: 135%;
        margin-left: -5%;
    }
}
/*ついてタイトルアニメ*/
.about_wrapper .title{
	margin-top: 6.7%;
	margin-bottom: 9%;
	text-align: right;
}
.about_wrapper .title svg.title_svg {
	width: 100%;
	max-width: 318px;
	height: auto;
	aspect-ratio: 288.54 / 39.91;
}
.about_wrapper .title.show svg.title_svg path{
  fill: url(#about_title);
}
.about_wrapper .title.show svg.title_svg #about_stop0{
	 animation: about_stop1 3s ease both;
}
.about_wrapper .title.show svg.title_svg #about_stop1{
	 animation: about_stop1 1.5s ease both;
	 /*animation-delay: 1s;*/
}
.about_wrapper .title.show svg.title_svg #about_stop2{
	 animation: about_stop2 1.5s ease both;
	 /*animation-delay: 2s;*/
}
@keyframes about_stop1{
	0% {
		stop-color: #778079;    
	}
	50% {
		stop-color: #778079;
	}
	100% {
		stop-color: #f8c48f;
	}
}
@keyframes about_stop2{
	0% {
		stop-color: #f8c48f;    
	}
	50% {
		stop-color: #c0dda3;
	}
	100% {
		stop-color: #c0dda3;
	}
}

.about_wrapper .text_section{
	width: 75.5%;
	/*position: absolute;
	right: 8%;
	top: 21.5%;
	top: 11%;*/
	margin-top: -67%;
    margin-right: 8%;
    margin-left: auto;
}
.about_wrapper .text_section .two_guys{
	width: 70.4%;
	max-width: 766px;
	margin-right: 0;
	margin-left: auto;
	justify-content: space-between;
}
.about_wrapper .text_section .two_guys div.child{
	width: 39.4%;
}
.about_wrapper .text_section .two_guys p{
	display: inline-block;
	margin: 0 auto;
}
.about_wrapper .text_section .two_guys .child>.flex {
	display: flex;
	justify-content: center;
	margin-top: 1.8rem;
}

.about_wrapper .text_section .info_map{
	margin-top: 11.5%;
	justify-content: space-between;
	gap: 2.5rem;
}
.about_wrapper .text_section .info_map table{
	border-collapse: collapse;
}
.about_wrapper .text_section .info_map th,
.about_wrapper .text_section .info_map td{
	vertical-align: top;
	border-bottom: 0.5px solid #778079;
}
.about_wrapper .text_section .info_map th{
	text-align: left;
	font-weight: 400;
	border-bottom: 1.5px solid #778079;
	padding: 2.5rem 1rem 1.5rem 0;
	white-space: nowrap;
	box-sizing: border-box;
}
.about_wrapper .text_section .info_map td{
	padding: 2.5rem 0 1.5rem 1.5rem;
	box-sizing: border-box;
}
.about_wrapper .text_section .info_map tr:first-child th{
	padding: 0 0 1.5rem 0;
}
.about_wrapper .text_section .info_map tr:first-child td{
	padding: 0 0 1.5rem 1.5rem;
}
.about_wrapper .text_section .info_map .map{
	width: 38.8%;
}

.about_wrapper .text_section .info_map .button {
	text-align: center;
	margin-top: 3rem;
}
.about_wrapper .text_section .info_map .button a{
	width: 38.8%;
	background: #778079;
	border-radius: 2rem;
	color: white;
	    border-radius: 2rem;
    padding: 0.5rem 1.8rem;
    font-size: 1.25rem;
}
@media screen and (max-width: 1130px) {
	.about_wrapper .text_section .two_guys {
	    width: 82%;
    }
	.about_wrapper .text_section .two_guys div.child {
	    width: 42%;
	}
}
@media screen and (max-width: 999px) {
	.about_wrapper .text_section .info_map {
		display: block;
	}
	.about_wrapper .text_section .info_map .map {
	    width: clamp(240px, 105.517px + 34.483vw, 450px);
	    margin: 0 auto;
	    margin-top: 4rem;
	}
}
@media screen and (max-width: 766px) {
	.about_wrapper .text_section {
	    width: 90%;
	    margin: 0 auto;
	    margin-top: -67%;
	}
	.about_wrapper .text_section .info_map {
	    /*margin-top: 11.5%;
	   display: block;*/
	}
	.about_wrapper .text_section .two_guys {
		display: block;
	    margin: 0 auto;
	    text-align: center;
	    width: 80%;
	    margin-left: 15%;
	}
	.about_wrapper .text_section .two_guys img {
	    width: clamp(13.991rem, 2.243rem + 48.2vw, 25.317rem);
	}
	.about_wrapper .text_section .two_guys p {
	    text-align: left;
	}
	.about_wrapper .text_section .two_guys div.child {
	    width: 100%;
	}
	.about_wrapper .text_section .two_guys div.child:first-child {
	    margin-bottom: 18%;
	}
}
@media screen and (max-width: 629px) {
	.about_wrapper .text_section .info_map th,
	.about_wrapper .text_section .info_map td {
	    display: block;
	    width: 100%;
	    box-sizing: border-box;
	}
	.about_wrapper .text_section .info_map th {
		border-bottom: 0;
		padding-bottom: 0 !important;
	}
	.about_wrapper .text_section .info_map td {
		border-bottom: 1.5px solid #778079;
		padding-top: 0;
		padding-left: 0 !important;
		/*word-break: keep-all;*/
	}
}


/*ついてタイトルアニメ2*/
.about_wrapper .for_pc {
	display: block;
}
.about_wrapper .for_sp {
	display: none;
}
@media screen and (max-width: 766px) {
	.about_wrapper .for_pc {
		display: none;
	}
	.about_wrapper .for_sp {
		display: block;
	}
}
.about_wrapper .title.second {
	width: 75.5%;
	margin: 4rem auto 5rem 16%;
	margin: 8.2% auto 7.6% 16%;
	text-align: left;
}
.about_wrapper .title.second svg.title_svg {
	width: 71%;
	max-width: 772px;
	height: auto;
	max-height: 144px;
	aspect-ratio: 771.84 / 143.64;
}
.about_wrapper .title.second svg.title_svg2 {
	width: 80%;
	max-width: 880px;
	aspect-ratio: 256.62 / 110.82;
}
.about_wrapper .title.second.show svg.title_svg path{
  fill: url(#about_title2);
}
.about_wrapper .title.second.show svg.title_svg2 path{
  fill: url(#about_title2sp);
}
.about_wrapper .title.second.show svg.title_svg #about2_stop0,
.about_wrapper .title.second.show svg.title_svg2 #about2_stop0sp{
	 animation: about2_stop1 3s ease both;
}
.about_wrapper .title.second.show svg.title_svg #about2_stop1,
.about_wrapper .title.second.show svg.title_svg2 #about2_stop1sp{
	 animation: about2_stop1 2s ease both;
	 /*animation-delay: 1s;*/
}
.about_wrapper .title.second.show svg.title_svg #about2_stop2,
.about_wrapper .title.second.show svg.title_svg2 #about2_stop2sp{
	 animation: about2_stop2 3.5s ease both;
	 /*animation-delay: 2s;*/
}
@keyframes about2_stop0{
	0% {
		stop-color: #778079;    
	}
	100% {
		stop-color: #778079;
	}
}
@keyframes about2_stop1{
	0% {
		stop-color: #778079;    
	}
	80% {
		stop-color: #778079;
	}
	100% {
		stop-color: #c0dda3;
	}
}
@keyframes about2_stop2{
	0% {
		stop-color: #c0dda3;    
	}
	50% {
		stop-color: #92d2dc;
	}
	100% {
		stop-color: #92d2dc;
	}
}
@media screen and (max-width: 766px) {
	.about_wrapper .title.second {
	    width: 82.5%;
	    margin: 15.2% auto 7.6% 16%;
	    text-align: left;
	}
}

/*花とライン*/
.about_wrapper .line_flower {
	width: 89.4%;
	position: relative;
	padding-bottom: 1rem;
}
/*３本目ライン*/
.line_flower.show .line03-3 {
	width: 98.6%;
}
.line_flower.show .line03-3 svg {
	width: 98.6%;
	height: auto;
	max-height: 318px;
	aspect-ratio: 1252.57 / 318.21;
}
.line_flower.show .line03-3 .mask_path03-3{
	fill:none;
	stroke:#ffffff;
	stroke-width:7;
	stroke-dasharray: 1710px;
	stroke-dashoffset: 1710px;
	animation: line03-3 2s forwards;
}
.obj_path03-3{
	mask: url(#out03-3);
	fill: none;
        stroke: url(#line03-3);
        stroke-width: 2px;
        stroke-miterlimit: 10;
}
@keyframes line03-3{
	0% {
		stroke-dashoffset: 1710px;
	}
	100% {
		stroke-dashoffset: 0;		
	}
}
/*花*/
.about_wrapper .line_flower.show .flower_amin2 {
	position: absolute;
	right: 0;
	top: -12.75%;
	width: 5.74%;
	max-width: 74px;
	animation: step23 1s ease both;
	animation-delay: 1.85s;
	aspect-ratio: 75.87 / 47;
}
@keyframes step23{
	0% {
		opacity: 0; 
	}
	100% {
		opacity: 1; 
	}
}

.line_flower.show .flower_amin2 svg.flower2 path{
  fill: url(#flower_amin2);
}
.line_flower.show .flower_amin2 svg.flower2 .cls-2{
	fill: #fff;
}
.line_flower.show .flower_amin2 svg.flower2 #stop23{
	 animation: step24 1s ease both;
	 
}
/*.line_flower.show .flower_amin2 svg.flower2 #stop24{
	 animation: step24 1s ease both;	 
}*/

@keyframes step24{
	0% {
		stop-color: #778079; 
	}
	80% {
		stop-color: #92D2DC;
	}
	100% {
		stop-color: #92D2DC;
	}
}
@media screen and (max-width: 766px) {
	.about_wrapper .line_flower {
    	width: 95%;
    }
	.line_flower.show .line03-3 {
	    width: 127%;
	    margin-left: -29.3%;
	    aspect-ratio: 1252.57 / 318.21;
	}
	.about_wrapper .line_flower.show .flower_amin2 {
		width: 8.949%;
		right: -2%;
	}
}

/*---------よくあるご質問---------*/
.qa_wrapper {
	width: 62.5%;
	max-width: 900px;
	margin: 0 auto;
	margin-bottom: 8%;
}
.qa_wrapper .title img {
	width: auto;
}
.qa_wrapper .qa {
	display: flex;
	flex-wrap:wrap;
	padding: 7rem 0;
	border-bottom: 1px solid #778079;
	margin: 0;
}
.qa_wrapper .qa:last-child {
	border-bottom: 0;
}
.qa_wrapper .qa dt {
	max-width: 35px;	
}
.qa_wrapper .qa dd {
	width: calc(100% - 35px);
	margin: 0;
	font-size: clamp(12px, 9.029px + 0.762vw, 20px);
	line-height: 1.7;
	padding-left: 1rem;
	box-sizing: border-box;
}
.qa_wrapper .qa dd.q {
	font-size: clamp(15px, 9.429px + 1.429vw, 30px);
	font-weight: 500;
	line-height: 1.15;
	padding-bottom: 2rem;
}
@media screen and (max-width: 766px) {
    .qa_wrapper {
        width: 90%;
        margin: 0 auto;
    }
    .qa_wrapper .qa {
		padding: 4rem 0;
	}
    .qa_wrapper .qa dt {
		max-width: 27px;	
	}
	.qa_wrapper .qa dd {
		width: calc(100% - 27px);
		padding-left: 0.6rem;
	}
}

/*フォーム*/
.inquiry {
	background: linear-gradient(-15deg, #92D2DC 0%, #C0DDA3 100%);
	padding: 11% 8% 6% 8%;
	font-size: 1.335rem;
}
.inquiry .inquiry_wrapper {
	width: 100%;
	background: white;
	border-radius: 4rem;
	padding: 9% 9% 4% 9%;
}
.inquiry .inquiry_wrapper .copy {
	font-size: clamp(12px, 9.029px + 0.762vw, 20px);
	margin-top: 2rem;
}
.inquiry form th {
	font-size: clamp(15px, 11.286px + 0.952vw, 25px);
	font-weight: 400;
	text-align: left;
	width: 10em;
}
.inquiry form td {
	width: calc(100% - 10rem);
}
.inquiry form input:not(input[type="submit"]):not(input[type="checkbox"]),
.inquiry form textarea {
	width: 100%;
	border-radius: 0;
	border: 1px solid #778079;
	padding: 1.5rem;
	color: #778079;
	font-size: 1.335rem;
}
.inquiry form .checkboxItem label {
	display: flex;
	align-items: center;
	column-gap: 1rem;
	width: fit-content;
	line-height: 0.9;
	cursor: pointer;
	font-size: clamp(15px, 13.143px + 0.476vw, 20px);
}
.inquiry form input[type="checkbox"] {
	appearance: none;
	position: relative;
	width: clamp(15px, 13.143px + 0.476vw, 20px);
	height: clamp(15px, 13.143px + 0.476vw, 20px);
	border: 1px solid #778079;
	cursor: pointer;
}
.inquiry form input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: clamp(2px, 0.886px + 0.286vw, 5px);
	left: clamp(1px, 0.257px + 0.19vw, 3px);
	width: 12px;
	height: 6px;
	border-bottom: 2px solid #4d4d4d;
	border-left: 2px solid #4d4d4d;
	transform: rotate(-45deg);	
}
.inquiry form .pp_title,
.inquiry form .cb {
	text-align: center;
}
.form_privacy_policy {
	overflow-y: scroll;
	height: 15em;
	font-size: 1rem;
	border: 1px solid #E6E6E6;
	padding: 1.7rem;
}
.inquiry form .button {
	text-align: center;
}
input[type="submit"],
.page-id-22 .wrapper section p.text-button {
	text-align: center;
	color: white;
	background: #585E58;
	border-radius: 3rem;
	padding: 1.5rem 6rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(15px, 13.143px + 0.476vw, 20px);
}
input[type="submit"]:hover {
	cursor: pointer;
}
.inquiry form .cb {
	margin: 2rem 0;	
}
.wpcf7-spinner {
	display: none;
}
@media screen and (max-width: 766px) {
	.inquiry .inquiry_wrapper {
	    border-radius: 1.5rem;
	    padding: 9% 5% 4% 5%;
	}
	.inquiry form th,
	.inquiry form td {
		display: block;
		width: 100%;
	}
	.inquiry form th,
	.inquiry form th p,
	.inquiry form td p {
		padding-bottom: 0;
		margin: 0;
	}
	.inquiry form td {
		margin-bottom: 1.5rem;
	}
	.inquiry form input,
	.inquiry form textarea {
		
	}
	.inquiry form input:not(input[type="submit"]):not(input[type="checkbox"]),
	.inquiry form textarea {
		width: 100%;
	    padding: 1rem;
	    font-size: clamp(15px, 11.286px + 0.952vw, 25px);
		box-sizing: border-box ;
	}
	.inquiry form .pp_title, .inquiry form .cb {
	   font-size: clamp(12px, 9.029px + 0.762vw, 20px);
	}
	.inquiry form .pp_title, .inquiry form .cb p {
		margin-bottom: 1.5rem;
	}
	input[type="submit"] {
		
		padding: 1.5rem 4rem;
	}	
}

/*---------フッター---------*/
footer {
	margin-top: 6%;
	text-align: center;	
	color: white;
}
.footer_wrapper {
	width: 100%;
    max-width: 1440px;
    margin: 0 auto;
	position: relative;
}
footer .go2top {
	width: clamp(16.5px, 11.486px + 1.286vw, 30px);
	position: absolute;
	right: 0;
	top: 16%;
	font-size: 0;
}
footer .go2top a {
	font-size: 0;
}
footer .name {
	font-size: clamp(15px, 11.286px + 0.952vw, 25px);
}
footer copyright {
	font-size: 0.8rem;
	letter-spacing: 0.08rem;
}
footer:not(.home footer) {
	background: #92d2dc;
	padding: 6% 8%;
}

/*----------------------------------------
	フォーム確認・完了
----------------------------------------*/
.page-id-19 h1,
.page-id-22 h1 {
	display: none;
}
.page-id-19 .wrapper section,
.page-id-22 .wrapper section {
	width: 55.55%;
	max-width: 800px;
	margin: 0 auto;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.page-id-22 h2 {
	font-size: clamp(15px, 11.657px + 0.857vw, 24px);
}
.page-id-22 .wrapper section {
	width: 100%;
	max-width: 100%;
}
.page-id-22 .wrapper section {
	text-align: center;
}
.page-id-22 .wrapper section p {
	font-size: clamp(12px, 10.143px + 0.476vw, 17px);
	margin-top: 3rem;
}
.page-id-19 .wrapper section .copy {
	text-align: center;
	font-size: clamp(15px, 13.886px + 0.286vw, 18px);
	font-weight: 500;
}
.page-id-19 .wrapper section th {
	padding-top: 2rem;
}
.page-id-19 .wrapper section td:not(tr:last-child td) {
	border-bottom: 1px solid #c4c8c5;
	padding-bottom: 2rem;
}
.page-id-19 .wrapper section th,
.page-id-19 .wrapper section td {
	width: 100%;
	display: block;
	text-align: left;
}
.page-id-19 .wrapper section table p {
	margin: 0;
}
.page-id-19 .wrapper section table .button p {
	width: 40%;
}
.page-id-19 .wrapper section td .button {
	padding-top: 5rem;
	gap: 3rem;
	justify-content: center;
}
.page-id-19 .wrapper section td .button input[type="button"] {
    text-align: center;
    color: #585E58;
    background: white;
    border: 2px solid #585E58;
    border-radius: 3rem;
    padding: 1.5rem 0;
    width: 100%;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(15px, 13.143px + 0.476vw, 20px);
    box-sizing: border-box;
}
.page-id-19 .wrapper section td .cb {
	    border-bottom: 1px solid #c4c8c5;
    padding-bottom: 2rem;
}
.page-id-19 .wrapper section td .button input[type="button"]:hover {
	cursor: pointer;
}
.page-id-19 .wrapper section td .button input[type="submit"] {
	padding: 1.5rem 0;
	width: 100%;
}
.page-id-22 .wrapper section p.text-button {
	display: inline-block;
	line-height: 1;
}
.page-id-22 .wrapper section p.text-button a {
	color: white;
	line-height: 1;
	margin: 0;
}
@media screen and (max-width: 766px) {
	.page-id-19 .wrapper section,
	.page-id-22 .wrapper section {
    	width: 90%;
    }
    .page-id-19 .wrapper section .copy {
	    text-align: left;
	}
}
@media screen and (max-width: 599px) {
	.page-id-19 .wrapper section td .button {
	    display: block;
	}
	.page-id-19 .wrapper section table .button p {
	    margin: 0 auto;
	    width: 100%;
	    max-width: 265px;
	}
	.page-id-19 .wrapper section td .button {
		padding-top: 3rem;
	    margin-bottom: 3rem;
	}
	.page-id-19 .wrapper section table p.btn1 {
	    margin-bottom: 2rem;
	}
}


/*----------------------------------------
	ナビ　スマホ
----------------------------------------*/
@media screen and (max-width: 1130px) {

}
.slicknav_nav {
    height: 100vh;
}
.home .slicknav_menu {
    /*background: rgb(255, 255, 255, 1);テスト用*/
    animation: sp_head_fadein 2.5s ease both;
	animation-delay: 5.5s;
}
.page .slicknav_menu {
    background: rgb(255, 255, 255, 1);
}
@keyframes sp_head_fadein{
	0%{
		opacity: 0
	}
	100%{
  		opacity: 1;
	}
}
.slicknav_menu:has(.slicknav_hidden) {
    background: rgb(255, 255, 255, 0.88);
  }
.slicknav_brand {
	width: 56.6%;
	min-width: 221px;
	max-width: 289px;
	height: auto;
	box-sizing: content-box;
}
a.slicknav_open {
    background-color: transparent;
}
nav button.menu-toggle {
	display: none;
}
.slicknav-flex {
    align-items: center;
    height: auto;
}
.slicknav_menu .slicknav_icon-bar {
    width: 25px;
    height: 1px;
    border-radius: 0;
}
.slicknav_menu .slicknav_icon {
    float: left;
    width: 25px;
    height: 17px;
}
.slicknav_btn .slicknav_icon-bar+.slicknav_icon-bar {
    margin-top: 7px;
}
.slicknav_nav ul {
	width: 80%;
    margin: 0 auto;
    font-family: "Zen Old Mincho", serif;
    margin-top: 1rem;
}
.slicknav_nav li {
    border-bottom: 1px solid #C4C8C5;
    padding: 0.636rem 0;
}
.slicknav_nav li:first-child {
    border-top: 1px solid #C4C8C5;
}
.slicknav_nav li:last-child {
    padding: 2.5rem 0;
    text-align: center;
}
.slicknav_nav li:last-child a {
    padding: 1rem 5.2rem;
    font-size: 1.2rem;  
    display: inline-block;
}
.slicknav_open .slicknav_icon-bar,
.slicknav_collapsed .slicknav_icon-bar {
	transition: 0.3s;
	transform-origin: left;
	opacity: 1;
}
.slicknav_open .slicknav_icon-bar:first-child{
	transform: rotate(45deg);
}
.slicknav_open .slicknav_icon-bar:nth-child(2) {
	opacity: 0;
}
.slicknav_open .slicknav_icon-bar:last-child{
	transform: rotate(-45deg);
	margin-top: 8.5px;
}