@charset "utf-8";/*ページ用*/
/* ------------------------------------------------ */
#title {
	position: relative;
	z-index: 0;
	text-align: center;
	background-image: url("./img/title/title.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-size: cover;
	padding: 120px 10px 50px 10px;
	filter:grayscale(70%) contrast(100%);
}
@media screen and (max-width: 767px) {
	#title {
		background-size: cover;
	padding: 50px 10px;
	}
}
#title::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
}
#title.title-description {background-image: url("./img/description/bg1.webp");}
#title.title-message {background-image: url("./img/message/bg1.webp");}
#title.title-entry {background-image: url("./img/entry/bg1.webp");}

#title div {
	position: relative;
	z-index: 1;
}
#title span {
	display: block;
	color: rgba(255,255,255,0.5);
	font-size: 40px;
	font-size: clamp(24px, 4vw, 40px);
	font-family: var(--font3);
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 10px;
}
#title strong {
	display: block;
	font-size: 20px;
	font-size: clamp(16px, 2vw, 20px);
	color: rgba(255,255,255,0.8);
	font-weight: 600;
}
@media screen and (max-width: 767px) {
	#title{
		padding: 40px 10px;
	}
}
/* ------------------------------------------------ */
.title {
	position: relative;
	z-index: 1;
	line-height: 1em;
	text-align: center;
	margin-bottom: 20px;
	padding-top: 50px;
}
.index-title {
}
.title h2 {
}
.title h2 span {
	display: block;
	color: var(--gray3);
	font-size: 60px;
	font-size: clamp(36px, 4vw, 40px);
	font-weight: 700;
	line-height: 1em;
	font-family: var(--font3);
	text-transform: capitalize;
	text-transform: uppercase;
}
.title h2 b {
	display: block;
	color: var(--color1);
	font-size: 30px;
	font-size: clamp(20px, 2.4vw, 24px);
	font-weight: 700;
	line-height: 1em;
}
/* ------------------------------------------------ */
#page {
}
.div.page {
}
.pageinner {
}
#pageentry {
}
.pageentry {
}
.page-content {
}
@media screen and (max-width: 767px) {
	div.page {
		padding: 0px 10px;
	}
}
/* ------------------------------------------------ */
#page-archive {
	padding: 50px 0px;
}
/* ------------------------------------------------ */
#page-single {
	padding: 50px 0px;
}
.single-title {
	display: block;
	text-align: center;
	font-weight: 700;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
.single-title h2 {
}
.single-title h2 b {
	display: block;
	color: var(--black);
	font-size: 24px;
}
.single-title h2 em {
	display: inline-block;
	color: var(--white);
	font-size: 11px;
	line-height: 1em;
	background-color: var(--color1);
	padding: 3px 5px;
}
.single-title h2 i {
	display: block;
	font-size: 12px;
	font-weight: 400;
	text-align: right;
}

.single-photo {
	margin-bottom: 30px;
}
.single-photo img {
	width: auto;
	height: auto;
	margin: 0px auto;
}
.single-content {
	padding: 10px 10px 50px 10px;
}
@media screen and (min-width: 768px) {
	.single-content {
		padding: 10px 30px 50px 30px;
	}
}
.single-content:last-child {
}
.single-content img {
	display: inline-block;
}
.single-content img.aligncenter {
	display: block;
	margin: 0px auto;
}
.single-content img.alignleft {
	display: block;
	margin: 0px auto 0px 0px;
}
.single-content img.alignright {
	display: block;
	margin: 0px 0px 0px auto;
}
.single-content img.alignnone {
}
.single-content h1 {
	color: var(--white);
	font-size: 30px;
	font-weight: 700;
	line-height: 1em;
	background-color: var(--color1);
	margin-bottom: 15px;
	padding: 10px 5px;
}
.single-content h2 {
	color: var(--color1);
	font-size: 26px;
	font-weight: 700;
	line-height: 1em;
	border-bottom: 3px solid var(--color1);
	margin-bottom: 15px;
	padding: 5px 5px;
}
.single-content h3 {
	color: var(--color1);
	font-size: 24px;
	font-weight: 700;
	line-height: 1em;
	border-left: 5px solid var(--color1);
	margin-bottom: 15px;
	padding: 5px 5px;
}
.single-content h4 {
	color: var(--color2);
	font-size: 22px;
	margin-bottom: 15px;
}
.single-content h5 {
	color: var(--color2);
	font-size: 20px;
	margin-bottom: 15px;
}
.single-content h6 {
	color: var(--color2);
	font-size: 20px;
	margin-bottom: 15px;
}
.single-content h6 {
	font-size: 20px;
	margin-bottom: 15px;
}
.single-content p {
	margin-bottom: 15px;
}
.single-content p:last-child {
	margin-bottom: 0px;
}
.entry-footer {
	display: none;
	font-size: 0.688em;
	text-align: right;
	padding-top: 30px;
}
.single-content a {
	color: var(--color1);
	text-decoration: underline;
}
.single-content a:hover {
	color: var(--color2);
}
/* ------------------------------------------------ */
.navigation {
}
.navigation h2 {
	display: none;
}
.navigation {
	padding: 30px 0px;
}
.nav-links {
	display: table;
	width: 100%;
	table-layout: fixed;
	border-spacing: 0px;
}
.nav-previous,
.nav-next {
	display: table-cell;
	vertical-align: middle;
	padding: 0px 10px;
}
.nav-previous {
}
.nav-next {
	text-align: right;
}
.nav-links a {
	display: inline-block;
	color: #000;
	font-size: 0.8em;
	line-height: 1em;
	text-decoration: none;
	padding: 5px 10px;
}
.nav-links a:hover {
	background-color: #f2f2f2;
}
.nav-previous a::before {
	content: "<<"
}
.nav-next a::after {
	content: ">>"
}
.nav-links .meta-nav,
.nav-links .screen-reader-text {
	display: none;
}
.nav-links .post-title {
}
.wp-pagenavi {
	line-height: 1em;
	text-align: center;
	padding: 0px 0px 20px 0px;
}
.wp-pagenavi span,
.wp-pagenavi a {
	display: inline-block;
	overflow: hidden;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-decoration: none;
	vertical-align: middle;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	margin: 2px;
}
.wp-pagenavi span.pages {
	display: none;
}
.wp-pagenavi span.extend {
	border: none;
}
.wp-pagenavi a.page {
	background-color: #f2f2f2;
}
.wp-pagenavi span.current {
	width: 40px;
	height: 40px;
	line-height: 40px;
	color: #fff;
	background-color: var(--color2);
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
	background-color: var(--gray6);
}
.wp-pagenavi a:hover {
	color: #fff;
	width: 40px;
	height: 40px;
	line-height: 40px;
	background-color: var(--color1);
}
.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::before,
.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::after {
	content: "";
	position: absolute;
	left: 50%;;
	top: 50%;
	width: 1px;
	height: 8px;
	background-color: var(--gray1);
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.wp-pagenavi a.previouspostslink:hover::before,
.wp-pagenavi a.nextpostslink:hover::before,
.wp-pagenavi a.previouspostslink:hover::after,
.wp-pagenavi a.nextpostslink:hover::after {
	background-color: var(--white);
}
.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::after {
	-webkit-transform: skewX(-35deg);
	transform: skewX(-35deg);
}
.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::before {
	-webkit-transform: skewX(35deg);
	transform: skewX(35deg);
}
.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::before {
	margin-top: -8px;
}
/* ------------------------------------------------ */
.widget_search {
	position: relative;
	max-width: 250px;
}
.headerwidget .widget_search {
	margin: 0px 0px 0px auto;
}
.widget_search label span.screen-reader-text {display: none;}
.widget_search button span.screen-reader-text {display: none;}
.widget_search label input[type="search"]{
	width: 100%;
	background-color: #e6e6e6;
	border: 1px solid #fff;
	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	padding: 10px 5px;
}
.widget_search button[type="submit"]{
	position: absolute;
	right: 10px;
	top: 5px;
	width: 30px;
	height: 25px;
	background-color: transparent;
	background-image: url("./img/parts/search.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px;
	border: 0px;
	padding: 0;
	cursor: pointer;
}
/* ------------------------------------------------ */
.article-outer {
}
.article-inner {
}
/* ------------------------------------------------ */
#index {
}
/* --------- */
#index-news {
	background-color: var(--color5);
}
#index-news .outer {
}
.index-news {
}
.index-news ul {
	margin-bottom: 30px;
}
.index-news ul li {
	border-bottom: 1px dashed #000;
	padding: 10px;
}
@media screen and (min-width: 768px) {
	.index-news ul::after {
		display: block;
		content: "";
		clear: both;
	}
	.index-news ul li {
	}
}

.index-news ul li a {
	display: block;
	text-decoration: none;
	padding: 0px 10px;
}
.index-news ul li a div {
	margin-bottom: 5px;
}
.index-news ul li a div img {
	margin: 0px auto;
}
.index-news ul li a dl {
}
.index-news ul li a dl dt {
	line-height: 1.2em;
}
.index-news ul li a dl dt span {
	display: inline-block;
	font-size: 13px;
}
.index-news ul li a dl dt em {
	display: inline-block;
	color: var(--white);
	font-size: 11px;
	line-height: 1em;
	background-color: var(--color1);
	padding: 3px 5px;
}
.index-news ul li a dl dt strong {
	display: block;
	font-size: 16px;
}
.index-news ul li a dl dd {
}
.index-news ul li a dl dd p {
	font-size: 13px;
	line-height: 1.4em;
}
@media screen and (max-width: 767px) {
	.index-news ul {
		display: block;
		width: auto;
	}
	.index-news ul li {
		display: block;
		margin-bottom: 10px;
		padding: 0px;
	}
	.index-news ul li a div {
		display: table-cell;
		width: 30%;
		vertical-align: top;
		padding: 0px 10px;
	}
	.index-news ul li a dl {
		display: table-cell;
		vertical-align: top;
		padding: 0px 10px;
	}
	.index-news ul li a dl dt {
		line-height: 1.2em;
	}
	.index-news ul li a dl dt span {
	}
	.index-news ul li a dl dt strong {
	}
	.index-news ul li a dl dd {
	}
}

#news {
}
.news {
}
.news-list {
}
.news-list ul {
}
.news-list ul li {
	border-bottom: 1px solid #000;
	padding: 15px 5px;
}
.news-list ul li:last-child {
	border-bottom: none;
}
.news-list ul li dl {
	margin-bottom: 15px;
}
.news-list ul li dl dt {
	border-bottom: 1px solid #ccc;
}
.news-list ul li dl dt span {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	line-height 1em;
	padding-right: 10px;
}
.news-list ul li dl dt em {
	display: inline-block;
	color: var(--white);
	font-size: 11px;
	line-height: 1em;
	background-color: var(--color1);
	padding: 3px 5px;
}
.news-list ul li dl dt a {
	display: block;
	color: var(--color1);
	font-size: 20px;
	line-height: 1.4em;
	text-decoration: none;
}
.news-list ul li dl dt a:hover {
	color: var(--color2);
}
.news-list ul li dl dt a strong {
}
.news-list ul li dl dd {
}
/* ------------------------------------------------ */
#top {
	width: 100%;
	height: 100%;
}
.top-outer {
	width: 100%;
	height: 100%;
}

.top-bg {
	position: fixed;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-image: url("./img/index/top-bg.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: 1px solid #098;
	filter:grayscale(100%) contrast(130%);
}
@media screen and (min-width:768px) {
	.top-bg {
		background-attachment: fixed;
	}
}
@media screen and (max-width:767px) {
	.top-bg {
		left: 0px;
		top: 0px;
	}
}
.top-bg::before {
	position: absolute;
	content: "";
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
	background-image: linear-gradient(45deg, rgba(0,0,0,0.1) 25%, transparent 25%, transparent 75%, rgba(0,0,0,0.1) 75%, rgba(0,0,0,0.1)), linear-gradient(45deg, rgba(0,0,0,0.1) 25%, transparent 25%, transparent 75%, rgba(0,0,0,0.1) 75%, rgba(0,0,0,0.1));
	background-position: 0 0, 3px 3px;
	background-size: 6px 6px;
}
.top-bg::after {
	position: absolute;
	content: "";
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	opacity:0;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0.5);
	background-color: rgba(0,0,0,0.6);
}
.top-bg.blur::after {
	opacity:1;
}


/*
.top-mov {
	position: fixed;
	z-index:0;
	width: 100%;
	height: 100%;
	border: 1px solid #098;
}
.top-mov::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	background-color: rgba(0,0,0,0.3);
}
.top-mov::after {
	position: absolute;
	content: "";
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	opacity:0;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0.5);
	background-color: rgba(0,0,0,0.5);
}

.top-mov.blur::after {
	opacity:1;
}

*/



.top-inner {
	position: relative;
	width: 100%;
	height: 100%;
}
.top-img img {
}
.top-tex {
	position: absolute;
	z-index: 10;
	left: 0;
	top: 20%;
	transform: translateY(-20%);
	width: 100%;
	text-align: center;
}
@media screen and (min-width:768px) {
	.top-tex {
		top: 40%;
		transform: translateY(-40%);
	}
}
.top-tex strong {
	display: block;
	color: var(--white);
	font-size: 80px;
	font-size: clamp(50px, 8vw, 80px);
	font-weight: 900;
	line-height: 1em;
}
.top-tex strong b {
	display: block;
	line-height: 70px;
}
@media screen and (min-width:768px) {
	.top-tex strong b {
		overflow: hidden;
		height: 120px;
		line-height: 80px;
	}
}
.top-tex strong ruby {
}
.top-tex strong ruby rt {
	font-size: 14px;
}
.top-tex strong b em,
.top-tex strong b span {
	display: block;
	position: relative;
}












/*
.top-outer.blur .top-tex span {
	font-size: 1.2em;
	color: #c00;
}

.top-outer .top-tex span::after {
	position: absolute;
	content: "";
	z-index: 0;
	left: 0px;
	top: 0px;
	width: 0%;
	height: 100%;
	background-color: var(--white);
}

.top-outer.blur .top-tex span::after {
	animation-name: toptexspan;
	animation-fill-mode:forwards;
	animation-duration: .5s;
	animation-timing-function: ease-in-out;
	transform-origin: bottom left 0px;
}
@keyframes toptexspan {
0% {width: 0%;}
100% {width: 100%;}
}
*/
/* ------------------------------------------------ */
#top2 {
	position: relative;
	z-index: 10;
	width: 100%;
/*
	height: 50%;
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,1) 100%);

*/
	height: 500px;
	overflow: hidden;
}

/*
.top2-img {
	position: relative;
	z-index: 2;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(10%, #000), color-stop(90%, #000), to(transparent));
    -webkit-mask-image: -webkit-linear-gradient(top, transparent 0%, #000 10%, #000 90%, transparent 100%);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(10%, #000), color-stop(90%, #000), to(transparent));

    mask-image: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,1) 100%);
}

.top2-tex {
	position: absolute;
	z-index: 3;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}
.top2-tex h2 {
	display: block;
	color: var(--white);
	font-size: 50px;
	font-size: clamp(18px, 5vw, 50px);
	font-weight: 900;
	line-height: 1.6em;
}
*/
/* ------------------------------------------------ */

.index-contents-mov {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #fcc;
	overflow: hidden;
	box-sizing: border-box;
}
.index-contents-mov::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	background-color: rgba(0,0,0,0.3);
}
.index-contents-mov::after {
	position: absolute;
	content: "";
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	opacity:0;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, 0.5);
	background-color: rgba(0,0,0,0.5);
}

.index-contents-mov.blur::after {
	opacity:1;
}
/* ------------------------------------------------ */
.first,
.second,
.third {
position: fixed;
position: absolute;
	width: 100%;
	height: 100%;
}
.second,
.third {
opacity: 0;
}
.first {
animation: first 10s infinite;
background: linear-gradient(#5ff8ca, #60e08c);
background: linear-gradient(to right,  rgba(58,58,58,1) 0%,rgba(0,0,0,1) 100%);
z-index: 12;
}
.second {
animation: second 10s infinite;
animation-delay: 2s;
background: linear-gradient(#19eaa6, #00a1f0);
background: linear-gradient(135deg,  rgba(17,17,17,1) 0%,rgba(63,63,63,1) 100%);
z-index: 13;
}
.third {
animation: third 10s infinite;
animation-delay: 8s;
background: linear-gradient(#aab7f8, #ff75c6);
background: radial-gradient(ellipse at center,  rgba(17,17,17,1) 0%,rgba(63,63,63,1) 100%);
z-index: 14;
}
@keyframes first {
  0% {opacity: 1.0;}
  10% {opacity: 0.8;}
  20% {opacity: 0.6;}
  30% {opacity: 0.4;}
  40% {opacity: 0.2;}
  50% {opacity: 0.1;}
  60% {opacity: 0.2;}
  70% {opacity: 0.4;}
  80% {opacity: 0.6;}
  90% {opacity: 0.8;}
  100% {opacity: 1.0;}
}

@keyframes second {
  0% {opacity: 0;}
  10% {opacity: 0.2;}
  20% {opacity: 0.4;}
  30% {opacity: 0.6;}
  40% {opacity: 0.8;}
  50% {opacity: 1.0;}
  60% {opacity: 0.8;}
  70% {opacity: 0.6;}
  80% {opacity: 0.4;}
  90% {opacity: 0.2;}
  100% {opacity: 0;}
}
@keyframes third {
  0% {opacity: 0;}
  10% {opacity: 0.2;}
  20% {opacity: 0.4;}
  30% {opacity: 0.6;}
  40% {opacity: 0.8;}
  50% {opacity: 1.0;}
  60% {opacity: 0.8;}
  70% {opacity: 0.6;}
  80% {opacity: 0.4;}
  90% {opacity: 0.2;}
  100% {opacity: 0;}
}
/* ------------------------------------------------ */
article.content {
	position: relative;
	z-index: 10;
	width: 100%;
/*
	height: 100%;
*/
}
/*
#content-index {
	color: var(--white);
	background-color: var(--gray1);
	background-color: #191916;
	background-color: var(--black);
}
*/
#content-page {

}

/* ------------------------------------------------ */
.bloc {
	position: relative;
	z-index: 100;
	margin: 0px auto;
	padding: 50px 0px 0px 0px;
}
@media screen and (min-width:768px) {
	.bloc {
		padding: 80px 0px 0px 0px;
	}
}
#content-index .bloc {
	color: var(--white);
	background-color: var(--gray1);
	background-color: #191916;
	background-color: var(--black);
}
#content-index .bloc#index-mess {
	background-color: transparent;
}
.outer {
	position: relative;
}
/*
.bloc .outer {
	padding: 20px 0px;
}
@media screen and (min-width:768px) {
	.bloc .outer {
		padding: 50px 0px;
	}
}
*/
.inner {
}
.inner::after {
	content: "";
	display: block;
	clear: both;
}
.inner:last-child {
	margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
	.inner {
		padding: 0px 0px;
	}
}
.inner p {margin-bottom: 20px;}
.inner p:last-child {margin-bottom: 0px;}
/* ------------------------------------------------ */
.box {
	position: relative;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: contain;
	background-size: cover;
	padding: 50px 0px 100px 0px;
}
@media screen and (min-width:768px) {
	.box {
		background-attachment: fixed;
	}
}
#index-mess .box {
	padding: 0px 10px 100px 10px;
}
@media screen and (min-width:768px) {
	.box {
		padding: 50px 0px 150px 0px;
	}
}
#index-about .box {
	background-image: url("./img/index/about.webp");
}
#index-work .box {
	background-image: url("./img/index/work.webp");
}
#index-mission .box {
	background-image: url("./img/index/mission.webp");
}
#bloc-description-description .box {
	background-image: url("./img/description/bg1.webp");
}
#bloc-description-ideal .box {
	background-image: url("./img/description/bg3.webp");
	background-size: contain;
	background-position: center bottom;
	filter:grayscale(40%) contrast(110%);
}
#bloc-description-followup .box {
	background-color: rgba(0,0,0,0.1);
}
#bloc-description-incentives .box {
	background-color: rgba(0,0,0,0.1);
}
#bloc-description-conditions .box {
	background-color: rgba(0,0,0,0.1);
}

#bloc-message-introduction .box {
	background-color: rgba(0,0,0,0.1);
}


.box::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
/*
	background-color: rgba(1,25,80,0.7);
	background-color: rgba(0,0,0,0.9);
*/
}
#content-index .box::after {
	background: linear-gradient(to bottom,  rgba(0,0,0,1) 0%,rgba(0,0,0,0.90) 50%,rgba(0,0,0,0.90) 100%);
}
#content-index #index-mess .box::after {
	background: rgba(250,0,0,0);
}
#content-page .box::after {
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.90) 50%,rgba(255,255,255,0.90) 100%);
}
#bloc-description-description .box::after {
	background-color: rgba(0,0,0,.6);
}
#bloc-description-ideal .box::after {
	background: rgba(255,255,255,0.5);
}

.box-inner {
	position: relative;
	z-index: 1;
	padding: 0px 10px;
}
.box-inner::after {
	display: block;
	content: "";
	clear: both;
}
.box-top {
	text-align: center;
	margin-bottom: 30px;
}
@media screen and (min-width:768px) {
	.box-top {
		margin-bottom: 60px;
	}
}
.box-top strong {
	display: block;
	font-size: 60px;
	font-size: clamp(36px, 6vw, 60px);
	font-weight: 900;
	line-height: 1.4em;
}
#index-mess .box-top {
	margin-bottom: 90px;
}
#index-mess .box-top h2 {
	display: block;
	font-size: 60px;
	font-size: clamp(36px, 6vw, 60px);
	font-weight: 900;
	line-height: 1.4em;
}
#bloc-description-description .box-top strong {
	color: var(--white);
}

.box-tex {
}
@media screen and (min-width:768px) {
	.home .box-tex {
		text-align: center;
	}
}
#index-mess .box-tex strong {
	display: inline-block;
	color: var(--color1);
	font-size: 50px;
	font-size: clamp(30px, 5vw, 50px);
	font-weight: 900;
	line-height: 1.4em;
}
.box-img {
	margin-bottom: 20px;
}
.box-img img {
	margin: 0px auto;
}

@media screen and (min-width:768px) {
	#bloc-description-followup .box-img {
		float: left;
		padding-right: 20px;
	}
	#bloc-description-ojt .box-img {
		float: right;
		padding-left: 20px;
	}
	#bloc-message-introduction .box-img ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
		align-items: stretch;
		justify-content: center;
		padding-top: 30px;
	}
	#bloc-message-introduction .box-img ul li {
		flex: 1;
		box-sizing: border-box;
	}
}
#bloc-message-introduction .box-img ul {
	padding-top: 30px;
}
@media screen and (max-width:767px) {
	#bloc-message-introduction .box-img ul li {
		padding: 10px;
	}
}
.box-tex p {
	margin-bottom: 20px;
}
.box-tex p:last-child {
	margin-bottom: 0px;
}
.box-tex strong {
	display: block;
}
.box .link-bloc {
	padding: 20px 0px 0px 0px;
}
/* ------------------------------------------------ */

#index-mess .outer {
}
/* ------------------------------------------------ */
#index-about {
}
.index-about {
}
/* ------------------------------------------------ */
#index-work {
}
.index-work {
}
.index-work p {
}
.index-work p a {
	color: var(--white);
	font-weight: 700;
	text-decoration: underline;
}
.index-work p a:hover {
	color: var(--color3);
}
.index-work p.index-work1 {
	text-align: center;
	padding-top: 10px;
}
.index-work .link-img-bloc {
	padding: 10px 10px 30px 10px;
}
.index-work2 {
	margin-bottom: 30px;
}
.index-work3 {
	text-align: center;
}
.index-work3 b {
	display: inline-block;
	color: var(--white);
	font-size: 1.2em;
	font-weight: 700;
	vertical-align: middle;
	line-height: 1em;
	background-color: var(--color2);
	padding: 3px 10px;
}
/* ------------------------------------------------ */
#index-mission {
}
.index-mission {
}
/* ------------------------------------------------ */
.index-link {
	position: relative;
	z-index: 1;
	text-align: center;
}
.index-link ul {
	padding: 70px 50px 10px 50px;
}
.index-link ul li {
}
@media screen and (max-width:767px) {
	.index-link ul li {
		padding: 5px 10px;
	}
}
@media screen and (min-width:768px) {
	.index-link ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 20px;
		align-items: stretch;
		justify-content: center;
	}
	.index-link ul li {
		flex: 1;
		box-sizing: border-box;
	}
}
.index-link ul li a {
	display: block;
	position: relative;
	color: var(--white);
	font-size: 24px;
	font-size: clamp(18px, 2.4vw, 24px);
	font-weight: 500;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border: 2px solid var(--white);
	-moz-box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.2);
}
.index-link ul li.index-link-description a {
	background-image: url("./img/global/description.webp");
}
.index-link ul li.index-link-message a {
	background-image: url("./img/global/message.webp");
}
.index-link ul li a::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.index-link ul li a span {
	display: block;
	position: relative;
	z-index: 2;
	padding: 120px 0px 0px 0px;
}
.index-link ul li a span em {
	display: block;
	background-color: rgba(0,0,0,0.5);
	padding: 5px 10px;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.index-link ul li a:hover {
	color: var(--color3);
	border: 2px solid var(--color3);
}
.index-link ul li a:hover::after {
	background-color: rgba(0,0,0,0.7);
}
.index-link ul li a:hover span em {
}
/* ------------------------------------------------ */




/* ------------------------------------------------ */
#btm {
	text-align: center;
	background-image: url("./img/global/btm.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: contain;
	background-size: cover;
}
@media screen and (min-width:768px) {
	#btm {
		background-attachment: fixed;
	}
}
.btm {
	background-color: rgba(0,0,0,0.5);
	padding: 50px 10px;
}
.btm p {
	color: var(--white);
	font-size: 20px;
	font-size: clamp(18px, 2vw, 20px);
	font-weight: 700;
	line-height: 1em;
	margin-bottom: 20px;
}
.btm a {
}
.btm a span {
}

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



