/* ___________________________________________________________ /web-font/ */
/* https://iconscout.com/unicons/explore/line */
@import url("https://unicons.iconscout.com/release/v4.0.8/css/line.css");
/* https://fontawesome.com */
@import url("https://use.fontawesome.com/releases/v6.2.1/css/all.css");
/* https://fonts.google.com/ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho&display=swap");

/* init
 * -------------------- */
:root {
	--color-txt: #fff;
	--color-main: #d51212;
	--color-navy: #1c406c;
	--color-gray: #63656a;
	--color-lightblue: #4a85b4;
	--color-black: #000;
	--color-light-gray: #f1f1f1;
}

:root {
	--font-zen: "Zen Maru Gothic", serif;
	--font-noto: "Noto Sans JP", sans-serif;
}

:root {
	--slash-size: clamp(20px, 5vw, 50px);
	--slash-H-size: clamp(10px, 2.5vw, 25px);
	--slash-section-margin: calc(-1 * var(--slash-size));
}


/* common
 * -------------------- */
p:empty,
td:empty {
	display: none !important;
}

@media (min-width:768px) {
	.sp {
		display: none;
	}
}

@media (max-width:767px) {
	.pc {
		display: none;
	}
}

/*body*/
body {
	background-color: var(--color-main);
	color: #fff;
	font-family: "Lexend", "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/*a*/
a,
a:link,
a:visited {
	color: #fff;
}

a:hover img {
	opacity: 0.7;
	transition: .5s;
}

/*full-width*/
.full-width {
	margin: 0 calc(50% - 50vw);
	margin-top: 0 !important;
	padding: 60px 0;
	width: 100vw;
}

.full-width.-main {
	background-color: var(--color-main);
	color: #fff;
}

.full-width.-navy {
	background-color: var(--color-navy);
	color: #fff;
}

.full-width.-gray {
	background-color: var(--color-gray);
	color: #fff;
}

.full-width.-blk {
	background-color: var(--color-black);
}

.full-width.-wht {
	background-color: #fff;
	color: var(--color-black);
}

.full-width.-wht a,
.full-width.-wht a:link,
.full-width.-wht a:visited {
	color: var(--color-black);
}

@media (min-width: 1080px) {
	.full-width {
		padding: 100px 0;
	}

	.full-width-left {
		margin-left: calc((-100vw + 1080px) / 2);
	}
}

.more a {
	background-color: #fff;
	border: none;
	color: var(--color-main) !important;
	transition: all .5s;
}

.more.-blue a {
	background-color: var(--color-main);
	color: #fff !important;
}

.more a:hover {
	background-color: var(--color-lightblue);
	color: #fff;
}


/*img*/
img {
	vertical-align: middle;
}

/*gallery*/
.main .gallery .gallery-item,
.editing .gallery .gallery-item {
	padding: 0 10px 20px 10px;
}

.main .gallery .gallery-item .gallery-caption,
.editing .gallery .gallery-item .gallery-caption {
	padding: 7px 0;
}

.main .gallery .gallery-item .gallery-icon img,
.editing .gallery .gallery-item .gallery-icon img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/*ul*/
.main ul:not(.sd-content):not(.sticky-btn)>li {
	position: relative;
	background: none;
	padding-left: 25px;
}

.main ul:not(.sd-content):not(.sticky-btn)>li::before {
	position: absolute;
	top: 8px;
	left: 8px;
	display: block;
	content: '';
	background-color: #fff;
	border-radius: 20px;
	width: 8px;
	height: 8px;
}

.main .full-width.-wht ul:not(.sd-content)>li::before {
	background-color: var(--color-main);
}

.main ul:not(.sd-content):not(.sticky-btn) ul {
	margin-top: 5px !important;
}

.main ul:not(.sd-content):not(.sticky-btn) ul>li {
	background-image: none;
}

.main ul:not(.sd-content):not(.sticky-btn) ul>li::before {
	background-color: #ccc;
}

.main ul.kome>li {
	font-size: 0.9em;
	margin-bottom: 7px;
}

.main ul.kome>li::before {
	top: 0;
	left: 6px;
	content: '※';
	background-color: transparent;
	border-radius: 0;
	width: auto;
	height: auto;
}

.main ul.yoko {
	display: grid !important;
	column-gap: 2em;
}

.main ul.yoko.-pc3-sp2,
.main ul.yoko.-pc2-sp2 {
	grid-template-columns: repeat(2, auto);
}

.main ul.yoko.-pc3-sp1,
.main ul.yoko.-pc2-sp1 {
	grid-template-columns: repeat(1, auto);
}

@media (min-width: 720px) {

	.main ul.yoko.-pc3-sp2,
	.main ul.yoko.-pc3-sp1 {
		grid-template-columns: repeat(3, auto);
	}

	.main ul.yoko.-pc2-sp1 {
		grid-template-columns: repeat(2, auto);
	}
}

.sticky-btn,
.sticky-btn li a {
	width: 100%;
}

.sticky-btn li {
	padding-left: 0 !important;
	background: none !important;
	position: relative;
	margin-bottom: 0 !important;
}

.sticky-btn li a {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	text-decoration: none;
	border: none;
	border-bottom: 1px solid #fff;
	padding: 1.5em 2em;
}

.sticky-btn li:first-child a {
	border-top: 1px solid #fff;
}

.sticky-btn li a:hover {
	background-color: rgba(255, 255, 255, .25);
}

.sticky-btn li a::after {
	content: ">";
	margin-left: 10px;
}

/*table*/
table th,
table td {
	padding: 8px;
}

table th {
	background-color: rgb(255 255 255 /.1);
}

@media (max-width: 767px) {
	table th {
		vertical-align: top;
	}
}

/*box*/
.editing .box,
.main .box {
	border: none;
	padding: 15px;
}

@media (min-width: 375px) {

	.editing .box,
	.main .box {
		padding: 20px;
	}
}

@media (min-width: 720px) {

	.editing .box,
	.main .box {
		padding: 30px;
	}
}

.box.-line {
	border: 2px solid var(--color-main);
	border-radius: 10px;
}

.box.-white {
	background-color: #fff;
	border: none;
	border-radius: 10px;
	color: var(--color-black);
}

.box.-lightblue {
	background-color: var(--color-lightblue);
	border: none;
	border-radius: 10px;
}

.full-width-box {
	margin: 0 calc(50% - 50vw);
	margin-top: 0 !important;
	padding: 0 15px;
	width: 100vw;
}

.full-width-box .box {
	position: relative;
	padding: 2em 1.5em 1.5em;
}

.full-width-box .box>* {
	position: relative;
}

.full-width-box .box::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	background-color: rgb(0 0 0 / .4);
	width: 100%;
	height: 100%;
}

.full-width-box .box.-bg-blue::before {
	background-color: rgb(0 98 178 / .3);
}

@media (min-width: 1080px) {
	.full-width-box {
		padding: 0 4%;
	}

	.full-width-box .box {
		padding: 3em;
	}
}


/*columns*/
.columns-item {
	margin-top: 0 !important;
}

@media (max-width: 767px) {

	.editing .alignright,
	.editing .align-right img,
	.main .alignright,
	.main .align-right img,
	.editing .alignleft,
	.editing .align-left img,
	.main .alignleft,
	.main .align-left img {
		float: none;
		display: block;
		margin: 0 auto 15px !important;
		max-width: 100%;
	}

	.columns-2 .columns-item,
	.columns-3 .columns-item {
		margin-right: 0%;
		width: 100%;
		max-width: 100%;
		flex-basis: 100%;
	}

	.flex-reverse.columns-2 {
		flex-direction: column-reverse;
	}

}

/*scroll*/
.slidein {
	opacity: 0;
	transition: all 1.0s;
	transform: translate(0, 20%);
}

.slidein.scrollin {
	transform: translate(0, 0) !important;
	opacity: 1 !important;
}



/* header
 * -------------------- */
.header {
	border-top: none;
}

.header .logo {
	padding: 5vw 15px;
}

.header .logo img {
	max-width: 70%;
}

.header #menu {
	font-family: var(--font-noto);
}

.font-size .font-size-default,
.font-size .font-size-large {
	background-color: #fdf8ec;
}

.font-size input:checked+.font-size-default,
.font-size input:checked+.font-size-large {
	background-color: var(--color-main);
}

.search-input {
	background-color: #fdf8ec;
	border: none;
}

/*.header #menu .main-menu ul li {
	border-bottom: 1px dashed var(--color-yellow);
}*/

@media (min-width: 768px) {
	.header .logo {
		padding: 20px 15px;
	}

	.header .logo img {
		max-width: 80%;
	}
}

@media (min-width: 1080px) {
	.header .logo img {
		padding-top: 2px;
		width: 330px;
		max-width: 100%;
	}

	.search-btn,
	.font-size {
		display: none;
	}

	.header .container {
		padding: 29px 4%;
		width: 100%;
	}

	.header .logo {
		position: static;
		max-width: 330px;
	}

	.header #menu {
		position: fixed;
		top: 15px;
		right: 30px;
		left: auto;
		width: auto;
	}

	.header #menu .main-menu {
		margin: 0;
		padding: 10px 20px;
		/*background-color: #fff;
		border-radius: 50px;
		box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, .03);*/
	}

	.header #menu .main-menu ul {
		margin-top: 0;
		height: auto;
	}

	.header #menu .main-menu ul li {
		font-size: inherit;
		height: auto;
	}

	.header #menu .main-menu ul li a {
		border-radius: 0;
		color: var(--color-txt);
		line-height: normal;
		padding: 10px;
		transition: all .3s;
	}

	.header #menu .main-menu ul li a:hover {
		background-color: transparent;
		color: var(--color-main);
	}

	.header #menu .main-menu ul li.stay a {
		background-color: transparent;
		color: var(--color-main);
	}
}

/* footer
 * -------------------- */
.footer {
	padding-bottom: 75px;
}

.footer {
	background-color: var(--color-black);
}

.pagetop-btn-wrapper {
	background-color: var(--color-main);
	margin: -1px calc(50% - 50vw);
	text-align: center;
	width: 100vw;
}

.pagetop-btn {
	transition: all .3s;
}

.pagetop-btn:hover {
	background-color: var(--color-lightblue);
}

.footer .container {
	border: none;
}

.footer .guide a {
	color: inherit;
}

@media (min-width: 1080px) {
	.pagetop-btn-wrapper {
		padding: 30px 0 70px;
	}
}

/*SPフッタ部フローティング*/
.footer-contact {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background: rgba(255, 255, 255, .9);
	padding-top: 20px;
	margin-bottom: inherit !important;
}

.footer-contact ul {
	display: flex !important;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	gap: 0;
}

.footer-contact ul li {
	flex-basis: 50%;
	background: none;
	margin: 0;
	padding-left: 0;
}

.footer-contact ul li::before {
	display: none;
}

.footer-contact ul li a,
.footer-contact ul li.footer-menu {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: unset;
	color: var(--color-black);
	font-size: 90%;
	font-weight: 800;
	padding: clamp(15px, 0.156rem + 3.47vw, 40px) 0 clamp(15px, 0.781rem + 0.69vw, 20px);
	text-decoration: none;
}

.footer-contact ul li.footer-menu {
	background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 100%);
	background-repeat: no-repeat;
	background-size: 1px 20px;
	background-position: left center;
}

.footer-contact ul li:last-child a {
	background-color: var(--color-navy);
}

.footer-contact ul li a img {
	margin-right: 8px;
	width: 20px;
}

.footer-contact ul li a:hover img {
	opacity: 1;
}

.menu-btn {
	bottom: 50px;
	background-image: url(../custom/menu-btn.png);
}

@media (min-width: 768px) {
	.menu-btn {
		bottom: 20px;
	}
}

.menu-btn {
	overflow: unset;
	position: unset;
	bottom: unset;
	right: unset;
	width: unset;
	height: unset;
	border-radius: unset;
	background: unset;
	background-size: unset;
	-webkit-box-shadow: 0 rgba(0, 0, 0, 0);
	box-shadow: unset;
	font-size: unset;
	z-index: unset;
	cursor: unset;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	transition: unset;
}

/* utilities
 * -------------------- */
.utilities .navigation .navigation-title {
	border-color: #fff;
	margin-top: 16px;
}

.utilities .navigation .archive-month>li a {
	color: #fff;
}

/* intro
 * -------------------- */

/* headline
 * -------------------- */
.editing h1,
.main h1,
.editing h2,
.main h2,
.editing h3,
.main h3,
.editing h4,
.main h4,
.editing h5,
.main h5,
.editing h6,
.main h6 {
	font-family: var(--font-noto);
}

.editing h1,
.main h1 {
	border-color: #fff;
	margin-bottom: 40px;
}

@media (min-width: 1080px) {

	.editing h1,
	.main h1 {
		font-size: 2.5em;
		margin-bottom: 70px;
	}
}

.editing h2,
.main h2 {
	border: none;
	font-size: clamp(2em, 1em + 4.44vw, 4em);
	margin-top: clamp(50px, 1.563rem + 6.94vw, 100px);
	margin-bottom: 35px;
	padding: 0;
	position: relative;
}

/*.editing h2.about {
	margin-top: 0 !important;
}*/

body.home .main h2,
body.recruit .main h2,
body.contact .main h2 {
	line-height: 1.1;
}

.editing h2 .sub {
	display: block;
	margin-top: 1em;
	padding-left: 5px;
}

@media (min-width: 1080px) {

	.editing h2,
	.main h2 {
		margin-bottom: 40px;
	}

	body.home .main h2 {
		margin-bottom: 70px;
	}

	body.recruit .main h2,
	body.contact .main h2 {
		margin-bottom: 50px;
	}
}

.editing h2::after,
.main h2.headline-news::after {
	position: absolute;
	font-family: inherit;
	font-weight: 800;
	top: -0.75em;
	/*上からの距離*/
	left: -15px;
	/*左からの距離*/
	color: rgba(0, 0, 0, 1);
	font-size: clamp(2em, 1.75rem + 1.11vw, 2.5em);
	/*font-size: clamp(2.25em, 2.125rem + 0.56vw, 2.5em);*/
	z-index: -1;
	mix-blend-mode: overlay;
}

@media (max-width: 1079px) {
	.editing h2::after {
		left: -15px;
	}
}

.editing h2.overview::after {
	content: 'OVERVIEW';
}

.editing .-wht h2::after {
	color: rgba(0, 0, 0, .1);
	mix-blend-mode: inherit;
}

.editing .-blk h2::after,
.editing .-gray h2::after {
	color: rgba(255, 255, 255, .2);
	mix-blend-mode: inherit;
}

.editing h2.member::after {
	content: 'MEMBER';
}

.editing h2.officer::after {
	content: 'OFFICER';
}

.editing h2.recruit::after {
	content: 'RECRUIT';
}

.editing h2.Constitution::after {
	content: 'BYLAWS';
}

.editing h2.Contact::after {
	content: 'CONTACT';
}

.main h2.headline-news+div+p.more {
	margin-bottom: clamp(110px, 4.063rem + 12.5vw, 200px) !important;
}

.main h2.headline-news::after {
	content: 'TOPICS';
}

.editing h3,
.main h3 {
	border: none;
	font-size: 1.3em;
	letter-spacing: .05em;
	margin-top: 40px !important;
	margin-bottom: 20px;
	padding: .5em;
	background-color: rgba(0, 0, 0, .1);
}

.editing h3:first-child {
	margin-top: 0 !important;
}

@media (min-width: 1080px) {

	.editing h3,
	.main h3 {
		font-size: 1.7em;
		margin-top: 60px !important;
		margin-bottom: 30px;
	}
}

.editing h4,
.main h4 {
	box-shadow: none;
	font-size: 1.1em;
}

.editing h4:first-child {
	margin-top: 0 !important;
}

@media (min-width: 1080px) {

	.editing h4,
	.main h4 {
		font-size: 1.3em;
	}
}

.editing h5,
.main h5 {
	padding-bottom: 0;
	border-bottom: none;
}

/* toppage
 * -------------------- */
/*slide*/
@media (min-width: 1080px) {
	.slideshow .container {
		width: 100%;
	}
}

body.home .contents {
	padding-top: 0;
}

.full-width.slide-copy {
	padding: 0;
}

.full-width.slide-copy img {
	margin-top: -5vw;
	margin-left: 10px;
	max-width: 90%;
}

@media (min-width: 1080px) {
	#slideshow {
		position: relative;
		z-index: -1;
	}

	.slideshow .container {
		width: 100%;
	}

	.full-width.slide-copy img {
		margin-top: -12vw;
		margin-left: 30px;
		max-width: 75%;
	}
}

.slide-copy {
	font-family: "Lexend", "Noto Sans JP", sans-serif;
	font-size: clamp(1.625rem, -0.943rem + 11.26vw, 7.5rem);
	/*font-size: clamp(36px, 0.563rem + 7.5vw, 70px);*/
	font-weight: 800;
	text-align: center;
}

.slide-copy span {
	opacity: 0;
	display: inline-block;
	animation: appear 0.5s forwards;
}

@keyframes appear {
	to {
		opacity: 1;
	}
}

@keyframes appear {
	0% {
		opacity: 0;
		transform: translateY(10px);
		filter: blur(2px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

/*@media (min-width: 1080px) {
	.slide-copy {
		font-size: 90px;
	}
}*/

/*about*/
.about-box01 {
	background: url('https://okisen.jp/wp-content/uploads/2025/01/building03.jpg');
	background-size: cover;
	background-position: -140px center;
}

@media (min-width: 720px) {
	.about-box01 {
		background-position: right center;
	}
}

/*youtube*/
.youtube {
	margin: 2em auto 2.5em !important;
	width: 90%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

@media (min-width: 768px) {
	.youtube {
		margin: 4em auto !important;
		width: 80%;
	}
}

/*team*/
.team-box.columns-2 .columns-item {
	position: relative;
	background-color: #fff;
	margin-bottom: 2em;
}

.team-box h4 {
	position: absolute;
	top: 1em;
	left: 0;
	background-color: var(--color-lightblue);
	color: #fff;
	margin-top: 0 !important;
	padding: 10px 20px;
	width: fit-content;
	min-width: 150px;
}

.team-box .txt {
	color: var(--color-txt);
	margin-top: 0 !important;
	padding: 1.2em 1.5em 1.5em;
}

@media (min-width: 720px) {
	.team-box .txt {
		padding: 1.5em 2em 2em;
	}
}


/*works*/
.works-box {
	margin-bottom: 3em;
}

.works-box .img .img-wrap {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.works-box .gallery.gallery-columns-2 .gallery-item {
	width: 50% !important;
}

@media (min-width: 1080px) {
	.works-box {
		display: flex;
		gap: 3em;
		margin-bottom: 2em;
	}

	.works-box:nth-child(2n+1) {
		flex-direction: row-reverse;
	}

	.works-box .img {
		flex-basis: 50%;
	}

	.works-box .img .img-wrap {
		margin: 0;
		margin-left: calc((-100vw + 1080px) / 2);
		width: 50vw !important;
	}

	.works-box:nth-child(2n+1) .img .img-wrap {
		margin-left: 0;
		margin-right: calc((-100vw + 1080px) / 2);
	}

	.works-box .txt {
		flex-basis: 50%;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	.works-box:last-of-type {
		margin-bottom: 80px;
	}
}

/*flow*/
.flow-box {
	margin-bottom: 3em;
}

.flow-box h3 {
	padding-left: 0;
}

.flow-box h3::before {
	display: none;
}

.flow-box .img img {
	margin-bottom: 2em;
	width: 50%;
}

@media (min-width: 1080px) {
	.flow-box {
		display: flex;
		align-items: center;
		gap: 3em;
	}

	.flow-box .img {
		flex-basis: 20%;
	}

	.flow-box .img img {
		width: 100%;
	}
}


/* recruit
 * -------------------- */
/*loop*/
.full-width-loop {
	margin: 0 calc(50% - 50vw);
}

.loop-animation {
	width: 100%;
	height: 450px;
	/* 画像の高さ */
	background-image: url(https://okisen.jp/wp-content/uploads/2025/04/loop-animation.jpg);
	background-repeat: repeat-x;
	background-size: auto 450px;
	/* 画像の高さ */
	animation: loop 60s linear infinite;
	position: relative;
}

@keyframes loop {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -2000px 0;
		/* 画像のマイナス幅 */
	}
}

.loop-animation_title {
	position: absolute;
	top: 50px;
	left: 50px;
	width: 350px;
}

@media (max-width: 1100px) {
	.loop-animation {
		height: 400px;
		/* 画像の高さ */
		background-size: auto 400px;
		/* 画像の高さ */
	}

	.loop-animation_title {
		bottom: 40px;
		right: 40px;
		width: 300px;
	}
}

@media (max-width: 600px) {
	.loop-animation {
		height: 300px;
		/* 画像の高さ */
		background-size: auto 300px;
		/* 画像の高さ */
		animation: loop 70s linear infinite;
	}

	.loop-animation_title {
		top: 30px;
		left: 30px;
		width: 200px;
	}
}

/*アコーディオン*/
.accordion {
	margin-top: 0 !important;
	margin-bottom: 2em;
}

.accordion .option {
	position: relative;
	margin-top: 0 !important;
}

.accordion .toggle {
	display: none;
}

.accordion .title,
.accordion .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.accordion .title {
	display: block;
	background-color: #fff;
	border-radius: 10px;
	color: var(--color-black);
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	padding: .75em 2.5em.75em 1em;
}

.accordion .toggle:checked+br+.title {
	border-radius: 10px 10px 0 0;
}

.accordion .title::after,
.accordion .title::before {
	position: absolute;
	right: 1.25em;
	top: 0;
	bottom: 0;
	margin: auto;
	background-color: var(--color-black);
	content: "";
	transition: all 0.3s;
	width: 3px;
	height: 0.75em;
}

.accordion .title::after {
	transform: rotate(90deg);
}

.accordion .title+p {
	display: none;
}

.accordion .content {
	margin-top: 0 !important;
	overflow: hidden;
	max-height: 0;
}

.accordion .toggle:checked+br+.title+p+.content {
	max-height: 100%;
	transition: all 1.5s;
}

.accordion .toggle:checked+br+.title::before {
	transform: rotate(90deg) !important;
}

.accordion .content .inner {
	background-color: #fff;
	color: var(--color-black);
	padding: 20px;
	border-radius: 0 0 10px 10px;
	border-top: 1px solid #ccc;
}

.accordion .content .inner h4 {
	color: var(--color-main);
}

.accordion .content .inner a {
	color: var(--color-black);
}

.accordion .content .inner table th {
	background-color: rgb(91 157 210 / .2);
}

.main .accordion .content .inner ul:not(.sd-content)>li::before {
	background-color: var(--color-lightblue);
}

@media (max-width: 767px) {
	.accordion .content .inner {
		padding: 15px;
	}
}

.accordion .content .inner dl dt {
	background-color: unset;
	font-weight: bold;
}

input+br {
	display: none;
}

/*recruit-message*/
.recruit-message li {
	line-height: 1.8;
}

@media (max-width: 899px) {
	.recruit-message .img {
		display: none;
	}
}

@media (min-width: 900px) {
	.recruit-message {
		display: flex;
		gap: 3em;
	}

	.recruit-message .txt {
		flex-basis: 65%;
	}

	.recruit-message .img {
		flex-basis: 35%;
		margin-top: 0 !important;
	}

	.recruit-message .gallery {
		margin-top: 0 !important;
	}

	.recruit-message .img .gallery.gallery-columns-2 .gallery-item {
		width: 100% !important;
	}
}

/* contact
 * -------------------- */
body.contact .full-width-box .about-box01 {
	background-position: -20px center;
	font-size: 1.3em;
	font-weight: bold;
	padding: 3em 1.5em;
}

body.contact .tel {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2em;
	margin-bottom: 30px;
	text-align: center;
}

body.contact .tel img {
	margin-right: 10px;
	width: 30px;
}

body.contact .tel a {
	text-decoration: none;
}

@media (min-width: 425px) {
	body.contact .full-width-box .about-box01 {
		background-position: right center;
	}
}

@media (min-width: 1080px) {
	body.contact .full-width-box .about-box01 {
		padding: 4em 1.5em;
	}

	body.contact .tel {
		font-size: 3em;
		margin-bottom: 70px;
	}

	body.contact .tel img {
		width: 50px;
	}
}

/* color
 * -------------------- */
.color-main {
	color: var(--color-main) !important;
}

.color-lightblue {
	color: var(--color-lightblue) !important;
}

.color-wht {
	color: #fff !important;
}

/*readmore*/
.readmore {
	position: relative;
	margin: -10px auto 0 !important;
	padding: 0 0 75px;
}

.readmore label {
	position: absolute;
	display: table;
	left: 20%;
	bottom: 0;
	background-color: #fff;
	border-radius: 50px;
	color: var(--color-main);
	cursor: pointer;
	font-size: 0.9em;
	margin: 0 auto;
	padding: 7px 20px;
	text-align: center;
	transform: translateX(-50%);
	width: 160px;
	z-index: 1;
}

.readmore label::before {
	content: '続きを見る';
}

.readmore input[type="checkbox"]:checked~label::before {
	content: '元に戻す';
}

.readmore input[type="checkbox"] {
	display: none;
}

.readmore label+p,
.readmore input+br {
	display: none;
}

.readmore-content {
	position: relative;
	overflow: hidden;
	height: 200px;
}

.readmore-content li {
	line-height: 1.8;
}

.readmore input[type="checkbox"]:checked~.readmore-content {
	height: auto;
}

/*wpcf7*/
.wpcf7-form-control {
	color: #000;
}

.wpcf7-form .formList {
	border: solid rgba(255, 255, 255, .5);
	border-width: 1px 0 0 0;
}

.wpcf7-form .formList tr,
.wpcf7-form .formList>.formList_item,
.wpcf7-form .formList>dl {
	border: solid rgba(255, 255, 255, .5);
	border-width: 0 0 1px 0;
}

.wpcf7 .formList_required,
.mw_wp_form .formList_required,
.formContents .formList_required,
.formList .formList_required {
	display: inline-block;
	font-size: 0.8125em;
	color: var(--color-main);
	background-color: rgba(255, 255, 255, 1);
	padding: .25em .5em;
	border-radius: 1.5em;
	margin-left: .5em;
}

.formList th,
.formList>.formList_item>.formList_heading,
.formList>dl>dt,
.editing dl dt,
.main dl dt {
	padding: 5px 10px;
	background-color: rgba(0, 0, 0, .3);
}

.-gray {

	.formList th,
	.formList>.formList_item>.formList_heading,
	.formList>dl>dt,
	.wpcf7 .editing dl dt,
	.wpcf7 .main dl dt {
		padding: 5px 10px;
		background-color: rgba(153, 153, 153, 0.2) !important;
	}
}

.wpcf7 input[type="text"],
.wpcf7 input[type="password"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="datetime"],
.wpcf7 input[type="datetime-local"],
.wpcf7 input[type="time"],
.wpcf7 input[type="date"],
.wpcf7 input[type="month"],
.wpcf7 input[type="week"],
.wpcf7 input[type="number"],
.wpcf7 input[type="range"],
.wpcf7 input[type="search"],
.wpcf7 input[type="file"],
.wpcf7 textarea,
.mw_wp_form input[type="text"],
.mw_wp_form input[type="password"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="url"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="datetime"],
.mw_wp_form input[type="datetime-local"],
.mw_wp_form input[type="time"],
.mw_wp_form input[type="date"],
.mw_wp_form input[type="month"],
.mw_wp_form input[type="week"],
.mw_wp_form input[type="number"],
.mw_wp_form input[type="range"],
.mw_wp_form input[type="search"],
.mw_wp_form input[type="file"],
.mw_wp_form textarea,
.formContents input[type="text"],
.formContents input[type="password"],
.formContents input[type="email"],
.formContents input[type="url"],
.formContents input[type="tel"],
.formContents input[type="datetime"],
.formContents input[type="datetime-local"],
.formContents input[type="time"],
.formContents input[type="date"],
.formContents input[type="month"],
.formContents input[type="week"],
.formContents input[type="number"],
.formContents input[type="range"],
.formContents input[type="search"],
.formContents input[type="file"],
.formContents textarea {
	padding: .5em;
	border-radius: 10px;
}

@media (min-width: 480px) {
	.wpcf7-form .formList dd .table--splg.table-simple.table-compact.whiteSpace-nowrap>* {
		align-items: center;
	}
}

/* loopアニメーション */
.loopSlide {
	display: flex;
	width: 100vw;
	overflow: hidden;
	z-index: 10;
}

.loopSlide.loop-kaaa {
	margin-top: -70px;
}

.loopSlide img {
	width: auto;
	height: 100%;
	max-width: none;
	border-radius: inherit;
	padding-right: 3vw;
}

.loopSlide img:first-child {
	animation: slide1 90s -45s linear infinite;
}

.loopSlide img:last-child {
	animation: slide2 90s linear infinite;
}

@keyframes slide1 {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes slide2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

@media (max-width: 1080px) {
	.loopSlide img {
		max-width: none;
		max-height: 300px;
	}

	.loopSlide {
		max-height: 300px;
	}
}

/* 背景slash */
/*.-bg-slash-all {
	clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}
.-bg-slash-top {
	clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 100%);
}
.-bg-slash-bottom {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 0 100%);
}*/
.-bg-slash-all {
	clip-path: polygon(0 var(--slash-size),
			100% 0,
			100% calc(100% - var(--slash-size)),
			0 100%);
}

.-bg-slash-top {
	clip-path: polygon(0 var(--slash-size),
			100% 0,
			100% 100%,
			0 100%);
}

#header,
.-bg-slash-bottom,
.pagetop-btn-wrapper {
	clip-path: polygon(0 0,
			100% 0,
			100% calc(100% - var(--slash-size)),
			0 100%);
}

header.clip-off {
	clip-path: none;
}

/*.-bg-slash-all,
.-bg-slash-top,
.-bg-slash-bottom {
	margin-bottom: -50px;
}*/
.-bg-slash-all,
.-bg-slash-top,
.-bg-slash-bottom {
	margin-bottom: var(--slash-section-margin);
}

p.columns-text {
	columns: 2 12em;
	column-rule: 1px dashed #cdcdcd;
	column-gap: 4em;
}

/*役員構成*/
.officer-dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1em 0;
	align-items: center;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	padding: 10px 30px;
	margin-bottom: 40px;
}

.-wht .officer-dl {
	border-color: #bbb;
}

@media (max-width:767px) {
	.officer-dl {
		padding: 0.75em;
		align-items: start;
	}
}

@media (max-width:767px) {
	.officer-dl .officer-dl__dt {
		font-size: .9em;
	}
}

.officer-dl .officer-dl__dt {
	width: 10em;
	margin-top: 0 !important;
	flex-shrink: 0;
	font-weight: 500;
	grid-column: 1;
	background-color: unset;
}

@media (max-width:767px) {
	.officer-dl .officer-dl__dt {
		width: 6.5em;
	}
}

.officer-dl .officer-dl__dd {
	align-items: center;
	width: 100%;
	line-height: 1.11;
	grid-column: 2;
}

@media (min-width:768px) {
	.officer-dl .officer-dl__dd {
		display: flex;
	}
}

.officer-dl .officer-dl__dd p:nth-of-type(1) {
	width: 6em;
}

.officer-dl .officer-dl__dd p:nth-of-type(2) {
	width: calc(100% - (6em));
}

@media (min-width:768px) {
	.officer-dl .officer-dl__dd p {
		margin-top: 0 !important;
	}
}

@media (max-width:767px) {
	.officer-dl {
		gap: 1.5em 0;
	}

	.officer-dl .officer-dl__dd {
		line-height: 1.11;
	}

	.officer-dl .officer-dl__dd p:nth-of-type(1) {
		margin-bottom: .5em;
	}

	.officer-dl .officer-dl__dd p:nth-of-type(2) {
		margin-top: 0;
		width: 100%;
	}
}

/*会員一覧*/
.co-info {
	border-bottom: 1px solid #bbb;
	padding-bottom: 20px;
	width: 100%;
}

.co-info .co-name a {
	text-decoration: none;
	color: inherit;
}

.co-info .addr {
	margin-top: 0.5em !important;
}

.co-info .contact-num {
	display: none;
}

.co-info .contact-num p {
	margin: 0;
	white-space: nowrap;
}

@media (min-width:768px) {
	.co-info {
		display: flex;
		align-items: center;
		gap: 1.5em;
		flex-wrap: nowrap;
	}

	.co-info .co-name {
		width: 30%;
	}

	.co-info .addr {
		width: 35%;
	}

	.co-info .contact-num {
		width: 25%;
	}

	.co-info .co-name,
	.co-info .addr,
	.co-info .contact-num,
	.co-info .contact-num p {
		margin-top: 0 !important;
	}

	.co-info .contact-num {
		display: flex;
		gap: 1em;
	}
}

/*.co-list .columns-item {
	background-color: var(--color-light-gray);
	padding: 1.5em;
	border-radius: 5px;
	margin-bottom: 30px;
}

.co-list .co-name {
	border-bottom: none !important;
}

.co-list .co-name a {
	text-decoration: none;
}

.co-list .co-name a:hover,
.member-list h5 a:hover,
.member-list .link-txt a:hover {
	color: var(--color-black) !important;
}

.co-list .co-name a::after {
	content: '>';
	font-weight: normal;
	margin-left: 0.5em;
}

.co-list .job-title {
	width: fit-content;
}

.co-list dl,
.member-list dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .25em 0;
	align-items: center;
	padding: 0;
}

@media (max-width:767px) {

	.co-list dl dt,
	.member-list dl dt {
		font-size: .9em;
	}
}

.co-list dl dt,
.member-list dl dt {
	width: 5em;
	margin-top: 0 !important;
	flex-shrink: 0;
	font-weight: 500;
	grid-column: 1;
	background-color: unset;
	padding: 0;
}

@media (max-width:1079px) {

	.co-list dl dt,
	.member-list dl dt {
		width: 6em;
		align-items: start;
	}
}

.co-list dl dd,
.member-list dl dd {
	align-items: center;
	width: 100%;
	line-height: 1.11;
	grid-column: 2;
	font-size: .9em;
}

@media (min-width:1080px) {

	.co-list dl dd,
	.member-list dl dd {
		display: flex;
	}
}

@media (max-width:767px) {

	.co-list dl dd,
	.member-list dl dd {
		display: flex;
	}
}

.co-list dl dd h6,
.member-list dl dd h6 {
	width: 6em;
}

.co-list dl dd p,
.member-list dl dd p {
	width: calc(100% - (6em));
}

@media (min-width:1080px) {

	.co-list dl dd p,
	.member-list dl dd p {
		margin-top: 0 !important;
	}
}

@media (max-width:1079px) {

	.co-list dl,
	.member-list dl {
		gap: 1.5em 0;
		align-items: start;
	}

	.co-list dl dd,
	.member-list dl dd {
		line-height: 1.11;
		padding: 0 !important;
	}

	.co-list dl dd p:nth-of-type(1) {
		margin-top: 0 !important;
		margin-bottom: .5em;
	}

	.member-list dl dd p:nth-of-type(1) {
		margin-top: 0 !important;
	}

	.co-list dl dd p:nth-of-type(2),
	.member-list dl dd p:nth-of-type(2) {
		margin-top: 0;
		width: 100%;
	}
}

.co-list address {
	border: none !important;
	padding: 0 !important;
	font-size: .9em;
}

.co-list address .contact-num,
.member-list address .contact-num {
	display: block;
	gap: 1em;
	margin-top: .5em !important;
}

@media (min-width:1080px) {

	.co-list address .contact-num,
	.member-list address .contact-num {
		display: flex;
	}
}

.co-list address .contact-num p,
.member-list address .contact-num p {
	margin-top: 0 !important;
}
*/
.label-wht {
	background-color: rgba(255, 255, 255, .25);
	padding: .25em 1em;
	border-radius: 1.5em;
	font-size: .8em;
	margin-right: .5em;
}

.notes {
	font-weight: normal;
	font-size: 1.35rem;
	margin-left: 1em;
	color: #666;
}


.TimeStamp {
	font-weight: normal;
	font-size: 1.5rem;
	margin-left: 1em;
}

/*定義リスト横並び*/
.frex-dl {
	display: grid;
	gap: 1em;
}

.frex-dl dt {
	width: 5em;
	background-color: unset !important;
	font-weight: bold;
	grid-column: 1;
	margin-top: 0 !important;
}

.frex-dl dd {
	width: 100%;
	grid-column: 2;
}

/* 会員一覧テーブル */
table.member-list {
	width: 100%;
}

table.member-list td {
	width: 33%;
	padding: 1.5em;
	vertical-align: baseline;
}

@media (max-width: 768px) {
	table.member-list td {
		display: block;
		width: 100%;
		margin-top: 0 !important;
	}

	table.member-list td:not(:last-child) {
		border-bottom: none !important;
	}
}

table.member-list {
	border: none !important;
}

table.member-list td {
	border: 1px solid #ccc;
}

table.member-list td .link-txt {
	margin-top: 0 !important;
	font-size: 0.75em;
	color: #666;
}

table.member-list td dl dt {
	background-color: none !important;
}

table.member-list td dl dd {
	padding: unset !important;
}

table.member-list td dl dd p,
table.member-list td address p {
	margin-top: .25em !important;
}

table.member-list td address {
	border: none !important;
	padding: unset !important;
	font-size: .9em;
}

/*パララックスエリア*/
.bg-parallax {
	height: clamp(120px, 33.33vw, 360px);
	background-size: cover;
	background-repeat: no-repeat;
	will-change: background-position;
	transition: background-position 0.1s linear;
}

/*@media (min-width:1080px) {
	.bg-parallax {
		height: 360px;
	}
}*/

.bg-1 {
	background-image: url('../custom/parallax-01.webp');
	background-position: center center;
}

.bg-2 {
	background-image: url('../custom/parallax-02.webp');
	background-position: center center;
	/* スタート位置中央に近づけておく */
}

.bg-3 {
	background-image: url('../custom/parallax-03.webp');
	background-position: center center;
}

.bg-4 {
	background-image: url('http://kaaa.selesite.com/wp-content/uploads/2025/05/sakurajima-night.webp');
	background-position: center bottom;
	/* スタート位置中央に近づけておく */
}

.bg-5 {
	background-image: url('http://kaaa.selesite.com/wp-content/uploads/2025/05/sakurajima-night.webp');
	background-position: center bottom;
	/* スタート位置中央に近づけておく */
}

/*NEWS*/
.page-list .page-list-item {
	border-color: rgba(255, 255, 255, .5);
}

/* apply ボタン */
.editing .apply a {
	background-color: var(--color-black);
}

.editing .apply a:hover {
	background-color: rgba(0, 0, 0, .5);
}


/* contact form */
.wpcf7 input[type="submit"]:not([name="submitBack"]),
.wpcf7 button[type="submit"]:not([name="submitBack"]),
.mw_wp_form input[type="submit"]:not([name="submitBack"]),
.mw_wp_form button[type="submit"]:not([name="submitBack"]),
.formContents input[type="submit"]:not([name="submitBack"]),
.formContents button[type="submit"]:not([name="submitBack"]) {
	background-color: var(--color-txt);
	font-weight: bold;
	color: var(--color-black);
}

.wpcf7 input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.wpcf7 button[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.mw_wp_form input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.mw_wp_form button[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.formContents input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.formContents button[type="submit"]:not([name="submitBack"]):not([disabled]):hover {
	background-color: rgba(255, 255, 255, .5);
}

.wpcf7 input[type="submit"]:not([name="submitBack"]),
.wpcf7 button[type="submit"]:not([name="submitBack"]),
.mw_wp_form input[type="submit"]:not([name="submitBack"]),
.mw_wp_form button[type="submit"]:not([name="submitBack"]),
.formContents input[type="submit"]:not([name="submitBack"]),
.formContents button[type="submit"]:not([name="submitBack"]),
.wpcf7 input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.wpcf7 button[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.mw_wp_form input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.mw_wp_form button[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.formContents input[type="submit"]:not([name="submitBack"]):not([disabled]):hover,
.formContents button[type="submit"]:not([name="submitBack"]):not([disabled]):hover {
	transition: 0.25s;
}

span.wpcf7-spinner {
	display: block;
	margin: auto;
}

/*リンク*/
.editing .apply a,
.editing .apply a:hover,
.main a,
.main a:hover {
	transition: 0.25s;
}

.main a:hover {
	color: var(--color-txt) !important;
	opacity: .5;
}

.main .-wht a:hover {
	color: var(--color-black) !important;
}

.more a:hover {
	color: var(--color-main) !important;
	background-color: var(--color-txt) !important;
}

.pagetop-btn:hover {
	background-color: #eee !important;
	opacity: .5;
}

/*アンカーリンクスクロール調整*/
.main [id],
.main .columns-item [id] {
	scroll-margin-top: 100px;
}

.main h2[id] {
	scroll-margin-top: 120px !important;
}

@media (min-width:1080px) {

	.main [id],
	.main .columns-item [id] {
		scroll-margin-top: 100px;
	}

	.main h2[id] {
		scroll-margin-top: 180px !important;
	}
}

/*box*/
.main .box.border {
	border: 1px solid #eee;
}

@media (min-width:1080px) {
	.main .flex {
		display: flex;
		gap: 1em;
	}

	.main .flex p:nth-of-type(2) {
		margin-top: 0;
	}
}

/*SPメニュー隠す*/
.footer-contact {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

@media (min-width:1080px) {
	.footer-contact {
		display: none;
	}

	.main .flex p:nth-of-type(2) {
		margin-top: 0;
	}
}

.footer-contact.riseup {
	opacity: 1;
	transform: translateY(0);
}

.riseup {
	animation: riseUpAnim 1s ease-out forwards;
}

@keyframes riseUpAnim {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* スクロールエリア */
.scroll-caption {
	display: none;
}

@media (max-width: 768px) {
	/*.columns-3.co-list.scroll-area {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 10px;
		padding-bottom: 1em;
		-webkit-overflow-scrolling: touch;
	}

	.scroll-area .columns-item {
		flex: auto;
		min-width: 310px;
		scroll-snap-align: start;
		margin-bottom: 0;
	}*/

	.indicator-wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 6px;
		margin-top: 1rem;
	}

	.scroll-indicators {
		display: flex;
		gap: 6px;
	}

	.scroll-indicators span {
		width: 6px;
		height: 6px;
		background: var(--color-black);
		border-radius: 50%;
		transition: background 0.3s;
	}

	.scroll-indicators span.active {
		background: var(--color-main);
	}

	.scroll-caption {
		display: block;
		font-size: 0.8em;
		color: #999;
		text-align: center;
		margin-top: .5em !important;
	}
}