@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	background-position: center center;
	box-sizing: border-box;
	outline: none;
}

html {
	-webkit-text-size-adjust: 100%;
	height: 100%;
	font-size: 62.5%;
}

@media screen and (max-width:1200px) {
	html {
		font-size: 50.625%;
	}
}

@media screen and (max-width:1340px) {
	html {
		font-size: 56.25%;
	}
}

@media screen and (min-width:1700px) {
	html {
		font-size: 68.75%;
	}
}

body {
	overscroll-behavior-y: none;
	overscroll-behavior-x: none;
	position: relative;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 600;
	color: #333;
	font-size: 1.8rem;
	line-height: 1.5;
	margin: auto;
	text-align: left;
	letter-spacing: 0.05em;

	height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body,
.bg_dark {
	background: url(images/bg_dark.png);
	background-size: 200px;
}


.bg_light {
	background: url(images/bg_light.png);
	background-size: 200px;
}

li {
	list-style: none;
}

/*基本パーツ*/

p {
	text-align: justify;
	line-height: 1.75;
	letter-spacing: 0.05em;
	font-weight: 500;
}

.en {
  font-family: "Jost","Zen Kaku Gothic Antique", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.red {
	color: #d84430;
}

.green {
	color: #0ba083;
}

.lead {
	font-weight: 600;
}


img {
	width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

*::selection {
	background: #333;
	color: #fff;
}

h1, h2, h3, h4 {
	line-height: 1.5;
	font-size: 100%;
	letter-spacing: 0.04em;

}

table {
	border-collapse: collapse;
}

.sp_only {
	display: none;
}

.pc_only {
	display: block;
}

/*rリンク*/


a {
	text-decoration: none;
	color: #333;
	transition: 0.2s ease-in-out;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
/* 	color: #888; */
}

a.child:hover {
	color: inherit;
}


a img {
	transition: 0.6s ease-in-out;
}


p a {
	text-decoration: underline;
}

:root {
  --glid: 4.34vw;
}


/*--------------------------------------
	
	Wide / layout
	
--------------------------------------*/

.wide_1 {
	width: 4.347vw;
}

.wide_2 {
	width: calc(4.347vw * 2);
}

.wide_3 {
	width: calc(4.347vw * 3);
}

.wide_4 {
	width: calc(4.347vw * 4);
}

.wide_5 {
	width: calc(4.347vw * 5);
}

.wide_6 {
	width: calc(4.347vw * 6);
}

.wide_7 {
	width: calc(4.347vw * 7);
}

.wide_8 {
	width: calc(4.347vw * 8);
}

.wide_9 {
	width: calc(4.347vw * 9);
}

.wide_10 {
	width: calc(4.347vw * 10);
}

.wide_11 {
	width: calc(4.347vw * 11);
}

.wide_12 {
	width: calc(4.347vw * 12);
}

.wide_13 {
	width: calc(4.347vw * 13);
}

.wide_14 {
	width: calc(4.347vw * 14);
}

.width_thin,
.wide_15 {
	width: calc(4.347vw * 15);
}

.wide_16 {
	width: calc(4.347vw * 16);
}

.wide_17 {
	width: calc(4.347vw * 17);
}

.wide_18 {
	width: calc(4.347vw * 18);
}

.width_wide,
.wide_19 {
	width: calc(4.347vw * 19);
}

.width_wide {
	margin-left: auto;
	margin-right: auto;
}

.wide_20 {
	width: calc(4.347vw * 20);
}

.wide_21 {
	width: calc(4.347vw * 21);
}

.wide_22 {
	width: calc(4.347vw * 22);
}

.wide_23 {
	width: calc(4.347vw * 23);
}

/*--------------------------------------
	
	base layout
	
--------------------------------------*/

.wide_center {
	margin-left: auto;
	margin-right: auto;
}


/*--------------------------------------
	
	loading
	
--------------------------------------*/



/*--------------------------------------
	
	key
	
--------------------------------------*/



.bg_area01 .bg_texture_slide  {
	animation: loop-slide-large01 200s infinite cubic-bezier(0.45, 0, 0.55, 1) 0s both;
}

@keyframes loop-slide-large01 {
	0% {transform: translateY(0);}
	10% {transform: translateY(10);}
	20% {transform: translateY(calc(var(--bgh) * -0.20));}
	30% {transform: translateY(calc(var(--bgh) * -0.30));}
	40% {transform: translateY(calc(var(--bgh) * -0.40));}
	50% {transform: translateY(calc(var(--bgh) * -0.50));}
	60% {transform: translateY(calc(var(--bgh) * -0.60));}
	70% {transform: translateY(calc(var(--bgh) * -0.70));}
	80% {transform: translateY(calc(var(--bgh) * -0.80));}
	90% {transform: translateY(calc(var(--bgh) * -0.90));}
	100% {transform: translateY(calc(var(--bgh) * -1.0));}
}



:root {
  --bgh: calc((100vw) * 1.61);
  
}


/*Loading kurukuru*/

.load_icon {
	display: inline-block;
	width: 2vw;
	height: 2vw;
	position: absolute;

	opacity: 0.7;
	transition: 0.9s cubic-bezier(0.76, 0, 0.24, 1);
	z-index: 100;
	filter: brightness(100);
}


.home .load_icon {
	right: 26vw;
	top: 50%;
	margin-top: -3.5vw;
}

.home .load_icon.hide {

	opacity: 0;
}


.load_icon img{animation:loadspin .6s linear infinite}

@keyframes loadspin{
	0%{transform:rotate(0deg)}
	100%{transform:rotate(360deg)}
}

/*--------------------------------------
	
	header
	
--------------------------------------*/





header {
	width: 100%;
	height: 100%;
	min-height: 50.2vw;
	max-height: 80vw;
	position: relative;
}
header .copy {
	position: absolute;
	width: 86.4vw;
	left: 6.8vw;
	top: 5.8vw;
	display: flex;
	flex-direction: column;
}
header .copy .jp.pc_only {
	display: block;
	overflow: hidden;
}

header .copy .jp.pc_only img {
	width: 12.5%;
	display: inline;
	transform: translateY(-100%);
	transition: 1.2s cubic-bezier(.51,-0.01,.08,.99);
}

header .copy .jp.pc_only img.show {
	transform: translateY(0);
}

header .copy .jp02 {
	margin-top: 6.00vh;
}
header .copy .en {
	display: block;
	width: 37.3vw;
	margin-top: 5.84vh;
	margin-right: 1vw;
	align-self: flex-end;
	opacity: 0;
	transition: 0.6s cubic-bezier(.51,-0.01,.08,.99);
}
header .copy .en.show {
	opacity: 1;
}

header .text {
	position: absolute;
	width: 51.58vw;
	left: 7.0vw;
	bottom: 6.4vw;
	opacity: 0;
	transition: 0.6s cubic-bezier(.51,-0.01,.08,.99);
}



header .text.show {
	opacity: 1;
}

header .logo:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	background: #555;
		background: url(images/bg_dark.png) #ede5db;
	background-size: 200px;
	transition: 1.8s cubic-bezier(.51,-0.01,.08,.99);
	
}

header .logo.engage:after {
	height: 0;
}

header .logo {
	position: absolute;
	width: 17.19vw;
	height: 5.5vw;
	right: 7.0vw;
	bottom: calc(50% - 2.75vw);
	z-index: 50;
	transition: 1.8s cubic-bezier(.71,-0.01,.08,.99);


}

header .logo.set {
	bottom: 6.4vw;
}

header .logo span {
	display: block;
	width: 100%;
	height: 0;

	overflow: hidden;
	transition: 1.2s cubic-bezier(.51,-0.01,.08,.99);
	position: absolute;
	top: 0;
	left: 0;
	


}

header .logo .shadow {
	height: 5.5vw;
	filter: brightness(10);

	opacity: 0.7;
	z-index: 15;
}

header .logo.set .shadow {
	opacity: 0;
}

header .logo.load .front {
	height: 5.5vw;
	z-index: 20;

}

header .logo .front img,
header .logo .shadow img {
	position: relative;
	z-index: 5;
	opacity: 1;
	position: absolute;
	top: 0;

}


.list_news {
	margin-bottom: 4.0vh;

}



.list_news li {
	display: flex;
	align-items: baseline;
	margin-bottom: 0.5vh;
	font-size: 1.1904vw;
}



.list_news li .date {
	display: block;
	width: 7em;
}


.list_news li a:hover {
	text-decoration: underline;
}
/*navi*/


header .navi ul {
	display: flex;
	gap: 1.653vw;

}

.scroll_header li a,
header .navi ul li a {
	display: block;
	overflow: hidden;
	position: relative;
	padding-bottom: 5px;
	
	font-size: 1.1904vw;
}

.scroll_header li a:after,
header .navi ul li a:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #333;
	position: absolute;
	left: 0;
	bottom: 0;
}


.scroll_header li a:hover:after,
header .navi ul li a:hover:after {
	animation: link_u 1.8s infinite cubic-bezier(0.65, 0, 0.35, 1) 0s;
}
	
	
@keyframes link_u {
		0% {width: 100%; right: 0; left: auto;}
		40% {width: 0%; right: 0; left: auto;}
		41% {width: 0%; right: auto; left: 0;}
		80% {width: 100%; right: auto; left: 0;}
		100% {width: 100%; right: 0; left: auto;}
}	


/*--------------------------------------
	
	scroll_header
	
--------------------------------------*/

.scroll_header {
	background: url(images/bg_light.png);
	background-size: 200px;
	padding: 15px 0 20px 0;

	width: 100%;

	position: fixed;
	top: -90px;
	left: 0;
	z-index: 100;
	transition: 1.2s cubic-bezier(.51,-0.01,.08,.99);
	
}

.scroll_header.show {
	top: 0;
}

.scroll_header ul {
	display: flex;
	justify-content: center;
	gap: 20px;
	
}

.scroll_header ul li a {
	font-size: 1.6rem !important;
}


/*--------------------------------------
	
	base
	
--------------------------------------*/

.btn {
	display: inline-block;
	padding: 15px 35px;
	text-align: center;
	color: #fff;
	background: #333;
	border-radius: 100vmax;
	font-size: 1.4rem;
	overflow: hidden;
	position: relative;
}

.btn span {
	position: relative;
	z-index: 10;
}

a.btn:after {
	content: '';
	width: 100%;
	height: 0%;
	background: #000;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0.2;
	transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

/*
a.btn:hover {
box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.15);
}
*/

.btn:hover:after {
	height: 100%;
}

.btn_l {
	padding: 30px 45px;
	font-size: 1.6rem;
	min-width: calc(4.347vw * 4);
}

.btn_red {
	background: #d84430;
}

.btn_green {
	background: #0ba083;
}

.cap {
	position: relative;
	display: inline-block;

}



.imgslide {
	transition: 1.2s cubic-bezier(0.65, 0, 0.35, 1);
	opacity: 0;
	transform: translateY(-60px);
}

.gallery .imgslide {

	transform: translateY(0);
}

.imgslide.show {
	opacity: 1;
	transform: translateY(0);
}


.cap p {
	font-size: 1.0rem;
	text-align: right;
	position: absolute;
	bottom: 10px;
	right: 13px;
	padding-left: 13px;
	color: #fff;
	letter-spacing: 0;
	font-weight: 600;
	line-height: 1.2;
	opacity: 0.75;
}

/*写真のスクロール演出*/


.frame {
	display: block;
	overflow: hidden;
	width: 100%;
	position: relative;
/*
	border-radius: 300px;
	transform: scale(0.9);
*/
	
	transition: 1.6s cubic-bezier(0.65, 0, 0.35, 1);


}



.frame_v {
	aspect-ratio: 4 / 3;
}


.frame img {
	display: block;
	transform: scale(110%);

}

.frame span {
/* 	filter: blur(15px) brightness(150%); */
	transition: 1.6s cubic-bezier(0.65, 0, 0.35, 1);
	display: block;
	width: 100%;
	height: 100%;
}




.frame:after {
/*  	content: ''; */
	display: block;
	width: 105%;
	height: 105%;
	background: #fff;
	position: absolute;
	right: 0;
	top: -1%;
	transition: 1.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.message .frame:after {
	background: #f6f6f1;

}


/*--------------------------------------
	
	concept
	
--------------------------------------*/

.concept {
	position: relative;
	padding: 12.9% 0 15.9% 0;
	overflow: hidden;
}


.concept:before {
	content: '';
	width: 100%;
	height: 8.26vw;
	background: url(images/bg_a.png) no-repeat center center;
	background-size: auto 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.concept:after {
	content: '';
	width: 100%;
	height: 8.26vw;
	background: url(images/bg_b.png) no-repeat center center;
	background-size: auto 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
}

.concept .chart {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin: 0 auto;


	gap: 0;


}



.concept .chart .title {
	writing-mode: vertical-rl;
	font-size: 7.2rem;
	position: relative;
	display: inline-block;
	z-index: 5;
}

.concept .chart .title.red {
	padding-left: 24px;
	transform: translateY(8%);
}

.concept .chart .title.green {
	padding-right: 24px;
	transform: translateY(-8%);
}

.concept .chart .title:after {
	content: '';
	display: block;
	width: 5px;
	height: 100%;
	position: absolute;
	top: 0;
}

.concept .chart .title.red:after {

	background: #d84430;
	right: 0;
}

.concept .chart .title.green:after {

	background: #0ba083;
	left: 0;
}

.concept .chart .title.red {
	align-self: flex-start;
}


.concept .chart .title.green {
	align-self: flex-end;
}

.concept .chart .copy {
	font-size: 3.2rem;
	text-align: center;
	position: absolute;
	top: 43.5%;
	left: 0;
	width: 100%;
}

.concept .chart ul {
	padding: 5%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: url(images/chart_arrow.svg) no-repeat center center;
	background-size: 60%;
	padding: 2.5% 0;
	transform: rotate(0deg);
	flex: 1;


}

.concept .chart ul.show {
	animation: chart 20s infinite cubic-bezier(.71,-0.01,.08,.99) 0s both;
}


@keyframes chart {
	0% {transform: rotate(0deg);}
	20% {transform: rotate(0deg);}
	25% {transform: rotate(90deg);}
	45% {transform: rotate(90deg);}
	50% {transform: rotate(180deg);}
	70% {transform: rotate(180deg);}
	75% {transform: rotate(270deg);}
	95% {transform: rotate(270deg);}
	100% {transform: rotate(360deg);}
}


.concept .chart ul li {
	width: 28%;
	text-align: center;
	transform: rotate(0deg);
}

.concept .chart ul.show li {
	animation: chartli 20s infinite cubic-bezier(.71,-0.01,.08,.99) 0s both;
}

@keyframes chartli {
	0% {transform: rotate(0deg);}
	20% {transform: rotate(0deg);}
	25% {transform: rotate(-90deg);}
	45% {transform: rotate(-90deg);}
	50% {transform: rotate(-180deg);}
	70% {transform: rotate(-180deg);}
	75% {transform: rotate(-270deg);}
	95% {transform: rotate(-270deg);}
	100% {transform: rotate(-360deg);}
}

.concept .chart ul li:first-child,
.concept .chart ul li:last-child {
	width: 100%;

}
/*

.concept .chart ul li:first-child {

	margin-top: 8%;
}

.concept .chart ul li:last-child {
	margin-top: -8%;
}
*/

.concept .chart ul li .box {
	width: 100%;
	display: inline-block;
}

.concept .chart ul li:first-child .box,
.concept .chart ul li:last-child .box {
	width: 28%;

}

.concept .chart ul li .st {
	font-size: 3.2rem;
}

.concept .chart ul li .il {
	padding: 7% 5%;
}

.concept .chart ul li:first-child .il {
	transform: translateX(-8%);
}

.concept .chart ul li:nth-child(3) .il {
	transform: translateX(8%);
}

.concept .chart ul li:nth-child(4) .il {
	transform: translateX(-8%);
}

.concept .text {
	position: relative;
	margin-top: 40px;
}

.concept .text .sst {
	font-size: 2.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	position: absolute;
	right: -50px;
	margin-top: -120px;
}

.concept .text p {
	position: relative;
	z-index: 10;
	font-weight: 600;
}


.slide_text {
	width: 13.7%;
	position: absolute;
	top: 0;
	z-index: 0;
}

.slide_text li {
	margin: 20% 0;
}

.slide_text01 {
	right: -1.65%;
	animation: slide_text01 10s infinite cubic-bezier(0.0, 0.0, 0, 0) 0s both;

}


@keyframes slide_text01 {
	0% {transform: translateY(-33%);}
	100% {transform: translateY(0%);}
}

.slide_text02 {
	left: -1.05%;
	animation: slide_text02 10s infinite cubic-bezier(0.0, 0.0, 0, 0) 0s both;

}


@keyframes slide_text02 {
	0% {transform: translateY(0);}
	100% {transform: translateY(-33%);}
}


_::-webkit-full-page-media, _:future, :root .slide_text01{
  animation: none;
}


_::-webkit-full-page-media, _:future, :root .slide_text02{
  animation: none;
}

/*--------------------------------------
	
	service
	
--------------------------------------*/

.service .intro {
	display: flex;
	justify-content: space-between;
}

.service section {
	position: relative;
	z-index: 10;

}

.service section:first-child {
	padding-top: 220px;
	margin-top: 0;
}

.service section:nth-child(odd) .intro {
	flex-direction: row-reverse;
	text-align: right;
}

.service section .intro .img {
	transform: translateX(4.347vw);
}

.service section:nth-child(odd) .intro .img {
	transform: translateX(-4.347vw);
}

.service .intro .text .il {
	width: calc(4.347vw * 5.6);
	margin-bottom: 35px;
	transform: translateX(calc(4.347vw * -0.8));
}

.service section:nth-child(odd) .intro .text .il {
	transform: translateX(calc(4.347vw * 0.8));
}

.service section:nth-child(3) .intro .text .il {
	margin-bottom: 5px;
}

.service .intro .text {
	margin-top: -160px;
	margin-bottom: 90px;
}

.service .intro .text .title {
	font-size: 6.0rem;
	margin-bottom: 40px;
}

.service .intro .text p {
	font-weight: 600;
	padding-bottom: 90px;
	background: url(images/line_wave.svg) no-repeat center bottom;
	background-size: 100% auto;
}

.service .project {
	position: relative;
	padding-right: calc(4.347vw * 1);
	padding-left: calc(4.347vw * 3);
}

.service section:nth-child(odd) .project {
	padding-right: calc(4.347vw * 3);
	padding-left: calc(4.347vw * 1);
}

.service .project .st {
	width: calc(4.347vw * 1.1);
	position: absolute;
	top: 0;
	left: calc(4.347vw * -0.2);
	right: auto;
}

.service section:nth-child(odd) .project .st {
	right: 0;
	left: auto;
}

.service .project li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
	flex-direction: row-reverse;
}

.service section:nth-child(odd) .project li {
	flex-direction: row;
}

.service .project li:last-child {
	margin-bottom: 0;
}

.service .project li .text {
	text-align: right;

}

.service .project li .text .sst {
	font-size: 3.2rem;
	margin-top: -0.3em;
	margin-bottom: 20px;
	text-align: left;
}
.service .project li .text .sst.en {
	font-size: 4.0rem;
}
.service .project li .text .sst .sub {
	font-size: 2.0rem;
	display: block;
}
.service .project li .text p {
	font-size: 1.6rem;
	margin-bottom: 30px;
}





/*bg*/

.bg_wave {
	width: 100%;
	height: 22.48vw;
	background-size: auto 100%;
	background-image: url(images/bg_d.png);
}

section:nth-child(odd) .bg_wave {
	background-image: url(images/bg_c.png);
}



/*--------------------------------------
	
	other
	
--------------------------------------*/

.other {
	margin-bottom: calc(4.347vw * 1);
}

.other section {
	position: relative;

}

.other section:nth-child(odd) {

}

.other section .content {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;

}



.other section:nth-child(odd) .content {
	margin-left: auto;
	flex-direction: row;
}

.other section .text .title {
	font-size: 7.2rem;
	padding-bottom: 80px;
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.other section .text .title:after {
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	background: #333;
	position: absolute;
	left: 0;
	bottom: 70px;
}

.other section .text {
	padding-right: 0;
	padding-left: calc(4.347vw * 0.5);
	text-align: right;
}

.other section:nth-child(odd) .text {
	text-align: left;
	padding-left: 0;
	padding-right: calc(4.347vw * 0.5);
}

.other section .text p {
	margin-bottom: 30px;
}

.other section .text p .sub {
	font-size: 1.6rem;
}

.other section .text .btn {
	margin-top: 50px;
}

.other section .img {
	margin-top: 
}



.hidecontent {
	overflow: hidden;
	max-height: 0;
	transition: 0.6s ease-in-out;
}

.hidecontent.show {
	max-height: 4000px;
}

.hidecontenttoggle {
	display: block;
	text-decoration: underline;
	cursor: pointer;
}

.hidecontenttoggle:after {
	content: '続きを読む';
}

.hidecontenttoggle.active:after {
	content: '閉じる';
}



/*--------------------------------------
	
	gallery
	
--------------------------------------*/


.gallery {
	position: sticky;
	top: calc(4.347vw * 1);
	z-index: 5;
}

.gallery ul {
	display: flex;
	justify-content: space-between;
}

.gallery ul:nth-child(odd) {
	padding-right: calc(4.347vw * 3);
}

.gallery ul:nth-child(even) {
	padding-left: calc(4.347vw * 4);
	margin-top: calc(4.347vw * -1);
}

.gallery ul li.img {
	
	background: no-repeat center top;
	background-size: 100% auto;
	position: relative;
	align-self: flex-start;
}

.gallery ul li.img:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #0ba083;
	mix-blend-mode: multiply;
	opacity: 0;
	transition: 0.6s ease-in-out;
}

.gallery ul li.img.hide:after {
	opacity: 1;
}

.gallery ul li.img img {
	position: relative;
	transition: 0.6s ease-in-out;
}

.gallery ul li.img.hide img {
	filter: grayscale(1);
	opacity: 0.5;
}

.gallery ul .img01 {
	margin-top: calc(4.347vw * 1.5);
}

.gallery ul .img02 {
	margin-top: calc(4.347vw * 3);
}

.gallery ul .img04 {
	margin-top: calc(4.347vw * 4.25);
}

.gallery ul .img05 {
	margin-top: calc(4.347vw * 3.2);
}

.gallery_bg {

}

.gallery_bg .bg_green {
	position: sticky;
	top: 0;

	margin-top: calc(4.347vw * 2);
}

.gallery_bg .bg_green div {
	width: 100%;
	height: 100vh;
	background: #0ba083;
/*
	position: absolute;
	top: 0;
	left: 0;
*/
	z-index: 0;
}

.corporate {
	margin-top: calc(4.347vw * -8);
	position: relative;
	z-index: 10;
	color: #fff;
}

.corporate .title {
	font-size: 6.0rem;
	margin-bottom: calc(4.347vw * 2);
}

.corporate .history {
	padding-top: calc(4.347vw * 3);
	margin-bottom: calc(4.347vw * 2);
}

.corporate .history .title {
	text-align: right;
}



.history .box {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.history .box ul {
	display: flex;
	transition: 0.2s ease-in-out;
	margin-left: calc(4.347vw * 1);
}

.history .box ul li {
	position: relative;
	padding-right: 3px;
	display: flex;
	flex-direction: column;
	padding-top: 190px;
}

.history .box ul li:before {
	content: '';
	width: 100%;
	height: 4px;
	background: #fff;
	position: absolute;
	top: 10px;
	left: 0;
	
}

.history .box ul li:last-child:before {
	border-radius: 0 100vmax 100vmax 0;
}

.history .box ul li .sst {
	position: absolute;
	top: 50px;
	left: 0;
	font-size: 2.8rem;
}

.history .box ul li .sst:before,
.history .box ul li .sst:after {
	content: '';
	position: absolute;
	border-radius: 50%;
}

.history .box ul li .sst:before {
	width: 24px;
	height: 24px;
	top: -50px;
	left: 0;
	background: #fff;
}

.history .box ul li .sst:after {
	width: 8px;
	height: 8px;
	top: -42px;
	left: 8px;
	background: #0ba083;
}

.btn_slider {
	display: flex;
	justify-content: space-between;
	width: 100px;
	position: absolute;
	left: calc(100vw - 100px - 4.347vw);
	top: 120px;
	
}

.btn_slider span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 100vmax;
	cursor: pointer;
	transition: 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.btn_slider span:hover {
	transform: scale(1.15);
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
}

.btn_slider span.disable {
	cursor: auto;
	opacity: 0.5;
}

.btn_slider span.disable:hover {
	transform: scale(1.0);
	box-shadow: 0px 0 0 0px rgba(0, 0, 0, 0);
}

.btn_slider span img {
	width: 15px;
}



.history .box ul li .text {
	width: 100%;
	padding: 10% 10% 15% 10%;
	background: #fff;
	border-radius: 15px;
	height: 100%;
}

.history .box ul li .text .month {
	font-size: 1.8rem;
	margin-bottom: 20px;
}

.history .box ul li .text .month span {
	font-size: 1.5rem;
}

.history .box ul li .text p {
	font-size: 2.0rem;
	font-weight: 600;
}





.corporate .dl {
	display: flex;
	padding-bottom: calc(4.347vw * 3);
}

.corporate .dl .st {
	font-size: 3.6rem;
	margin-bottom: 30px;
}

.corporate .dl .content {
	margin-top: 10px;
}

.corporate .dl .flex {
	display: flex;
	gap: calc(4.347vw * 1);
}

.corporate .dl ul {
	margin-bottom: calc(4.347vw * 2);
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.corporate .dl ul li a {
	display: block;
	padding: 15px 25px;
	color: #0ba083;
	background: #fff;
	border-radius: 10px;
	0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.corporate .dl ul li a:hover {
/* 	background: rgba(255,255,255,0.85); */
	transform: scale(1.05);
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
}


/*--------------------------------------
	
	footer
	
--------------------------------------*/


footer {
	position: relative;
	z-index: 50;
	padding: calc(4.347vw * 5) calc(4.347vw * 2) calc(4.347vw * 2) calc(4.347vw * 2);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

footer .logo {
	width: 260px;
	margin-bottom: 40px;
}

footer .title {
	font-size: 1.8rem;
	margin-bottom: 35px;
}

.staff {
	margin-bottom: 40px;
/*
	padding: 30px 0;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
*/
}

.staff li {
	display: flex;
	justify-content: flex-start;
	font-size: 1.6rem;
	margin-bottom: 7px;


}



.staff li .sst {
	width: 12em;

	margin-right: 1em;
}

.staff li p {
	flex: 1;
	line-height: 1.5;
	text-align: left;
}

.staff li p span {
	display: inline-block;
}

.copyright {
	position: absolute;
	right: calc(4.347vw * 2);
	bottom: calc(4.347vw * 2);
	font-size: 1.2rem;
}

.contact {
	display: inline-block;
	border-top: 1px solid #333;
	padding-top: 30px;
}

.contact ul {
	display: flex;
}

.contact li {
	font-size: 3.2rem;
	margin-right: 40px;
	padding-left: 42px;
	background: no-repeat left center;
	background-size: 28px auto;
}

.contact li:last-child {
	margin-right: 0;
}

.contact li.tel {
	background-image: url(images/icon_tel.svg);
}


.contact li.mail {
	background-image: url(images/icon_mail.svg);
}


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

.concept .chart {
	width: 90%;
}

.concept .chart .title {
	font-size: 5.2rem;
}
.concept .chart ul {
	background-size: 50%;
}
.concept .chart ul li .st {
	font-size: 2.4rem;
}
.service .intro .text {
	margin-top: -12vw;
}
.service section .intro .img {
	margin-top: 18vw;
}
.service .intro .text .title {
	font-size: 4.8rem;
}
.other section .text .title {
	font-size: 5.2rem;
}

}


/*------------------------------------------------------------------------------------------------------------------------------------

	スマホここから
	
------------------------------------------------------------------------------------------------------------------------------------*/

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

html {
	font-size: 62.5%;
	width: 100%;

}

body {
	font-size: 1.4rem;
}

body, html {
	min-width: 100%;
	height: 100%;
}

p {
	font-size: 1.4rem;
	text-align: left;
}

h1,h2,h3,h4 {
	font-size: 1.6rem;
}

.sp_only {
	display: block;
}

.pc_only {
	display: none;
}

.gmap {
	padding-top: 150%;
}

.width_wide {
	width: 88vw;
}





/*--------------------------------------
	
	Wide / layout
	
--------------------------------------*/

.wide_center {
	padding-left: 6vw;
	padding-right: 6vw;
}

.wide_sp {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.wide_1 {
	width: 48%;
}

.wide_2 {
	width: 48%;
}

.wide_3 {
	width: 48%;
}

.wide_4 {
	width: 48%;
}

.wide_5 {
	width: 48%;
}

.wide_6 {
	width: 48%;
}

.wide_7 {
	width: 100%;
}

.wide_8 {
	width: 100%;
}

.wide_9 {
	width: 100%;
}

.wide_10 {
	width: 100%;
}

.wide_11 {
	width: 100%;
}

.wide_12 {
	width: 100%;
}

.wide_13 {
	width: 100%;
}

.wide_14 {
	width: 100%;
}

.wide_15 {
	width: 100%;
}

.wide_16 {
	width: 100%;
}

.wide_17 {
	width: 100%;
}

.wide_18 {
	width: 100%;
}

.wide_19 {
	width: 100%;
}

.wide_20 {
	width: 100%;
}

.wide_21 {
	width: 100%;
}

.wide_22 {
	width: 100%;
}

.wide_23 {
	width: 100%;
}


/*Loading kurukuru*/

.load_icon {

	width: 24px;
	height: 24px;
	transition: 0.9s cubic-bezier(0.76, 0, 0.24, 1);
}


.home .load_icon {
	right: auto;
	left: 50%;
	top: 50%;
	margin-top: -12px;
	margin-left: -12px;
}

.home .load_icon.hide {

	opacity: 0;
}


/*--------------------------------------
	
	header
	
--------------------------------------*/


.toggle {
	display: block ;
	position: fixed;
	z-index: 400;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;

	transition: 0.3s ease-in-out;
	opacity: 1;

}

.toggle.fix {
	opacity: 1;
}

.toggle span {
	display: block;
	position: absolute;

	transition: 0.3s ease-in-out;
	width: 20px;
	height: 2px;
	left: 30px;
	
	background: #333;
}

.toggle span:first-child {
	top: 35px;
}

.toggle span:nth-child(2) {
	top: 42px;
}



.toggle.active span:first-child {
	transform: rotate(30deg);
	top: 40px;
}

.toggle.active span:nth-child(2) {
	transform: rotate(-30deg);
	top: 40px;
}




/*

header .navi_area .navi ul.main {
	margin: 0 auto;
	top: auto;
	left: auto;
	right: auto;


	position: relative;

	width: calc(100vw - 12vw);
	width: 290px;
	border-radius: 20px;
	padding: 6vw 6vw 8vw 6vw;
	
	text-align: left;
}

.navi ul.sub {
	position: static;
	margin: 0 auto;
	justify-content: center;
}
*/

/*
#menu:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #fdf2e2;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: 0.6s ease-in-out;
	opacity: 0;
}



header.normal #menu:before {
	opacity: 1;
}
*/


/*
#menu .navi:before {
	content: '';
	display: inline-block;
	width: 104px;
	height: 176px;
	background: url(images/common/il_key.png) no-repeat center center;
	background-size: contain;
	margin: 0 0 -1vw -1vw;
}
*/


header:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #333;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5;
	transition: 0.6s ease-in-out;
	opacity: 0;
	pointer-events: none;
}



header.normal:before {
	opacity: 0.5;
}



#menu {
	position: fixed;
	top: 0;
	right: -80vw;
	opacity: 0;
	width: 80vw;
	height: 100%;
	z-index: 200;
	transition: 0.4s ease-in-out;
	pointer-events: none;
	padding: 0;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: flex-end;
	flex-direction: column;
	
	background: url(images/bg_dark.png);
	background-size: 200px;
}

header.normal #menu {
	transition: 0.3s ease-in-out;
	opacity: 1;
	right: 0;
	pointer-events: auto;
}





/*navi*/


header .navi {
	
	width: 100%;
}

header .navi ul {
	position: relative;
	z-index: 120;
	flex-direction: column;
	width: 100%;
	gap: 0;

}

header .navi ul li{
	margin-bottom: 0;
}

header .navi ul li a {
	display: block;
	overflow: hidden;
	position: relative;
	padding: 4vw;
	
	font-size: 1.6rem;
}

header .navi ul li a:after {

	height: 0.6px;


	top: 0;
	bottom: auto;
}


header .navi ul li a:hover:after {
	animation: none;
}



/*--------------------------------------
	
	header
	
--------------------------------------*/





header {
	height: 100svh;
	min-height: auto;
	max-height: 100svh;
	
	display: flex;
	align-items: center;
	justify-content: center;

}
header .copy {
/* 	position: absolute; */
	width: 78.0vw;
	left: auto;
	top: auto;
	bottom: auto;
	position: relative;
	margin-top: -18vw;
/*
	display: flex;
	flex-direction: column;
*/
}
header .copy .jp.pc_only {
	display: none;
}

header .copy .jp.sp_only {
	display: block;
}



header .copy .jp {
	margin-top: 5.00vw;
}
header .copy .en {

	width: 56.0vw;
	margin-top: 7vw;
	margin-right: 0;

}

header .text {
	position: absolute;
	width: 88vw;
	left: 6.0vw;
	bottom: 6.4vw;
}

header .logo {

	width: 25.0vw;
	right: auto;
	bottom: auto;
	left: 6vw;
	top: 6vw;
}






.list_news {
	margin-bottom: 0;
}

.list_news li {
	display: block;

	margin-bottom: 0.5vh;
	font-size: 1.2rem;
}



.list_news li .date {
	display: block;
	width: 100%;
	font-size: 1.0rem;
}





header .logo {

	height: 8vw;



}



header .logo .shadow {
	height: 8vw;
	opacity: 0;

}

header .logo .front,
header .logo.load .front {
	height: 8vw;


}

/*--------------------------------------
	
	scroll_header
	
--------------------------------------*/

.scroll_header {
	display: none;
}


/*--------------------------------------
	
	base
	
--------------------------------------*/

.btn {

	padding: 6px 15px;
	font-size: 1.1rem;
}

.btn_l {
	padding: 12px 25px;
	font-size: 1.2rem;
	min-width: auto;
}


.cap {
	position: relative;
	display: inline-block;
	transform: translateY(-3vw);
}

.cap p {
	font-size: 1.0rem;
	text-align: right;
	position: absolute;
	bottom: 10px;
	right: 13px;
	color: #fff;
	letter-spacing: 0;
	font-weight: 600;
	line-height: 1.2;
	opacity: 0.75;
}



.frame img {
	transform: scale(100%);

}



/*--------------------------------------
	
	footer
	
--------------------------------------*/


footer {
	overflow: hidden;

	z-index: 50;
	padding: 24vw 6vw 6vw 6vw;
	display: block;
}

footer .logo {
	width: 160px;
	margin-bottom: 8vw;
}

footer .title {
	font-size: 1.4rem;
	margin-bottom: 6vw;
}

.staff {
	margin-bottom: 8vw;
/*
	padding: 30px 0;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
*/
}

.staff li {
	display: block;
	font-size: 1.6rem;
	margin-bottom: 4vw;


}



.staff li .sst {
	width: 100%;

	margin-right: 0;
	margin-bottom: 1vw;
	font-size: 1.4rem;
}

.staff li p {
	font-size: 1.2rem;
}

.staff li p span {
	display: inline-block;
}

.copyright {
	position: static;
	font-size: 1.2rem;
	right: auto;
	bottom: auto;
}

.contact {
	display: inline-block;
	border-top: 0.6px solid #333;
	border-bottom: 0.6px solid #333;
	padding: 6vw 0;
	width: 100%;
}

.contact ul {
	justify-content: space-between;
	width: 100%;
}

.contact li {
	font-size: 1.8rem;
	margin-right: 4vw;
	padding-left: 6vw;
	background-size: 4vw auto;
}

.contact li:last-child {
	margin-right: 0;
}

.copyright {
	text-align: right;
	margin-top: 8vw;
}



/*--------------------------------------
	
	concept
	
--------------------------------------*/

.concept {

	padding: 20vw 0;

}


.concept:before {

	height: 12.0vw;

}

.concept:after {

	height: 12.0vw;

}

.concept .chart {
/* 	position: relative; */
	display: block;
/*
	justify-content: space-between;
	flex-direction: row-reverse;
	margin: 0 auto;
*/
	text-align: center;
	z-index: 10;

}

.concept .chart .title {
/* 	writing-mode: horizontal-tb; */
	font-size: 6.31vw;
	position: absolute;
	text-align: start;
	line-height: 1.2;
}

.concept .chart .title.red {
	padding-right: 8px;
	transform: translateY(0);
	right: 6vw;
	top: 6vw;
}

.concept .chart .title.green {
	padding-left: 8px;
	transform: translateY(0);
	left: 6vw;
	bottom: 6vw;
}

.concept .chart .title:after {

/*
	width: 100%;
	height: 3px;
	top: auto;
	bottom: 0;
*/
	width: 3px;
}


.concept .chart .copy {
	font-size: 1.6rem;
	text-align: center;
	position: absolute;
	top: 42.5%;
	left: 0;
	width: 100%;
}

.concept .chart ul {

/*
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: url(images/chart_arrow.svg) no-repeat center center;
	background-size: 60%;
*/
	background-image: url(images/chart_arrow_sp.svg);
	padding: 4vw 4vw;


}
/*

.concept .chart ul li {
	width: 28%;
	text-align: center;
}

.concept .chart ul li:first-child,
.concept .chart ul li:last-child {
	width: 100%;

}

.concept .chart ul li:first-child {
	transform: translateY(8%);
}

.concept .chart ul li:last-child {
	transform: translateY(-8%);
}

.concept .chart ul li .box {
	width: 100%;
	display: inline-block;
}
*/

.concept .chart ul li {
	width: 30%;

}

.concept .chart ul li:first-child .box,
.concept .chart ul li:last-child .box {
	width: 30%;

}


.concept .chart ul li .st {
	font-size: 1.5rem;
}

.concept .chart ul li .il {
	padding: 1.5vw 0;
}

/*
.concept .chart ul li:first-child .il {
	transform: translateX(-8%);
}

.concept .chart ul li:nth-child(3) .il {
	transform: translateX(8%);
}

.concept .chart ul li:nth-child(4) .il {
	transform: translateX(-8%);
}
*/

.concept .chart ul li .btn {
	font-size: 1.1rem;
	padding: 4px 15px;
}




.concept .text {
	position: relative;
	margin-top: 6vw;
	z-index: 10;
}

.concept .text .sst {
	font-size: 1.8rem;

	width: 25vw;
	height: 25vw;
	border-radius: 50%;
	position: absolute;
	right: 4vw;
	margin-top: -20vw;
}

.concept .text p {
	position: relative;
	z-index: 10;
	font-weight: 600;
}


.slide_text {
	width: 16%;

}





/*--------------------------------------
	
	service
	
--------------------------------------*/

.service .intro {
	display: block;

}


.service section:first-child {
	padding-top: 16vw;
	margin-top: 0;
}

.service section:nth-child(odd) .intro {
/* 	text-align: center; */

}

.service section .intro .img {
	transform: translateX(0);
	width: 100vw;
	margin-left: -6vw;

}



.service section:nth-child(odd) .intro .img {
	transform: translateX(0);
}

.service .intro .text .il {
	width: 60vw;
	margin-bottom: -5vw;
	transform: translateX(0);
}

.service section:nth-child(odd) .intro .text .il {
	transform: translateX(0);
}

.service section:nth-child(3) .intro .text .il {
	margin-bottom: -5vw;
	transform: translateX(6vw);
}

.service section:nth-child(4) .intro .text .il {
	transform: translateX(-4vw);
	margin-bottom: -10vw;
}

.service .intro .text {
	margin-top: 0;
	margin-bottom: 12vw;
}

.service .intro .text .title {
	font-size:2.8rem;
	margin-bottom: 4vw;
	text-align: right;
}

.service section:nth-child(odd) .intro .text .title {
	text-align: left;
}

.service .intro .text p {

	padding-bottom: 0vw;
/*
	background: url(images/line_wave.svg) no-repeat center bottom;
	background-size: 100% auto;
*/
	background: none;
}





.service .project {
	position: relative;
	padding-right: 6vw;
	padding-left: 25vw;
}

.service section:nth-child(odd) .project {
	padding-right: 25vw;
	padding-left: 6vw;
}

.service .project .st {
	width: 12vw;
	position: absolute;
	top: 8vw;
	left: 6vw;
	right: auto;
}


.service section:nth-child(odd) .project .st {
	right: 6vw;
	left: auto;
}

.service .project ul {
	padding: 12vw 0;
}

.service .project li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8vw;
	flex-direction: column-reverse;
}

.service section:nth-child(odd) .project li {
	flex-direction: column-reverse;
}

.service .project li:last-child {
	margin-bottom: 0;
}

.service .project li .text {
	text-align: right;
	margin-bottom: 0;

}

.service .project li .text .sst {
	font-size: 2.0rem;
	margin-top: 0;
	margin-bottom: 4vw;

}
.service .project li .text .sst.en {
	font-size: 2.2rem;
}
.service .project li .text .sst .sub {
	font-size: 1.4rem;
}
.service .project li .text p {
	font-size: 1.3rem;
	margin-bottom: 4vw;
}

.service .project li .img {
	width: 100%;
	margin-bottom: 6vw;
}



/*bg*/

.bg_wave {
/* 	width: 100%; */
	height: 16.48vw;
/*
	background-size: auto 100%;
	background-image: url(images/bg_d.png);
*/
}

/*
section:nth-child(odd) .bg_wave {
	background-image: url(images/bg_c.png);
}
*/



/*--------------------------------------
	
	other
	
--------------------------------------*/

.other {
	margin-bottom: 12vw;
}




.other section .content {
	display: block;
/*
	justify-content: space-between;
	flex-direction: row-reverse;
*/

}


/*

.other section:nth-child(odd) .content {
	margin-left: auto;
	flex-direction: row;
}
*/

.other section .text {
	padding: 0 6vw;
}

.other section .text .title {
	font-size: 2.8rem;
	padding-bottom: 10px;
	margin-bottom: 6vw;
/*
	position: relative;
	display: inline-block;
	overflow: hidden;
*/
}

.other section .text .title:after {

	height: 3px;
	bottom: 0;
}

.other section .text {
	padding-right: 0;
	padding-left: 0;
	text-align: right;
	padding: 0 6vw 12vw 6vw;
}

.other section:nth-child(odd) .text {
	text-align: left;
	padding: 0 6vw 12vw 6vw;
}

.other section .text p {
	margin-bottom: 4vw;
}

.other section .text p .sub {
	font-size: 1.1rem;
}

.other section .text .btn {
	margin-top: 6vw;
	display: block;
	margin-right: 0;
	margin-left: auto;
}

.other section .img {
	width: 60%;
}

.other section:nth-child(even) .img {
	margin-left: auto;
}







/*--------------------------------------
	
	gallery
	
--------------------------------------*/


.gallery {
	position: sticky;
	top: calc(4.347vw * 1);
	z-index: 5;
}

.gallery ul {
	flex-wrap: wrap;
}

.gallery ul:nth-child(odd) {
	padding-right: 0;
}

.gallery ul:nth-child(even) {
	padding-left: 0	;
	margin-top: calc(4.347vw * -1);
}

/*
.gallery ul li.img {
	
	background: no-repeat center top;
	background-size: 100% auto;
	position: relative;
	align-self: flex-start;
}

.gallery ul li.img:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #0ba083;
	mix-blend-mode: multiply;
	opacity: 0;
	transition: 0.6s ease-in-out;
}

.gallery ul li.img.hide:after {
	opacity: 1;
}
*/

.gallery ul li.img img {
	position: relative;
	transition: 0.6s ease-in-out;
}

.gallery ul li.img.hide img {
	filter: grayscale(1);
	opacity: 0.5;
}

.gallery ul .img01 {
	width: 35vw;
	margin-top: 0;
}

.gallery ul .img02 {
	width: 50vw;
	margin-top: 8vw;
}

.gallery ul .img03 {
	width: 24vw;
	margin-left: 10vw;
	margin-top: -8vw;
}


.gallery ul .img04 {
	width: 45vw;
	margin-top: 16vw;
}

.gallery ul .img05 {
	width: 35%;
	margin-top: 6vw;
}

.gallery ul .img06 {
	width: 60%;
	margin-top: 10vw;
	margin-right: 6vw;
	margin-left: auto;
}

/*
.gallery_bg {

}

.gallery_bg .bg_green {
	position: sticky;
	top: 0;

	margin-top: calc(4.347vw * 2);
}

.gallery_bg .bg_green div {
	width: 100%;
	height: 100vh;
	background: #0ba083;

	z-index: 0;
}
*/

.corporate {
	margin-top: 0;
	position: relative;
	z-index: 10;
	color: #fff;
}

.corporate .title {
	font-size: 3.2rem;
	margin-bottom: 6vw);
}

.corporate .history {
	padding-top: 0;
	margin-bottom: 0;
}

.corporate .history .title {
	text-align: left;
}


.history .box {
	width: 100%;

	overflow: scroll;
	position: relative;
	padding-bottom: 8vw;
}

.history .box ul {


	margin-left: 6vw;
	margin-right: 6vw;
}

.history .box ul li {
	padding-top: 120px;
	width: 80%;
}

/*
.history .box ul li:before {
	content: '';
	width: 100%;
	height: 4px;
	background: #fff;
	position: absolute;
	top: 10px;
	left: 0;
	
}

.history .box ul li:last-child:before {
	border-radius: 0 100vmax 100vmax 0;
}
*/

.history .box ul li .sst {

	top: 60px;
	font-size: 2.4rem;
}

/*
.history .box ul li .sst:before,
.history .box ul li .sst:after {
	content: '';
	position: absolute;
	border-radius: 50%;
}

.history .box ul li .sst:before {
	width: 24px;
	height: 24px;
	top: -50px;
	left: 0;
	background: #fff;
}

.history .box ul li .sst:after {
	width: 8px;
	height: 8px;
	top: -42px;
	left: 8px;
	background: #0ba083;
}
*/

.history .box ul li .sst:before {

	top: -60px;

}

.history .box ul li .sst:after {

	top: -52px;

}

.btn_slider {
/*
	display: flex;
	justify-content: space-between;
	width: 100px;
	position: absolute;
	left: calc(100vw - 100px - 4.347vw);
	top: 120px;
*/
	display: none;
	
}

/*
.btn_slider span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 100vmax;
	cursor: pointer;
	transition: 0.6s ease-in-out;
}

.btn_slider span.disable {
	cursor: auto;
	opacity: 0.5;
}

.btn_slider span img {
	width: 15px;
}
*/



.history .box ul li .text {
	width: 100%;
	padding: 10% 10% 15% 10%;
	background: #fff;
	border-radius: 15px;
	height: 100%;
}

.history .box ul li .text .month {

	margin-bottom: 4vw;
}



.history .box ul li .text p {
	font-size: 1.6rem;

}





.corporate .dl {
	display: block;
	padding: 12vw 6vw 0 6vw;
}

.corporate .dl .st {
	font-size: 2.0rem;
	margin-bottom: 6vw;
}

.corporate .dl .content {
	margin-top: 0;
}

.corporate .dl .flex {
	gap: 4vw;
}

.corporate .dl ul {
	margin-bottom: 8vw;

	gap: 2vw;
}

.corporate .dl ul li {
	width: 28vw;
}

.corporate .dl ul li a {
	display: block;
	padding: 15px 5px;
	text-align: center;
	font-size: 1.2rem;

}
.corporate .dl .flex div {
	flex: 1;
}


.corporate .dl .flex ul li {
	width: 100%;
}






}

