@charset "utf-8";/*ページ用*/
/* ------------------------------------------------ */
#mv{
	overflow: hidden;
	position: relative;
	z-index: 0;
	background-color: var(--black);
	position: relative;
	z-index: 0;
	margin: 0;
	line-height: 1em;
}
.mv-tex {
	position: absolute;
	z-index: 4;
	left: 0px;
	top: 10%;
/*
	transform: translateY(-55%);
*/
	box-sizing: border-box;
	width: 100%;
	color: var(--white);
	color: var(--black);
	text-align: center;
}
.mv-tex strong {
	display: block;
	color: var(--color1);
	color: var(--color2);
	color: var(--white);
	font-size: 20px;
	font-size: clamp(18px,5vw, 60px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	text-shadow: 0px 0px 5px rgba(0,0,0,.5),0px 0px 10px rgba(0,0,0,.5);
}
.mv-tex strong span {
	display: inline-block;
}
.mv-tex strong span.line::after {
	bottom: -10px;
	height: 30px;
	background-color: var(--color2);
}
.mv-tex strong span em {
	position: relative;
	z-index: 10;
}
.mv-tex-inner {
	position: absolute;
	z-index: 4;
	left: 0;
	bottom: 0;
/*
	top: 55%;
	transform: translateY(-55%);
*/
	box-sizing: border-box;
	width: 100%;
	color: var(--black);
	color: var(--white);
	line-height: 1.8em;
	text-align: center;
	background-color: rgba(255,255,255,0.8);
	background-color: rgba(0,0,0,0.7);
	padding: 40px 10px 10px 10px;
}
@media screen and (min-width: 1001px) {
	.mv-tex strong {
		margin-bottom: 50px;
	}
}
.mv-tex-logo {
	margin-bottom: 50px;
}
.mv-tex-logo img {
	width: 120px;
	margin: 0px auto;
}
.mv-bg {
	position: relative;
	z-index: 1;
	pointer-events: none;
}
.mv-bg::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	background-color: rgba(255,255,255,0.2);
	background-color: rgba(0,0,0,0.7);
	box-sizing: border-box;
background: linear-gradient(to bottom,  rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.2) 10%,rgba(0,0,0,0) 100%);
}
/* ------------------------------------------------ */
#title {
	position: relative;
	z-index: 0;
	text-align: center;
	padding: 50px 10px;
}
@media screen and (max-width: 767px) {
	#title {
		background-size: cover;
	}
}
/*
#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 div {
	position: relative;
	z-index: 1;
}
#title span {
	display: block;
	color: rgba(255,255,255,0.5);
	color: var(--color1);
	font-size: 36px;
	font-size: clamp(24px, 3.6vw, 36px);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}
#title strong {
	display: block;
	color: rgba(255,255,255,0.8);
	color: var(--gray2);
	font-size: 14px;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	#title{
		padding: 40px 10px;
	}
}
html#html_single #title {
	padding: 80px 10px;
}
html#html_single #title div {
	display: none;
}
/* ------------------------------------------------ */
.title {
	line-height: 1em;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.title {
		padding: 0px 10px;
	}
}
.title h2 {
	display: block;
	font-size: 24px;
	font-size: clamp(24px, 2.4vw, 24px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1em;
	margin-bottom: 40px;
}
.title h2 b {
	display: inline-block;
	line-height: 1em;
	border-bottom: 3px solid var(--color1);
	padding-bottom: 10px;
}
.title h3 {
	color: var(--color1);
	font-size: 36px;
	font-size: clamp(24px, 3.6vw, 36px);
	font-weight: 700;
	line-height: 1em;
	border-bottom: 2px solid var(--color1);
	margin-bottom: 40px;
	padding-bottom: 10px;
}
/* ------------------------------------------------ */
#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(--color4);
}
.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 {
}
/* ------------------------------------------------ */
.bloc {
	position: relative;
	margin: 0px auto;
	padding: 0px;
}
.outer {
	position: relative;
/*
	z-index: 1;
*/
}
.bloc .outer {
	padding: 30px 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 10px;
	}
}
.inner p {margin-bottom: 20px;}
.inner p:last-child {margin-bottom: 0px;}
/* ------------------------------------------------ */
/* --------- */
#index-news {
	background-color: var(--white);
}
#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 (max-width: 767px) {
	.index-news ul li {
	}
}
@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;
	line-height: 1.2em;
	text-decoration: none;
	padding: 0px 10px;
}
.index-news ul li a span {
	display: inline-block;
	font-size: 13px;
	vertical-align: middle;
	padding: 3px 5px;
}
.index-news ul li a em {
	display: inline-block;
	color: var(--white);
	font-size: 11px;
	line-height: 1em;
	vertical-align: middle;
	background-color: var(--color1);
	padding: 3px 5px;
}
.index-news ul li a strong {
	display: inline-block;
	font-size: 16px;
	vertical-align: middle;
	padding: 0px 5px;
}
.index-news ul li a p {
	font-size: 13px;
	line-height: 1.4em;
}

#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 {
}
/* ------------------------------------------------ */
#index {
/*
	background-image: url("./img/mv.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
*/
}
/* ------------------------------------------------ */
#index-bloc {
/*
	border-top: 5px solid var(--white);
	border-bottom: 5px solid var(--white);
*/
}
/*
@media screen and (min-width: 768px) {
	#index-bloc {
	background-image: url("./img/mv.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: cover;
	background-attachment: fixed;
	}
}
*/
#index-bloc .outer {
	padding: 0px;
}
#index-bloc .inner {
	padding: 0px;
}
.index-bloc {
/*
		background-color: rgba(255,255,255,0.5);
	background-color: rgba(10,120,170,0.6);
*/
}
.index-bloc {
	position: relative;
}
.index-bloc:nth-child(1) {
	background-image: url("./img/index-bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: cover;
	background-attachment: fixed;
}
.index-bloc:nth-child(1)::after {
}
.index-bloc:nth-child(2) {
	background-color: var(--color1);
}
/*
	.index-bloc::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0px;
		width: 50%;
		width: 100%;
		height: 100%;
	}
	.index-bloc:nth-child(1)::after {
		left: 0px;
		background: linear-gradient(to bottom,  rgba(255,255,255,0.2) 0%,rgba(255,255,255,0.7) 40%,rgba(255,255,255,1) 100%);
	}
	.index-bloc:nth-child(2)::after {
		right: 0px;
		background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 60%,rgba(255,255,255,0) 100%);
	}
*/
}
@media screen and (max-width: 767px) {
	.index-bloc-inner {
		background-color: rgba(255,255,255,0.7);
	}
}
.index-box {
	position: relative;
	z-index: 2;
}
@media screen and (min-width: 768px) {
/*
	.index-box {
		width: 500px;
	}
	.index-bloc:nth-child(1) .index-box,
	.index-bloc:nth-child(3) .index-box {
		margin: 0px auto 0px 0px;
	}
	.index-bloc:nth-child(2) .index-box {
		margin: 0px 0px 0px auto;
	}
*/
}
.index-box {
}
.index-box-inner {
	padding: 50px 10px 10px 10px;
}
@media screen and (min-width: 768px) {
	.index-box-inner {
		padding: 80px 0px;
	}
}
.index-box h2 {
	display: block;
	color: var(--color1);
	font-size: 44px;
	font-size: clamp(22px, 4.4vw, 44px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	text-align: center;
	margin-bottom: 40px;
/*
	text-shadow: 3px 0px 10px #fff,-3px 0px 10px #fff,0px -3px 10px #fff,0px 3px 10px #fff;
*/
}
.index-bloc:nth-child(2) .index-box h2 {
	color: var(--white);
}
@media screen and (max-width: 767px) {
	.index-box h2 {
	}
}
.index-box h2 span {
	display: block;
}
.index-box h2 span b {
	font-size: 1.2em;
}
.index-box-tex {
	position: relative;
	padding: 0px 20px;
	margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
	.index-box-tex {
		padding: 0px 0px;
	}
	.index-bloc:nth-child(1) .index-box-tex {
		min-height: 280px;
	}
	.index-bloc:nth-child(1) .index-box-tex,
	.index-bloc:nth-child(3) .index-box-tex {
	}
	.index-bloc:nth-child(2) .index-box-tex {
	}
}
.index-box-tex img {
	margin: 0px auto;
}
@media screen and (min-width: 768px) {
	.index-box-tex-tex {
		position: absolute;
		top: 0px;
		width: 500px;
		min-height: 350px;
	}
	.index-bloc:nth-child(1) .index-box-tex-tex {
		right: 0px;
	}
	.index-bloc:nth-child(2) .index-box-tex-tex {
		left: 0px;
	}
	.index-box-tex-img img {
		width: 450px
	}
	.index-bloc:nth-child(1) .index-box-tex-img img {
		margin: 0px auto 0px 0px;
	}
	.index-bloc:nth-child(2) .index-box-tex-img img {
		margin: 0px 0px 0px auto;
	}
}
@media screen and (max-width: 767px) {

}
.index-box p {
	display: block;
	font-size: 16px;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 400;
	padding: 0px 0px 10px 0px;
}
.index-bloc:nth-child(2) .index-box p {
	color: var(--white);
}
@media screen and (max-width: 767px) {
	.index-box p {
	}
}
.index-box p b {
	color: var(--color2);
}
.index-box-works {
	display: flex;
	flex-wrap: nowrap;
	gap: 3px;
	align-items: stretch;
	justify-content: center;
}
.index-box-works div {
	flex: 1;
	box-sizing: border-box;
}
/* ------------------------------------------------ */
#works-about {
}
#works-about .outer {
	padding: 0px;
}
.works-about {
}
.works-about-tex {
	text-align: center;
	margin-bottom: 30px;
}
.works-about-tex strong {
	display: block;
	color: var(--color2);
	font-size: 30px;
	font-size: clamp(28px, 4vw, 40px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	vertical-align: middle;
	margin-bottom: 20px;
}
.works-about-tex p {
	line-height: 1.8em;
}
.works-about-tex-inner {
	background-color: var(--color6);
	border-radius: 10px;
	padding: 10px 10px;
}
.works-about-tex-inner::after {
	content: "";
	display: block;
	clear: both;
}
.works-about-tex-inner p {
	text-align: left;
}
.works-about-tex-inner img {
	border-radius: 10px;
}
@media screen and (min-width: 768px) {
	.works-about-tex-inner img {
		float: left;
		width: 400px;
		margin-right: 20px;
	}
}
@media screen and (max-width: 767px) {
	.works-about-tex-inner img {
		margin: 0px auto;
	}
}
.works-about-area {
	text-align: center;
	margin-bottom: 30px;
}
.works-about-area dl {
}
.works-about-area dl dt {
	display: block;
	display: inline-block;
	vertical-align: middle;
	color: var(--white);
	background-color: var(--color1);
	padding: 5px 10px;
}
.works-about-area dl dd {
	display: inline-block;
	vertical-align: middle;
	padding: 5px 10px;
}
.works-about-area dl dd b {
	display: block;
	border-bottom: 2px solid var(--color2);
	padding: 5px 10px;
}
.works-about-gaiko {
	background-color: var(--color1);
}
.works-about-gaiko-inner {
	color: var(--white);
}
.works-about-gaiko dl {
	padding: 30px 10px;
}
.works-about-gaiko dl dt {
	color: var(--color5);
	font-size: 20px;
	font-size: clamp(20px,3vw, 30px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1em;
	border-bottom: 1px solid var(--white);
	margin-bottom: 10px;
	padding-bottom: 10px;
	padding: 10px 10px;
}
.works-about-gaiko dl dd {
	padding: 5px 10px;
}
.works-about-gaiko dl dd div:first-child {
	margin-bottom: 30px;
}
.works-about-gaiko dl dd p {
	padding: 0px 10px;
}
/*
@media screen and (min-width: 768px) {
	.works-about-gaiko dl {
		display: table;
		width: 100%;
		table-layout: fixed;
		border-spacing: 0px;
	}
	.works-about-gaiko dl dt,
	.works-about-gaiko dl dd {
		display: table-cell;
		vertical-align: middle;
	}
	.works-about-gaiko dl dt {
		width: 400px;
	}
}
*/


/*
.works-about-gaiko dl dd::after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (min-width: 768px) {
	.works-about-gaiko dl dd img {
		float: right;
		width: 400px;
		margin-left: 20px;
	}
}
@media screen and (max-width: 767px) {
	.works-about-gaiko dl dd img {
		margin: 0px auto;
	}
}
*/
.works-about-gaiko dl dd img {
	margin: 0px auto;
}
@media screen and (max-width: 767px) {

}
#works-det {
	background-image: url("./img/works-bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	background-size: cover;
	background-attachment: fixed;
}
#works-det .outer {
	background-color: rgba(255,255,255,0.8);
}
.works-det {
}
.works-det-tex {
	text-align: center;
	margin-bottom: 30px;
}
.works-det-tex p {
}
.works-det-list {
}
.works-det-list dl {
	background-color: var(--white);
	border-radius: 3px;
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	margin-bottom: 30px;
	padding: 10px 10px;
}
.works-det-list dl dt {
}
.works-det-list dl dt h3 {
	color: var(--color1);
	padding: 10px 10px;
	font-size: 20px;
	font-size: clamp(20px, 3vw, 30px);
	font-family: var(--font2);
	font-weight: 500;
	border-bottom: 2px solid var(--black);
	margin-bottom: 10px;
	line-height: 1em;
}
.works-det-list dl dt img {
	margin: 0px auto;
	border-radius: 3px;
}
.works-det-list dl dd {
	padding: 10px 10px;
}
.works-det-list dl dd ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 3px;
	align-items: stretch;
	justify-content: center;
}
.works-det-list dl dd ul li {
	flex: 1;
	box-sizing: border-box;
}

/*
@media screen and (min-width: 768px) {
	.works-det-list dl {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: center;
		gap: 10px;
	}
	.works-det-list dl dt,
	.works-det-list dl dd {
		flex: 1;
	}
}
*/
#works-btm {
	position: relative;
	background-image: url("./img/bg1.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#works-btm::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	background-color: rgba(20,75,120,0.7);
	box-sizing: border-box;
}
.works-btm {
	position: relative;
	z-index: 3;
	color: var(--white);
	text-align: center;
	padding: 50px 10px 20px 10px;
}
.works-btm strong {
	display: block;
	font-size: 20px;
	font-size: clamp(30px, 4vw, 40px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 40px;
}
.works-btm p {
}
.works-btm-tex {
	margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
	.works-btm {
		padding: 100px 10px;
	}
	.works-btm strong {
		margin-bottom: 80px;
	}
	.works-btm p {
		font-size: 1.1em;
	}
	.works-btm-tex {
		margin-bottom: 30px;
	}
}
/* ------------------------------------------------ */
.recruit-data {
	text-align: center;
}
.recruit-data ul {
}
.recruit-data ul li {
	position: relative;
	box-sizing: border-box;
	background-color: var(--white);
	border-radius: 10px;
}
@media screen and (max-width: 767px) {
	.recruit-data ul li {
		border: 4px solid var(--color4);
		margin-bottom: 5px;
		padding: 20px 10px;
	}
}
@media screen and (min-width: 768px) {
	.recruit-data ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 15px;
		align-items: stretch;
		justify-content: center;
	}
	.recruit-data ul li {
		width: 150px;
		height: 150px;
		border-radius: 50%;
		border: 5px solid var(--color4);
	}
	#recruit-top .recruit-data ul li {
		width: 220px;
		height: 220px;
	}
}
.recruit-data ul li::after {
	content: "";
	position: absolute;
	z-index: 0;
	background-repeat: no-repeat;
	background-position: center top;
}
.recruit-data ul li:nth-child(1)::after {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="100%" height="100%" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23a5c677" d="M20.415,17.475L20.415,19.126L16.554,19.126L16.489,19.231L16.489,20.338L20.415,20.338L20.415,21.99L16.489,21.99L16.489,25.433L14.24,25.433L14.24,21.99L10.314,21.99L10.314,20.338L14.24,20.338L14.24,19.231L14.175,19.126L10.314,19.126L10.314,17.475L13.246,17.475L9.761,11.413L12.302,11.413L15.364,17L18.427,11.413L20.969,11.413L17.498,17.475L20.415,17.475ZM14.999,6.858C6.692,6.858 -0,14.211 -0,20.298C-0,22.831 1.461,28.722 14.999,28.722C28.538,28.722 30,22.831 30,20.298C30,14.211 23.309,6.858 14.999,6.858"/><path fill="%23a5c677" d="M3.329,10.903C3.346,10.903 3.363,10.899 3.38,10.899C3.689,10.886 3.993,10.759 4.22,10.514C6.838,7.684 10.668,6.126 15,6.126C19.334,6.126 23.161,7.684 25.78,10.514C26.007,10.759 26.313,10.89 26.624,10.902C26.933,10.914 27.248,10.808 27.493,10.58C27.984,10.125 28.014,9.358 27.56,8.867C25.078,6.185 21.703,4.476 17.865,3.91C18.092,3.631 18.233,3.282 18.233,2.895C18.233,2.002 17.509,1.278 16.617,1.278C15.723,1.278 15,2.002 15,2.895C15,2.002 14.277,1.278 13.384,1.278C12.491,1.278 11.767,2.002 11.767,2.895C11.767,3.282 11.908,3.631 12.135,3.91C8.297,4.476 4.922,6.185 2.44,8.867C1.985,9.358 2.015,10.126 2.506,10.58C2.74,10.796 3.035,10.903 3.329,10.903"/></svg>');
}
.recruit-data ul li:nth-child(2)::after {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="100%" height="100%" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23a5c677" d="M22.857,18.131C22.857,19.039 22.411,20.208 22.028,20.606L16.224,26.628L16.224,11.869C16.224,10.96 16.67,9.793 17.053,9.394L22.857,3.371L22.857,18.131ZM24.099,0.118C23.771,-0.014 22.916,-0.221 22.028,0.7L15.29,7.695C15.19,7.799 15.094,7.918 15,8.044C14.906,7.918 14.81,7.799 14.71,7.695L7.972,0.7C7.084,-0.221 6.228,-0.015 5.901,0.118C5.45,0.3 4.694,0.844 4.694,2.44L4.694,18.131C4.694,19.613 5.345,21.407 6.208,22.305L12.947,29.301C13.48,29.853 14.001,30 14.403,30C14.662,30 14.868,29.939 15,29.887C15.132,29.939 15.338,30 15.597,30C15.999,30 16.521,29.853 17.053,29.301L23.792,22.304C24.655,21.407 25.306,19.613 25.306,18.131L25.306,2.44C25.306,0.844 24.55,0.3 24.099,0.118"/></svg>');
}
.recruit-data ul li:nth-child(3)::after {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="100%" height="100%" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="%23a5c677" d="M15.723,24.122L1.565,24.122L1.565,10.36L23.479,10.36L23.479,14.702C23.512,14.702 23.544,14.697 23.577,14.697C24.078,14.697 24.568,14.749 25.044,14.838L25.044,3.969L21.327,3.969L21.327,5.931C21.327,7.01 20.45,7.888 19.37,7.888C18.291,7.888 17.414,7.01 17.414,5.931L17.414,3.969L7.631,3.969L7.631,5.931C7.631,7.01 6.753,7.888 5.674,7.888C4.595,7.888 3.718,7.01 3.718,5.931L3.718,3.969L-0,3.969L-0,25.687L16.177,25.687C15.974,25.188 15.823,24.665 15.723,24.122"/><rect fill="%23a5c677" x="3.614" y="12.121" width="2.87" height="2.87"/><rect fill="%23a5c677" x="8.595" y="12.121" width="2.871" height="2.87"/><rect fill="%23a5c677" x="13.578" y="12.121" width="2.87" height="2.87"/><rect fill="%23a5c677" x="18.559" y="12.121" width="2.87" height="2.87"/><rect fill="%23a5c677" x="3.614" y="16.817" width="2.87" height="2.87"/><rect fill="%23a5c677" x="8.595" y="16.817" width="2.871" height="2.87"/><path fill="%23a5c677" d="M13.578,16.817L13.578,19.687L16.176,19.687C16.258,19.486 16.35,19.292 16.448,19.099L16.448,16.817L13.578,16.817Z"/><path fill="%23a5c677" d="M4.5,5.931C4.5,6.58 5.026,7.105 5.674,7.105C6.322,7.105 6.848,6.58 6.848,5.931L6.848,2.064C6.848,1.416 6.322,0.89 5.674,0.89C5.026,0.89 4.5,1.416 4.5,2.064L4.5,5.931Z"/><path fill="%23a5c677" d="M18.196,5.931C18.196,6.58 18.722,7.105 19.37,7.105C20.018,7.105 20.544,6.58 20.544,5.931L20.544,2.064C20.544,1.416 20.018,0.89 19.37,0.89C18.722,0.89 18.196,1.416 18.196,2.064L18.196,5.931Z"/><path fill="%23a5c677" d="M27.197,23.469L23.577,23.469C23.371,23.469 23.17,23.386 23.024,23.24C22.878,23.094 22.794,22.893 22.794,22.687L22.794,19.028C22.794,18.596 23.144,18.245 23.577,18.245C24.01,18.245 24.359,18.596 24.359,19.028L24.359,21.904L27.197,21.904C27.629,21.904 27.979,22.255 27.979,22.687C27.979,23.119 27.629,23.469 27.197,23.469M30,22.686C30,19.138 27.125,16.262 23.577,16.262C20.028,16.262 17.152,19.138 17.152,22.686C17.152,26.234 20.028,29.11 23.577,29.11C27.125,29.11 30,26.234 30,22.686"/></svg>');
}
@media screen and (min-width: 768px) {
	.recruit-data ul li::after {
		left: 50%;
		top: 20px;
		transform: translateX(-50%);
		width: 30px;
		height: 30px;
	}
	#recruit-top .recruit-data ul li::after {
		width: 50px;
		height: 50px;
	}
}
@media screen and (max-width: 767px) {
	.recruit-data ul li::after {
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
		width: 30px;
		height: 30px;
	}
	#recruit-top .recruit-data ul li::after {
		width: 30px;
		height: 30px;
	}
}
.recruit-data ul li strong {
	display: inline-block;
}
.recruit-data ul li strong em {
	display: inline-block;
	font-weight: 700;
	line-height: 1em;
}
.recruit-data ul li strong b {
	display: inline-block;
	font-size: 20px;
	font-size: clamp(18px, 2vw, 20px);
	font-weight: 700;
	line-height: 1em;
}
@media screen and (min-width: 768px) {
	.recruit-data ul li strong {
		position: absolute;
		z-index: 0;
		left: 0px;
		top: 0px;
		left: 50%;
		top: 60%;
		transform: translate(-50%,-60%);
		width: 100%;
	}
	.recruit-data ul li strong em {
		display: block;
		margin-bottom: 10px;
	}
	.recruit-data ul li strong b {
		display: block;
	}
}
.recruit-data ul li strong b span {
	color: var(--color3);
	font-size: 1.2em;
}
@media screen and (min-width: 768px) {
	#recruit-top .recruit-data ul li strong b {
		font-size: 30px;
		font-size: clamp(18px, 3vw, 30px);
	}
}
/* ------------------------------------------------ */
.ban {
	text-align: center;
	padding: 20px 10px;
}
.ban a img {
	display: inline-block;
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.3);
}
.ban a:hover img {
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,0);
}
/* ------------------------------------------------ */
#recruit-top {
}
#recruit-top.bloc .outer {
	padding: 50px 0px 0px 0px;
}
@media screen and (max-width: 767px) {
	#recruit-top.bloc .inner {
		padding: 0px 0px;
	}
}
#recruit-top.bloc .inner {
}
.recruit-top {
	background-image: url("./img/recruit-bg.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-attachment: fixed;
	background-size: cover;
}
.recruit-top-tex1 {
}

.recruit-top-tex1 {
	color: var(--white);
	text-align: center;
	background-color: var(--color1);
	padding: 20px 10px;
}
@media screen and (min-width: 768px) {
	.recruit-top-tex1 {
		padding: 50px 20px;
	}
}
.recruit-top-tex1 h3 {
	display: inline-block;
	font-size: 24px;
	font-size: clamp(26px,3.4vw,34px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 20px;
}
.recruit-top-tex1 p {
}


.recruit-top-tex2 {
	position: relative;
	padding: 30px 10px;
}
.recruit-top-tex2 .photo {
	padding-top: 30px;
}
.recruit-top-tex2 .photo ul li img {
	border-radius: 5px;
}


.recruit-top-tex3 {
	margin-bottom: 20px;
	padding: 0px 10px;
}
.recruit-top-tex3-inner {
}
.recruit-top-tex3-box {
	background-color: var(--white);
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	border: 3px solid var(--color5);
	border-radius: 10px;
	padding: 10px;
	margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
	.recruit-top-tex3-inner {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: stretch;
		justify-content: center;
	}
	.recruit-top-tex3-box {
		flex: 1;
		box-sizing: border-box;
		flex: 1 0 calc(50% - 10px);
		margin-bottom: 0px;
	}
}
.recruit-top-tex3-box h3 {
	color: rgba(255,255,255,0.8);
	color: var(--color1);
	font-size: 28px;
	font-size: clamp(20px,2.8vw,28px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	text-align: center;
	margin-bottom: 10px;
}
.recruit-top-tex3-box h3 span {
	display: inline-block;
	position: relative;
	line-height: 1em;
	padding: 3px 20px;
}

.recruit-top-tex3-box h3 span::before,
.recruit-top-tex3-box h3 span::after {
	content: "";
	position: absolute;
	z-index: 0;
	bottom: 0px;
	width: 2px;
	height: 100%;
	background-color: var(--color1);
}
.recruit-top-tex3-box h3 span::before {
	left: 0px;
	transform: rotate(-25deg);
}
.recruit-top-tex3-box h3 span::after {
	right: 0px;
	transform: rotate(25deg);
}
.recruit-top-tex3-box p {
	padding: 3px 20px;
}

.recruit-top-btm {
	text-align: center;
	padding: 5px 10px 50px 10px;
}
.recruit-top-btm b {
	display: inline-block;
	font-size: 24px;
	font-size: clamp(22px,2.4vw,24px);
	font-family: var(--font2);
	font-weight: 500;
	margin-bottom: 20px;
	padding: 5px 10px;
}
/* -------------------------- */
.recruit-info {
}
.recruit-info dl dd a {
	color: var(--color4);
	font-size: 1.2em;
	font-weight: 700;
}
.recruit-info .link-bloc {
	padding: 20px 10px 5px 10px;
}
/* -------------------------- */
#recruit-link1 {
	background-color: var(--color5);
}
#recruit-link2 {
	background-color: var(--color5);
}
#recruit-link1.bloc .outer {
	padding: 20px 0px;
}
.recruit-link {
	text-align: center;
}
.recruit-link .link {
	padding: 10px 0px;
}
.recruit-link strong {
	display: block;
	font-size: 1.2em;
	margin-bottom: 10px;
}
.recruit-link ul {
}
.recruit-link ul li {
}
.recruit-link1 {
	margin-bottom: 30px;
}
.recruit-link1 a {
}
.recruit-link2 {
}
@media screen and (max-width:767px) {
	.recruit-link2 ul li {
		max-width: 400px;
		margin: 0px auto;
		padding: 5px 5px;
	}
}
@media screen and (min-width:768px) {
	.recruit-link2 ul li {
		display: inline-block;
		vertical-align: middle;
		min-width: 300px;
		padding: 0px 5px;
	}
}
.recruit-link2 a {
	display: block;
	color: var(--color2);
	background-color: var(--white);
	vertical-align: middle;
	line-height: 1em;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	padding: 10px 10px;
}
@media screen and (max-width:767px) {
	.recruit-link2 a {
		max-width: 260px;
		margin: 0px auto;
		padding: 15px 10px;
	}
}
.recruit-link2 a em {
	display: block;
	padding: 0px 10px;
}
.recruit-link2 a svg {
	display: inline-block;
	width: 20px;
	vertical-align: middle;
	margin-left: 10px;
}
.recruit-link2 a b {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	padding-right: 15px;
	padding-bottom: 5px;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
.recruit-link2 a b::after {
	display: inline-block;
	content: "";
	position: absolute;
	right: 0px;
	top: 4px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--color3);
}
.recruit-link2 a span {
	display: block;
	font-size: 13px;
	line-height: 1em;
	border-top: 2px solid var(--color2);
	padding-top: 5px;
}
.recruit-link2 a:hover {
	color: var(--color4);
}
.recruit-link2 a:hover span {
	border-top: 2px solid var(--color4);
}
/* ------------------------------------------------ */
#page-company {
}
#company-greeting {
	position: relative;
	background-image: url("./img/company-bg.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
}
@media screen and (min-width: 768px) {

	#company-greeting {
		padding: 40px 0px;
	}
}
#company-greeting::after {
	z-index: 1;
	position: relative;
	content: "";
	position: absolute;
	z-index: 0;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}
#company-greeting .outer {
	padding: 0px;
	position: relative;
	z-index: 2;
}
.company-top-tex {
	text-align: center;
	padding: 30px 10px 50px 10px;
}
.company-top-tex strong {
	display: block;
	display: inline-block;
	color: var(--white);
	font-size: 24px;
	font-size: clamp(30px, 5.4vw, 54px);
	font-family: var(--font2);
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 30px;
	padding-bottom: 0px;
/*
	border-bottom: 5px solid rgba(255,255,255,0.5);
	text-shadow: 1px 1px 5px rgba(0,0,0,1),1px 2px 5px rgba(0,0,0,1);
*/
}
.company-top-tex p {
	color: var(--white);
	font-size: 1.2em;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 500;
/*
	text-shadow: 1px 1px 5px rgba(0,0,0,1),1px 2px 5px rgba(0,0,0,1);
*/
}

.company-greeting {
}
.company-greeting-inner {
	background-color: var(--color6);
	border-radius: 10px;
	padding: 10px 10px;
}
@media screen and (min-width: 768px) {
	.company-greeting-inner {
		padding: 30px;
	}
}
.company-greeting-inner .title h2 {
	margin-bottom: 10px;
}
.company-greeting-tex {
}
.company-greeting-tex::after {
	content: "";
	display: block;
	clear: both;
}
.company-greeting-tex img {
	border-radius: 10px;
	margin: 0px auto;
}
@media screen and (min-width: 768px) {
	.company-greeting-tex img {
		float: left;
		width: 400px;
		margin-right: 20px;
	}
}
@media screen and (max-width: 767px) {
	#company-greeting {
		padding: 0px 0px 40px 0px;
	}
	.company-greeting-img {
		margin-bottom: 10px;
	}
	.company-greeting-img img {
		width: 120px;
	}
}
#company-company {
}
#company-company .title {
}
#company-map {
	position: relative;
	background-color: var(--bg1);
}
/* ------------------------------------------------ */
#index-works {
}
.photo {
}
/* ------------------------------------------------ */