@charset "utf-8";

/*
Theme Name: GWO Theme
Description: theme of GWO
Version: 1.0.0
*/


/* RESET */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

*:focus {outline:0;}

/* padding,border内側設定 */
*,::before,::after{box-sizing:border-box;}

/* HTML5 */
article, aside, figure, figcaption, footer, header, nav, section{display: block;}

/*------------------------------------------------------------
	Base
------------------------------------------------------------*/

.bogo-language-switcher {
	display: none !important;
}


:root {
	--sky: #69b8d6;
	--orange1: #e2bf00;
	--orange2: #e27900;
	--blue: #0050e8;
	--navy: #003d69;
	--red: #d20e00;
	--cream: #fff8eb;
	--yellow: #ff0;
	--black: #000;
	--grey: #8e8e8e;
	--white: #fff;
	--input: #c8c8c8;
	--placeholder: #aeaeae;
	--footer: #f4f4f4;
	--bg: #f8f8f8;
	--table: #e0e0e0;
	--border: #c3c3c3;
	--ja: 'Noto Sans JP', sans-serif;
	--enP: 'Poppins', sans-serif;
	--enR: 'Roboto', sans-serif;
	--headerHeight: 82px;
	--px: 60px;
	--py: 80px;
	--lh: calc(1em + 10px);
}

@media screen and (max-width: 1100px) {
	:root {
		--headerHeight: 54px;
	}
}
@media screen and (max-width: 800px) {
	:root {
		--px: 30px;
	}
}


html {margin:0px;padding:0px;height: 100%;width:100%;-webkit-text-size-adjust:none;}

a:link {color:inherit;text-decoration:none;}
a:hover {color:inherit;text-decoration:none;}
a:active {color:inherit;text-decoration:none;}
a:visited {color:inherit;text-decoration:none;}


/* clearfix */
.clearfix:after {visibility:hidden;display:block;font-size:0;content:"";clear:both;height:0;}
/* clearfix for ie7 */
.clearfix {display:inline-block;}
.clearfix {display:block;}

img {max-width: 100%;height: auto;vertical-align: bottom;}
iframe {
	max-width: 100%;
	vertical-align: bottom;
}

body {
	font-family: var(--ja);
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	background-color: var(--bgMain);
	color: var(--black);
	position: relative;
	height: 100%;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.pcb {display: block;}
.spb {display: none;}
.pcib {display: inline-block;}
.spib {display: none;}
.pcf {display: flex;}
.spf {display: none;}
.pcg {display: grid;}
.spg {display: none;}


.inview {
	opacity: 0;
	transition: opacity .5s .25s;
}
.inview.visible {
	opacity: 1;
}
.inviewelm > * {
	opacity: 0;
	transition: opacity .5s .25s;	
}
.inviewelm > *.visible {
	opacity: 1;
}


.bgNone .bg {
	display: none !important;
}
@media screen and (max-width: 800px) {
	body {
		min-width: 0;
	}
	
	.pcb {display: none;}
	.spb {display: block;}
	.pcib {display: none;}
	.spib {display: inline-block;}
	.pcf {display: none;}
	.spf {display: flex;}
	.pcg {display: none;}
	.spg {display: grid;}
}



/*------------------------------------------------------------
	MENU
------------------------------------------------------------*/
#header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	height: 0;
	z-index: 100;
}
#header .header-wrap {
	width: 100%;
	height: var(--headerHeight);
	position: relative;
	background-color: #fff;
	color: #000;
	transition: .3s;
}

#header .logos {
	position: absolute;
	top: 9px;
	left: 26px;
	z-index: 100;
	display: flex;
	gap: 20px;
	transition: 0.3s;
	line-height: 1;
}
#header .logos:hover {
	opacity: 0.6;
}
#header .logos .girrafe_work {
	padding-top: 11px;
}
#header .logos .girrafe_work img {
	width: 213px;
	height: auto;
}
#header .logos .maersk_training {
	
}
#header .logos .maersk_training img {
	width: 171px;
	height: auto;
}



.menu {
	width: 100%;
	height: 100%;
}
.menu .menu-wrap {
	display: flex;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
	height: 100%;
	padding: 0 30px;
	gap: 20px;
}
.menu .main-nav {
	display: flex;
	line-height: 1;
	font-size: 13px;
	font-weight: 700;
	height: auto;
	gap: 20px;
}
.menu .main-nav li {
	height: 100%;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
.menu .main-nav > li.sp {
	display: none;
}

.menu .main-nav > li a {
	line-height: 2;
	display: block;
	transition: .3s;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 8px;
	text-decoration-color: transparent;
}
.menu .main-nav > li a:hover {
	text-decoration-color: currentcolor;
}
.menu .btn-entry a {
	display: flex;
	width: 200px;
	height: 44px;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
	border: 1px solid currentcolor;
	border-radius: 6px;
	transition: 0.3s;
}
.menu .btn-entry a:hover {
	background: var(--black);
	color: var(--white);
}

.menu .bogo-language-switcher {
	display: flex;
	flex-direction: column;
	color: var(--black);
	font-size: 10px;
	line-height: 1;
	z-index: 100;
}
.menu .bogo-language-switcher .en-US {
	order: 1;
}
.menu .bogo-language-switcher .bogoflags {
	display: none;
}

.menu .bogo-language-switcher li {
	display: block;
	line-height: 1;
	text-align: center;
}
.menu .bogo-language-switcher li a {
	display: block;
	width: 40px;
	font-size: 10px;
	line-height: 2.2;
	font-weight: 400;
	color: var(--black);
	white-space: nowrap;
	transition: 0.3s;
}
.menu .bogo-language-switcher li a:hover {
	background-color: var(--border);
}
.menu .bogo-language-switcher li a.current {
	background-color: var(--black);
	color: var(--white);
	pointer-events: none;
}
.menu .copy-wrap,
.menu .logos-sp {
	display: none;
}

@media screen and (max-width: 1100px) {
	#header {
		position: fixed;
	}
	#header .header-wrap {
		width: 100%;
		height: var(--headerHeight);
		position: relative;
		background-color: #fff;
		color: #000;
		transition: .3s;
	}
	
	#header .logos {
		position: absolute;
		top: 9px;
		left: 14px;
		z-index: 100;
		display: flex;
		gap: 11px;
		transition: 0.3s;
		line-height: 1;
	}
	#header .logos:hover {
		opacity: 0.6;
	}
	#header .logos .girrafe_work {
		padding-top: 5px;
	}
	#header .logos .girrafe_work img {
		width: 117px;
		height: auto;
	}
	#header .logos .maersk_training img {
		width: 94px;
		height: auto;
	}
	.menu {
		position: fixed;
		top: 0;
		right: 0;
		width: 100vw;
		height: 100vh;
		background: #fff;
		z-index: 100;
		max-height: 100vh;
		overflow-y: scroll;
		opacity: 0;
		padding: 72px var(--px) 30px;
		display: block;
		transition: transform .4s ease-in 0s, opacity .15s ease-in 0s;
		transform: translateX(100%);
	}
	.opened .menu {
		opacity: 1;
		transform: translateX(0);
		transition: transform .4s ease-out .1s, opacity .2s ease-out .3s;
	}
	.menu .logos-sp {
		max-width: 315px;
		width: 100%;
		margin: auto;
		display: flex;
		flex-direction: column;
		gap: 11px;
		margin-bottom: 45px;
	}
	.menu .logos-sp .girrafe_work img {
		width: 257px;
	}
	.menu .logos-sp .maersk_training img {
		width: 233px;
	}
	.menu .menu-wrap {
		display: block;
		width: 100%;
		padding: 0;
		height: auto;
	}
	.menu .main-nav {
		width: 200px;
		display: grid;
		gap: 16px;
		height: auto;
		margin: auto;
		font-size: 16px;
		line-height: calc(24 / 16);
	}
	.menu .main-nav > li {
		display: block;
	}
	.menu .main-nav > li > a {
		line-height: 1;
		display: inline-block;
		width: 100%;
		border-bottom: none;
	}
	.menu .main-nav > li > a:hover {
		border: none;
	}
	.menu .btn-entry {
		margin-top: 20px;
	}
	.menu .btn-entry a {
		margin: auto;
	}
	.menu .bogo-language-switcher {
		display: flex;
		flex-direction: row;
		gap: 10px;
		width: 200px;
		margin: 24px auto 0;
	}
	
	.menu .bogo-language-switcher li {
		display: block;
		line-height: 1;
		text-align: center;
	}
	.menu .bogo-language-switcher li a {
		display: block;
		width: 40px;
		font-size: 10px;
		line-height: 2.2;
		font-weight: 400;
		color: var(--black);
		transition: 0.3s;
	}
	.menu .bogo-language-switcher li a:hover {
		background-color: var(--border);
	}
	.menu .bogo-language-switcher li a.current {
		background-color: var(--black);
		color: var(--white);
		pointer-events: none;
	}
	.menu .copy-wrap {
		display: flex;
		margin: 50px auto 0;
		flex-direction: column;
		gap: 6px;
		width: 200px;
		white-space: nowrap;
	}
	.menu .copy-wrap h2 {
		font-family: var(--enP);
		font-weight: 600;
		font-size: 11px;
		letter-spacing: -0.02em;
		line-height: calc(24 / 11);
	}
	.menu .copy-wrap p {
		font-size: 10px;
		line-height: 1.4;
	}
	.menu .copy-wrap p.copy {
		transform: scale(0.9);
		transform-origin: left top;
	}

}


/*------------------------------------------------------------
	MENU - BUTTON
------------------------------------------------------------*/

.menu-trigger {
	display: none;
}
.btn-entry-sp {
	display: none;
}
@media screen and (max-width: 1100px) {
	.btn-entry-sp {
		display: flex;
		gap: 2px;
		width: 54px;
		height: 33px;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		font-size: 10px;
		line-height: calc(13 / 10);
		position: absolute;
		right: 55px;
		top: 10px;
		border: 1px solid var(--black);
		border-radius: 4px;
	}
	.btn-entry-sp span {
		white-space: nowrap;
		display: block;
		transform: scale(0.9);
	}
	.btn-entry-sp::after {
		content: '';
		display: block;
		width: 44px;
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		background: var(--grey);
		transform: translate(-50%,-50%);
	}
	.menu-close {
		width: 46px;
		height: 46px;
		position: fixed;
		top: 4px;
		right: 4px;
		z-index: 2001;
		opacity: 0;
		visibility: hidden;
	}
	.opened .menu-close {
		visibility: visible;
		opacity: 1;
	}
	#header .overlay {
		width: 100vw;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		background-color: rgba(0,0,0,.3);
		z-index: 99;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
	}
	.opened #header .overlay {
		opacity: 1;
		visibility: visible;
	}
	.menu-trigger {
		width: 46px;
		height: 46px;
		position: fixed;
		top: 4px;
		right: 4px;
		z-index: 2000;
		display: block;
	}
	.menu-trigger span {
		display: block;
		position: absolute;
		left: 10px;
		width: 26px;
		height: 1px;
		opacity: 1;
		background-color: #363636;
		backface-visibility: hidden;
		transition: .3s;
	}
	.opened .menu-trigger span {
		background-color: #363636;
	}
	.menu-trigger span:nth-of-type(1),
	.menu-trigger span:nth-of-type(3) {
		transition: background-color .2s ease 0s, top .2s ease .63s, transform .2s ease 0s;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 15px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 22px;
		transition: background-color .2s ease 0s, opacity .2s ease 0s;
	}
	.menu-trigger span:nth-of-type(3) {
		top: 29px;
	}
	.opened .menu-trigger span:nth-of-type(1),
	.opened .menu-trigger span:nth-of-type(3) {
		transition: background-color .2s ease 0s, top .1s ease 0s, transform .1s ease .15s;
	}
	.opened .menu-trigger span:nth-of-type(1) {
		top: 22px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.opened .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	.opened .menu-trigger span:nth-of-type(3) {
		top: 22px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}


/*------------------------------------------------------------
	Footer
------------------------------------------------------------*/
#footer {
	background: var(--footer);
	position: relative;
	z-index: 2;
	padding: var(--px);
}
#footer .footer-wrap {
	width: 100%;
	max-width: 1026px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}
#footer .logos {
	display: flex;
	gap: 16px;
	transition: 0.3s;
}
#footer .logos:hover {
	opacity: 0.6;
}
#footer .logos .girrafe_work {
	padding-top: 8px;
}
#footer .logos .girrafe_work img {
	width: 161px;
}
#footer .logos .maersk_training img {
	width: 129px;
}
#footer .right h2 {
	font-family: var(--enP);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: -0.02em;
}
#footer .right p.address {
	font-size: 11px;
	line-height: 1;
	margin-top: 8px;
}
#footer .right p.copy {
	font-size: 10px;
	line-height: 1.1;
	margin-top: 9px;
}


@media screen and (max-width: 800px) {
	#footer {
		padding: 50px var(--px);
	}
	#footer .footer-wrap {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	#footer .logos {
		line-height: 1;
	}
	#footer .logos .girrafe_work {
		padding-top: 7px;
	}
	#footer .logos .girrafe_work img {
		width: 117px;
	}
	#footer .logos .maersk_training img {
		width: 94px;
	}
	#footer .right h2 {
		font-size: 12px;
	}
	#footer .right p.address {
		font-size: 11px;
		line-height: calc(16 / 11);
	}
}



/*------------------------------------------------------------
	Top
------------------------------------------------------------*/


#mv {
	width: 100%;
	height: 100%;
}
#mv .section-wrap {
	position: relative;
	height: 100%;
}
#mv .section-wrap h1 {
	font-size: 56px;
	line-height: 80px;
	letter-spacing: -0.03em;
	font-weight: 700;
	color: var(--white);
	text-align: center;
	position: absolute;
	white-space: nowrap;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	text-decoration: underline;
	text-decoration-thickness: 8px;
	text-underline-offset: 10px;
	text-decoration-color: currentcolor;
	padding-bottom: 60px;
}
#mv .section-wrap strong {
	font-family: var(--enP);
	font-weight: 600;
	font-size: 61px;
}
#mv .section-wrap .top-news {
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translate(-50%,0);
	background: #fff;
	z-index: 1;
	width: calc(100% - 200px);
	max-width: 850px;
	padding: 15px 40px;
}
#mv .section-wrap .top-news .inner {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#mv .section-wrap .top-news h2 {
	font-family: var(--enP);
	font-weight: 600;
	font-size: 18px;
	line-height: 1;
	width: 50px;
}

#mv .section-wrap .top-news .news-item a {
	display: flex;
	align-items: center;
	gap: 20px;
}
#mv .section-wrap .top-news .news-item .date {
	font-size: 14px;
	font-family: var(--enR);
	font-weight: 600;
	line-height: calc(16 / 14);
}
#mv .section-wrap .top-news .news-item h3 {
	font-size: 14px;
	line-height: 1;
}

.scroll {
	display: block;
	position: absolute;
	right: 65px;
	bottom: 0;
	width: 1px;
	height: 120px;
	background-color: var(--black);
	opacity: 1;
	z-index: 50;
}
.scroll::before {
	content: 'Scroll';
	white-space: nowrap;
	font-family: var(--enR);
	font-size: 11px;
	font-weight: 700;
	color: var(--white);
	position: absolute;
	bottom: 100%;
	left: 4px;
	transform: rotate(90deg);
	transform-origin: left bottom;
}
.scroll::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 1px;
	background-color: var(--white);
	animation-name: line;
	animation-duration: 4s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}
@keyframes line {
	0% {
		bottom: 120px;
		height: 0;
	}
	20% {
		bottom: 0;
		height: 120px;
	}
	40% {
		bottom: 0;
		height: 0;
	}
	100% {
		bottom: 0;
		height: 0;
	}
}

#mv .mv-wrap {
	width: 100%;
	height: 100%;
	position: relative;
	margin-bottom: 0;
}

#mv .slide-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin-bottom: 0;
	padding-top: var(--headerHeight);
	opacity: 0;
	transition: opacity 1s 1s;
}
.hiddenmv #mv .slide-wrap img {
	opacity: 0;
}
#mv .slide-wrap.slick-initialized {
	opacity: 1;
}
#mv .slide-wrap div {
	line-height: 1;
	vertical-align: top;
	height: 100%;
}
#mv .slick-dots {
	align-items: center;
	display: inline-flex;
	flex-direction: column;
	font-size: 8px;
	width: 8px;
	height: auto;
	right: 42px;
	bottom: 50%;
	line-height: 1;
	padding: 0;
	justify-content: center;
	transform: translate(0,50%);
}

#mv .slick-dots li {
	height: 1em;
	line-height: 1;
	margin: 8px 0 0 0;
	width: 1em;
}
	
#mv .slick-dots li button {
	background-color: var(--input);
	border: none;
	border-radius: 0;
	font-size: 8px;
	height: 1em;
	padding: 0;
	transition: .3s;
	width: 1em;
	opacity: 1;
}
#mv .slick-dots li button:before {
	display: none;
}
#mv .slick-dots li button:hover,
#mv .slick-dots li.slick-active button {
	background-color: var(--black);
	opacity: 1;
}

#mv .slide-list {
	position: relative;
}
#mv .slide-list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#mv .slide-list img.pcib {
	display: inline-block;
}
#mv .slide-list img.spib {
	display: none;
}
#mv .slide-list a {
	position: absolute;
	bottom: 50px;
	right: 80px;
	height: auto;
	color: var(--white);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	z-index: 1;
}
#mv .slide-list a h2 {
	display: inline-flex;
	height: 35px;
	align-items: center;
	padding: 0 15px;
	border: 1px solid rgba(255,255,255,.8);
	border-radius: 50px;
	line-height: 1;
}
#mv .slide-list a h3 {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.6;
}


#gwo .section-gwo {
	padding: 150px var(--px);
	position: relative;
	z-index: 2;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
#gwo .section-gwo .box {
	max-width: 1026px;
	width: 100%;
	background: var(--white);
	padding: 58px;
	display: grid;
	grid-template-columns: 305fr 558fr;
	gap: 47px;
	border-radius: 20px;
}
#gwo .section-gwo .box .txt p {
	font-size: 16px;
	font-weight: 500;
	line-height: calc(26 / 16);
}
#gwo .section-gwo .box .txt p + p {
	margin-top: calc(26em / 16);
}
@media screen and (max-width: 800px) {
	#mv .section-wrap {
		height: 100svh;
	}
	#mv .slide-wrap {
		height: 100svh;
	}
	#mv .section-wrap h1 {
		font-size: 30px;
		line-height: calc(44 / 30);
		text-decoration: underline;
		text-decoration-thickness: 4px;
		text-underline-offset: 6px;
		text-decoration-color: currentcolor;
		padding-bottom: 100px;
	}
	#mv .section-wrap strong {
		font-size: 33px;
	}
	#mv .section-wrap .top-news {
		width: 100%;
		max-width: 100%;
		bottom: 0;
		padding: 15px var(--px);
	}
	#mv .section-wrap .top-news .inner {
		flex-direction: column;
		white-space: normal;
		align-items: flex-start;
		gap: 8px;
	}
	#mv .section-wrap .top-news h2 {
		line-height: calc(25 / 18);
	}
	#mv .section-wrap .top-news .news-item a {
		gap: 15px;
		align-items: flex-start;
	}
	#mv .section-wrap .top-news .news-item .date {
		line-height: calc(20 / 14);
		padding-top: 1px;
	}
	#mv .section-wrap .top-news .news-item h3 {
		font-size: 12px;
		line-height: calc(20 / 12);
	}
	.scroll {
		display: none;
	}
	#gwo .section-gwo {
		padding: 100px var(--px);
		min-height: 0;
	}
	#gwo .section-gwo .box {
		padding: 50px 30px 40px;
		grid-template-columns: 1fr;
		gap: 40px;
	}
	#gwo .section-gwo .box .logo {
		text-align: center;
	}
	#gwo .section-gwo .box .logo img {
		width: 212px;
	}
	#mv .slick-dots {
		width: 100%;
		bottom: 100px;
		height: 8px;
		flex-direction: row;
		justify-content: flex-end;
		right: 10px;
		transform: translateY(0);
		gap: 8px;
	}
	#mv .slide-list img.pcib {
		display: none;
	}
	#mv .slide-list img.spib {
		display: inline-block;
	}

}





/*------------------------------------------------------------
	Common
------------------------------------------------------------*/
#main {
	position: relative;
	z-index: 2;
	background: var(--white);
}
.section-title {
	padding: 115px 0 0 var(--px);
	margin-bottom: 75px;
	max-width: 50vw;
	display: flex;
	position: relative;
	justify-content: flex-end;
}
.section-title::after {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: var(--yellow);
	position: absolute;
	bottom: 4px;
	left: 0;
}
.section-title h2 {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: calc(1026px / 2);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4;
}
.section-title h2 span {
	display: inline-block;
	background: #fff;
	box-shadow: 0px 0px 0px 12px var(--white);
}
.btn a {
	display: inline-flex;
	gap: 10px;
	height: 38px;
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	border-radius: 4px;
	border: 1px solid var(--black);
	padding: 0 18px;
	align-items: center;
	transition: 0.3s;
}
.btn a:hover {
	background: var(--black);
	color: var(--white);
}
.btn a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 6px;
	border-color: transparent transparent transparent currentcolor;
}
.col2 {
	width: 100%;
	height: 480px;
	padding: 0 var(--px);
	background: var(--bg);
	position: relative;
	display: flex;
	justify-content: center;
}
.col2 + .col2 {
	margin-top: 80px;
}
.col2 .colbg {
	position: absolute;
	height: 100%;
	width: 62.5%;
	object-fit: cover;
	top: 0;
	right: 0;
}
.col2.reverse .colbg {
	right: auto;
	left: 0;
}
.col2 .inner {
	display: flex;
	width: 100%;
	max-width: 1026px;
	height: 100%;
	position: relative;
	z-index: 1;
	align-items: flex-end;
}
.col2.reverse .inner {
	justify-content: flex-end;
}
.col2 .inner .box {
	width: 50%;
	padding: 40px;
	background: var(--white);
}
.col2 .inner .box h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: calc(32 / 24);
	margin-bottom: 10px;
}
.col2 .inner .box p {
	font-size: 16px;
	line-height: calc(26 / 16);
}
.col2 .inner .box .btn {
	margin-top: 25px;
}
@media screen and (max-width: 800px) {
	.section-title {
		padding-top: 95px;
		max-width: 100vw;
		margin-bottom: 56px;
	}
	.section-title h2 {
		max-width: 100%;
	}
	.col2 {
		width: 100%;
		height: auto;
		padding: 0;
		background: transparent;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.col2::after {
		content: '';
		display: block;
		width: 100%;
		height: 60vw;
		top: 60vw;
		left: 0;
		background: var(--bg);
		position: absolute;
	}
	.col2 + .col2 {
		margin-top: 60px;
	}
	.col2 .colbg {
		position: static;
		height: auto;
		width: 100%;
		object-fit: cover;
	}
	.col2.reverse .colbg {
		right: auto;
		left: 0;
	}
	.col2 .inner {
		display: flex;
		width: 100%;
		height: auto;
		padding-left: var(--px);
		order: 1;
		position: relative;
		z-index: 1;
		margin-top: -30px;
	}
	.col2 .inner .box {
		width: 100%;
		background: var(--white);
		padding: var(--px);
	}
	.col2 .inner .box h3 {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.4;
		margin-bottom: 10px;
	}
	.col2 .inner .box h3 br {
		display: none;
	}
	.col2 .inner .box p {
		font-size: 16px;
		line-height: calc(26 / 16);
	}
	.col2 .inner .box .btn {
		margin-top: 25px;
	}
}

/*------------------------------------------------------------
	Top
------------------------------------------------------------*/
.col2-logo {
	padding: 0 var(--px) 160px;
}
.col2-logo .inner {
	max-width: 910px;
	width: 100%;
	margin: auto;
	display: grid;
	grid-template-columns: 305fr 558fr;
	gap: 47px;
}
.col2-logo .inner .txt p {
	font-size: 14px;
	line-height: calc(24 / 14);
}
.col2-logo .inner .txt p + p {
	margin-top: calc(24em / 14);
}
.col2-logo .inner .txt p a {
	color: var(--navy);
}
.col2-logo .inner .txt p a:hover {
	text-decoration: underline;
}
.bottomNav {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.bottomNav .txt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 20px;
	line-height: 1;
	font-weight: 700;
	background: #ececec;
	transition: 0.3s;
}
.bottomNav .txt:hover {
	background: var(--black);
	color: var(--white);
}
.bottomNav .txt::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 10px;
	border-color: transparent transparent transparent currentcolor;
}
@media screen and (max-width: 800px) {
	.col2-logo {
		padding-bottom: 100px;
	}
	.col2-logo .inner {
		grid-template-columns: repeat(1,1fr);
		gap: 40px;
	}
	.col2-logo .inner .logo {
		text-align: center;
	}
	.col2-logo .inner .logo img {
		width: 212px;
	}
	.bottomNav {
		grid-template-columns: 1fr;
	}
	.bottomNav .txt {
		height: 140px;
	}
}


/*------------------------------------------------------------
	Page - common
------------------------------------------------------------*/
#page .page-wrap {
	padding: 142px var(--px) 160px;
}
#page .page-title h1 {
	position: relative;
	font-size: 28px;
	line-height: calc(41 / 28);
	padding-top: 18px;
	font-weight: 700;
	width: 100%;
	max-width: 1026px;
	margin: auto;
	margin-bottom: 75px;
}
#page .page-title h1::before {
	content: '';
	display: block;
	width: 50vw;
	height: 5px;
	background: var(--yellow);
	position: absolute;
	top: 0;
	right: 50%;
}
#page .page-content {
	max-width: 1026px;
	width: 100%;
	margin: auto;
	font-size: 14px;
	line-height: calc(24 / 14);
}
.page-content > .wp-block-heading,
#page .page-title h2 {
	position: relative;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	width: 100%;
	max-width: 1026px;
	margin: auto;
	margin-top: 115px;
	margin-bottom: 75px;
}
.page-content > .wp-block-heading::before,
#page .page-title h2::before {
	content: '';
	display: block;
	width: 50vw;
	height: 3px;
	background: var(--yellow);
	position: absolute;
	bottom: 4px;
	right: 50%;
}
.page-content > .wp-block-heading strong,
#page .page-title h2 span {
	display: inline-block;
	background: #fff;
	box-shadow: 0px 0px 0px 12px var(--white);
	position: relative;
	z-index: 1;
}
.page-content .wp-block-table td,
.page-content .wp-block-table th {
	padding: 0;
	border: none;
}
@media screen and (max-width: 800px) {
	#page .page-wrap {
		padding: 94px var(--px) 100px;
	}
	#page .page-title h1 {
		font-size: 24px;
		line-height: calc(31 / 24);
		margin-bottom: 55px;
	}
	.page-content > .wp-block-heading,
	#page .page-title h2 {
		margin-top: 95px;
		margin-bottom: 55px;
	}
	.page-content > .wp-block-heading::before,
	#page .page-title h2::before {
		width: 100vw;
		right: 50%;
		margin-right: -50vw;
	}
}


/*------------------------------------------------------------
	Page - About
------------------------------------------------------------*/
.page-about .about-center .txt {
	position: relative;
	z-index: 1;
	max-width: 850px;
	width: 83%;
	margin: auto;
	margin-top: -40px;
	background: var(--white);
	padding: 40px;
}
.page-about .about-center .txt p {
	font-size: 16px;
	line-height: calc(26 / 16);
	font-weight: 500;
}
.page-about .about-center .txt p + p {
	margin-top: calc(26em / 16);
}
.page-about .col2slide {
	width: 100vw;
	height: 480px;
	padding: 0 var(--px);
	background: var(--bg);
	position: relative;
	left: 50%;
	transform: translate(-50%,0);
	display: flex;
	justify-content: center;
}
.page-about .col2slide .inner {
	display: flex;
	width: 100%;
	max-width: 1026px;
	height: 100%;
	position: relative;
	z-index: 1;
	align-items: flex-end;
	justify-content: flex-end;
}
.page-about .col2slide .inner .box {
	width: 423px;
	padding: 40px;
	background: var(--white);
}
.page-about .col2slide .inner .box p {
	font-size: 16px;
	line-height: calc(26 / 16);
}
.page-about .col2slide .inner .box * + p {
	margin-top: 26px;
}
.page-about .col2slide .slide {
	position: absolute;
	height: 100%;
	width: 62.5%;
	object-fit: cover;
	top: 0;
	left: 0;
	line-height: 1;
	margin-bottom: 40px;
}
.page-about .col2slide .slide div {
	height: 100%;
	vertical-align: top;
}
.page-about .col2slide .slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-about .col2slide + .page-title {
	padding-top: 40px;
}

.page-about .partnership {
	background: var(--bg);
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translate(-50%,0);
	padding: 80px var(--px);
}
.page-about .partnership .inner {
	max-width: 1026px;
	width: 100%;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 80px 30px;
	justify-content: center;
}

.page-about .partnership .gwo {
	max-width: 850px;
	width: 83%;
	padding: 42px 152px;
	border: 1px solid #d6d6d6;
	background: var(--white);
}
.page-about .partnership .gwo img {
	width: 100%;
}
.page-about .partnership .girrafe_work,
.page-about .partnership .maersk_training {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: calc((100% - 30px) / 2);
	border: 1px solid #d6d6d6;
	background: var(--white);
	padding: 35px 77px 40px;
	position: relative;
}
.page-about .partnership .girrafe_work a,
.page-about .partnership .maersk_training a {
	display: block;
	margin: 36px 0 41px;
	transition: 0.3s;
}
.page-about .partnership .girrafe_work a:hover,
.page-about .partnership .maersk_training a:hover {
	opacity: 0.6;
}
.page-about .partnership .girrafe_work img {
	width: 264px;
}
.page-about .partnership .maersk_training img {
	width: 224px;
}
.page-about .partnership h3 {
	font-size: 20px;
	line-height: 1.4;
	padding-bottom: 13px;
	position: relative;
}
.page-about .partnership h3::after {
	content: '';
	width: 40px;
	height: 1px;
	background: currentcolor;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -20px;
}
.page-about .partnership p {
	font-size: 14px;
	line-height: 1;
}
.page-about .partnership .girrafe_work::after {
	content: 'パートナーシップ契約';
	position: absolute;
	top: 50%;
	right: -15px;
	background: var(--white);
	font-size: 16px;
	font-weight: 700;
	line-height: calc(24 / 16);
	display: flex;
	width: 184px;
	height: 40px;
	border-top: 1px solid var(--grey);
	border-bottom: 1px solid var(--grey);
	align-items: center;
	justify-content: center;
	transform: translate(50%,-50%);
	z-index: 1;
}
.page-about .partnership .girrafe_work::before,
.page-about .partnership .maersk_training::before {
	content: '';
	display: block;
	position: absolute;
	background: var(--grey);
	height: 120px;
	width: 1px;
	left: 50%;
	top: -40px;
	transform: translate(0,-50%);
	z-index: 1;
}
.page-about .company-list {
	max-width: 1026px;
	margin: auto;
	width: 100%;
	padding: 80px 0 40px;
}
.page-about .company-list ul {
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.page-about .company-list ul li {
	display: grid;
	gap: 15px;
	grid-template-columns: 513fr 498fr;
}
.page-about .company-list ul li h3 {
	padding-top: 40px;
	padding-bottom: 15px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
.page-about .company-list ul li h3::before {
	content: '';
	display: block;
	width: 182px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--grey);
}
.page-about .company-list ul li p {
	font-size: 14px;
	line-height: calc(24 / 14);
}
.page-about .center-info {
	max-width: 1026px;
	width: 100%;
	margin: auto;
	font-size: 14px;
	line-height: calc(24 / 14);
}
.page-about .center-info th {
	width: 88px;
	text-align: left;
}
.page-about .center-info td span {
	display: inline-block;
	white-space: nowrap;
	margin-right: 15px;
}
.page-about .center-info tbody {
	display: grid;
	gap: 15px;
}
.page-about .center-info .btn {
	margin-top: 40px;
}
.slide .slick-next,
.slide .slick-prev {
	display: none;
	opacity: 0;
	visibility: hidden;
}
.slide .slick-dots {
	bottom: -28px;
	display: flex;
	gap: 8px;
	justify-content: center;
}
.slide .slick-dots li {
	margin: 0;
	width: 8px;
	height: 8px;
}
.slide .slick-dots li button {
	width: 8px;
	height: 8px;
	padding: 0;
	background: var(--input);
}
.slide .slick-dots li.slick-active button {
	background: var(--black);
}
.slide .slick-dots li button:before {
	display: none;
}
@media screen and (max-width: 800px) {
	.page-about .about-center {
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translate(-50%,0);
	}
	.page-about .about-center .txt {
		width: calc(100% - var(--px) * 2);
		padding: var(--px);
		margin-top: -20px;
	}
	.page-about .about-center .txt p {
		font-size: 14px;
		line-height: calc(24 / 14);
	}
	.page-about .col2slide {
		height: auto;
		padding: 0;
		background: none;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	.page-about .col2slide .inner {
		order: 1;
		width: 100%;
		height: auto;
		padding-left: var(--px);
		display: block;
	}
	.page-about .col2slide .inner .box {
		width: 100%;
		padding: var(--px);
		background: var(--white);
	}
	.page-about .col2slide .slide {
		position: relative;
		height: auto;
		width: 100%;
		object-fit: cover;
		top: 0;
		left: 0;
		line-height: 1;
		margin-bottom: 60px;
	}
	.page-about .col2slide .slide::after {
		content: '';
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 100%;
		left: 0;
		background: var(--bg);
	}
	.page-about .col2slide .slide div {
		height: 100%;
		vertical-align: top;
	}
	.page-about .col2slide .slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.page-about .col2slide + .page-title {
		padding-top: 0;
	}
	.page-about .partnership {
		padding: 60px var(--px);
	}
	.page-about .partnership .gwo {
		width: 100%;
		position: relative;
		z-index: 2;
		padding: 38px 37px;
	}
	.page-about .partnership .girrafe_work,
	.page-about .partnership .maersk_training {
		width: calc(100% - 60px);
		padding: 25px 30px 30px;
	}
	.page-about .partnership .girrafe_work a,
	.page-about .partnership .maersk_training a {
		margin: 26px 0 31px;
	}
	.page-about .partnership .girrafe_work::before {
		left: 30px;
		top: -31px;
		height: 50px;
		transform: none;
	}
	.page-about .partnership .maersk_training::before {
		right: 30px;
		left: auto;
		top: auto;
		bottom: 100%;
		margin-bottom: -20px;
		height: calc(100% + 90px);
		transform: none;		
	}
	.page-about .partnership .girrafe_work {
		margin-right: 60px;
	}
	.page-about .partnership .maersk_training {
		margin-left: 60px;
	}
	.page-about .partnership .inner {
		gap: 30px;
	}
	.page-about .partnership h3 {
		padding-bottom: 11px;
		font-size: 14px;
		line-height: calc(20 / 14);
	}
	.page-about .partnership h3::after {
		width: 30px;
		margin-left: -15px;
	}
	.page-about .partnership p {
		font-size: 10px;
	}
	.page-about .partnership .girrafe_work img {
		width: 194px;
	}
	.page-about .partnership .maersk_training img {
		width: 165px;
	}
	.page-about .partnership .girrafe_work::after {
		white-space: pre;
		content: 'パートナー\Aシップ\A契約';
		top: 100%;
		left: 50%;
		margin-left: 30px;
		transform: translate(-50%,-11px);
		width: 66px;
		height: 52px;
		font-size: 10px;
		line-height: 1.4;
		text-align: center;
		padding: 7px;
		border: none;
		border-left: 1px solid var(--grey);
		border-right: 1px solid var(--grey);
	}
	.page-about .company-list {
		padding: 60px 0 0;
		gap: 40px;
	}
	.page-about .company-list ul li {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.page-about .company-list ul li h3 {
		padding: 25px 0 10px;
		font-size: 20px;
		line-height: 1.5;
	}
	.page-about .center-info th {
		width: 84px;
	}
	.slide .slick-dots {
		justify-content: flex-start;
		padding: 0 var(--px);
		z-index: 1;
	}
}


/*------------------------------------------------------------
	Page - Access
------------------------------------------------------------*/
.page-access .map {
	width: 100%;
	padding-top: calc(100% * 480 / 1026);
	position: relative;
	margin-bottom: 40px;
}
.page-access .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.page-access .page-content table td:first-child {
	width: 88px;
}


@media screen and (max-width: 800px) {
	.page-access .map {
		width: 100vw;
		padding-top: 100vw;
		position: relative;
		left: 50%;
		transform: translate(-50%,0);
	}
	.page-access .page-content table td:first-child {
		width: 84px;
	}

}


/*------------------------------------------------------------
	Archive - news
------------------------------------------------------------*/
.news-list {
	max-width: 850px;
	margin: auto;
	width: 100%;
}
.news-list li {
	border-bottom: 1px solid var(--table);	
}
.news-list li:not(:first-child) a {
	padding-top: 20px;
}
.news-list li a {
	display: grid;
	grid-template-columns: 176px auto;
	padding-bottom: 15px;
}
.news-list li a:hover {
	text-decoration: underline;
}
.news-list li a .news-date {
	font-family: var(--enR);
	font-weight: 700;
	font-size: 16px;
	line-height: calc(24 / 16);
}
.news-list li a .news-title {
	font-size: 16px;
	line-height: calc(24 / 16);
	font-weight: 700;
}
.pagenavi-wrap {
	margin-top: 80px;
}
.wp-pagenavi {
	display: flex;
	gap: 20px;
	justify-content: center;
	font-family: var(--enR);
	font-weight: 700;
	font-size: 16px;
	line-height: calc(24 / 16);
	color: var(--grey);
}
.wp-pagenavi a {
	transition: .3s;
}
.wp-pagenavi .current,
.wp-pagenavi a:hover {
	color: var(--black);
}
@media screen and (max-width: 800px) {
	.news-list li a {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.news-list li a .news-date {
		line-height: calc(19 / 16);
	}
	.pagenavi-wrap {
		margin-top: 60px;
	}
}


/*------------------------------------------------------------
	Archive - course
------------------------------------------------------------*/
.page-course .btn-target {
	display: flex;
	justify-content: center;
	gap: 60px;
	position: relative;
	z-index: 2;
}
.page-course .btn-target a {
	display: flex;
	justify-content: center;
	white-space: nowrap;
	align-items: center;
	height: 38px;
	padding: 0 18px;
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	border-radius: 4px;
	border: 1px solid var(--black);
	transition: 0.3s;
	gap: 10px;
}
.page-course .btn-target a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 3px 0 3px;
	border-color: currentcolor transparent transparent transparent;
}
.page-course .btn-target a:hover {
	color: var(--white);
	background: var(--black);
}
.archive .page-course .title-wrap {
	margin-bottom: 80px;
}
.archive .page-course .title-wrap .description {
	font-size: 16px;
	line-height: var(--lh);
	margin-top: 30px;
}
.page-course .h-target {
	padding-top: calc(75px + var(--headerHeight));
	margin-top: calc(-1 * var(--headerHeight));
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	display: flex;
	align-items: flex-end;
	gap: 12px;
}
.page-course .h-target::after {
	flex: 1 1 0;
	height: 1px;
	content: '';
	display: block;
	background: var(--grey);
	margin-bottom: 3px;
}
.page-course * + .title-wrap > .h-target {
	padding-top: 115px;
	margin-top: 0;
}
.page-course .course-list {
	display: flex;
	flex-direction: column;
	gap: 80px;
}
.page-course .course-list > li {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
}
.page-course .h-course_title {
	font-size: 24px;
	line-height: calc(32 / 24);
	font-weight: 700;
	width: 100%;
}
.page-course .h-course_title .en {
	display: block;
	font-family: var(--enR);
	font-weight: 300;
	font-size: 18px;
	line-height: calc(26 / 18);
}
.page-course .course-list .thumb {
	flex: 1 1 0;
}
.page-course .course-list .txt {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-size: 16px;
	line-height: var(--lh);
}
.page-course .course-list .note {
	font-size: 13px;
	line-height: calc(20 / 13);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.page-course .course-list .note li {
	display: flex;
}
.page-course .course-list ul.note li::before {
	content: '※';
}
.page-course .course-list ol.note li span {
	display: inline-block;
	min-width: 26px;
	padding-right: 4px;
}
.page-course .h-curriculum {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 10px;
}
.page-course .h-curriculum::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--orange2);
}
.page-course .ul-curriculum li {
	font-size: 13px;
	font-weight: 700;
	line-height: calc(20 / 13);
	padding-left: 1em;
	position: relative;
}
.page-course .ul-curriculum li::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	background: currentcolor;
	border-radius: 50%;
	position: absolute;
	left: 1px;
	top: 7px;
}

.page-course .flex-jcsb-aife {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.page-course .flex-jcsb-aife dl {
	display: grid;
	grid-template-columns: 80px auto;
	font-size: 14px;
	line-height: var(--lh);
	font-weight: 700;
}
.page-course .flex-jcsb-aife dl dt {
	padding-left: 13px;
	position: relative;
}
.page-course .flex-jcsb-aife dl dt::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--orange2);
	position: absolute;
	left: 0;
	top: 8px;
}
.page-course .flex-jcsb-aife dl dd {
	flex: 1 1 0;
}
.page-course .flex-jcsb-aife .btn-detail {
	font-size: 14px;
	line-height: var(--lh);
	font-weight: 700;
	padding-right: 16px;
	position: relative;
	padding-bottom: 2px;
	transition: 0.3s;
}
.page-course .flex-jcsb-aife .btn-detail:hover {
	color: var(--grey);
}
.page-course .flex-jcsb-aife .btn-detail::before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 1px;
	background: currentcolor;
	position: absolute;
	left: 0;
	bottom: 0;
}
.page-course .flex-jcsb-aife .btn-detail::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 0 6px;
	border-color: transparent transparent transparent currentcolor;
	position: absolute;
	bottom: 0;
	right: -1px;
}
.page-course .btn-course {
	text-align: center;
}
.page-course .btn-course a {
	height: 80px;
	width: 100%;
	max-width: 498px;
	color: var(--orange2);
	border: 1px solid var(--orange2);
	font-weight: 700;
	font-size: 14px;
	font-weight: 700;
	display: inline-flex;
	gap: 10px;
	border-radius: 4px;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
}
.page-course .btn-course a:hover {
	color: var(--white);
	background: var(--orange2);
}

.page-course .btn-course a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 6px;
	border-color: transparent transparent transparent currentcolor;
}
#page.page-course .page-title {
	padding-top: var(--headerHeight);
	margin-top: calc(-1 * var(--headerHeight));
}
@media screen and (max-width: 800px) {
	.archive .page-course .title-wrap {
		margin-bottom: 55px;
	}
	.archive .page-course .page-title h1 {
		margin-bottom: 60px;
	}
	.page-course .btn-target {
		flex-direction: column;
		gap: 20px;
		align-items: flex-start;
	}
	.page-course .h-target {
		font-size: 16px;
		white-space: pre-wrap;
	}
	.page-course .course-list > li {
		gap: 20px;
	}
	.page-course .course-list .thumb {
		width: 100%;
		flex: auto;
	}
	.page-course .flex-jcsb-aife {
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 6px;
	}
	.page-course .flex-jcsb-aife dl {
		width: 100%;
	}
	.archive .page-course .btn-course {
		margin-top: 5px;
	}
}

/*------------------------------------------------------------
	Single - common
------------------------------------------------------------*/
.single-title {
	max-width: 674px;
	margin: auto;
	width: 100%;
}
.single-title .date {
	font-family: var(--enR);
	font-weight: 700;
	font-size: 16px;
	line-height: calc(24 / 16);
	display: block;
}
.single-title h1 {
	font-size: 26px;
	line-height: calc(36 / 26);
	font-weight: 700;
	margin: 20px 0 30px;
}
.single-content {
	max-width: 674px;
	margin: auto;
	width: 100%;
	font-size: 16px;
	line-height: calc(30 / 16);
}
.single-content > * + * {
	margin-top: 40px;
}
.single-content em {
	font-style: italic;
}
.single-content strong {
	font-weight: 700;
}
.single-content p a {
	color: var(--blue);
}
.single-content p a:hover {
	text-decoration: underline;
}

.prevnext {
	margin-top: 80px;
	padding-top: 40px;
	border-top: 1px solid var(--table);
	display: flex;
	justify-content: space-between;
	font-size: 15px;
	align-items: center;
}
.prevnext .next,
.prevnext .prev {
	display: flex;
	height: 20px;
	width: 120px;	
}
.prevnext .prev a {
	display: flex;
	width: 100%;
	height: 100%;
	font-weight: 700;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}
.prevnext .prev a::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 10px 7px 0;
	border-color: transparent currentcolor transparent transparent;

}
.prevnext .next a {
	display: flex;
	width: 100%;
	height: 100%;
	font-weight: 700;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	transition: 0.3s;
}
.prevnext .next a:hover {
	opacity: 0.6;
}*
.prevnext .next a::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 10px;
	border-color: transparent transparent transparent currentcolor;
}

@media screen and (max-width: 800px) {
	.single-title .date {
		line-height: calc(19 / 16);
	}
	.single-title h1 {
		font-size: 22px;
		line-height: calc(32 / 22);
	}
	.prevnext {
		padding-top: 20px;
		padding-bottom: 80px;
		position: relative;
	}
	.prevnext .btn {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,0);
		white-space: nowrap;
	}
}

/*------------------------------------------------------------
	Single - Course
------------------------------------------------------------*/
#page.page-course .page-title {
	position: relative;
}
.single #page.page-course .page-title h1 {
	padding-right: min(50%,512px);
	margin-bottom: 50px;
}
.single #page.page-course .page-title h1 .cat {
	display: block;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	margin-bottom: 12px;
}
.single #page.page-course .page-title h1 .category-a::after {
	content: '、または有効期間が切れた方';
}
.single #page.page-course .page-title h1 .en {
	display: block;
	font-family: var(--enR);
	font-size: 18px;
	line-height: 26px;
	font-weight: 300;
}

.single #page.page-course .page-title .mv {
	width: 50%;
	position: absolute;
	top: 0;
	right: calc(-1 * var(--px));
}
.single #page.page-course .page-title .txt {
	padding-right: min(50%,512px);
	width: 100%;
	max-width: 1026px;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-size: 16px;
	line-height: var(--lh);
}

.single #page.page-course .page-title .txt .note {
	font-size: 13px;
	line-height: calc(20 / 13);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.single #page.page-course .page-title .txt .note li {
	display: flex;
}
.single #page.page-course .page-title .txt ul.note li::before {
	content: '※';
}
.single #page.page-course .page-title .txt ol.note li span {
	display: inline-block;
	min-width: 26px;
	padding-right: 4px;
}
.single #page.page-course .page-title .txt .h-curriculum {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 10px;
}
.single #page.page-course .page-title .txt .h-curriculum::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--orange2);
}
.single #page.page-course .page-title .txt .ul-curriculum li {
	font-size: 13px;
	font-weight: 700;
	line-height: calc(20 / 13);
	padding-left: 1em;
	position: relative;
}
.single #page.page-course .page-title .txt .ul-curriculum li::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	background: currentcolor;
	border-radius: 50%;
	position: absolute;
	left: 1px;
	top: 7px;
}

.single #page.page-course .page-title .txt .flex-jcsb-aife {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.single #page.page-course .page-title .txt .flex-jcsb-aife dl {
	display: grid;
	grid-template-columns: 80px auto;
	font-size: 14px;
	line-height: var(--lh);
	font-weight: 700;
}
.single #page.page-course .page-title .txt .flex-jcsb-aife dl dt {
	padding-left: 13px;
	position: relative;
}
.single #page.page-course .page-title .txt .flex-jcsb-aife dl dt::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--orange2);
	position: absolute;
	left: 0;
	top: 8px;
}
.single #page.page-course .page-title .txt .flex-jcsb-aife dl dd {
	flex: 1 1 0;
}
.single #page.page-course .page-title .txt .btn-course {
	position: fixed;
	z-index: 100;
	bottom: 0;
	left: 0;
	background: var(--table);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 70px;
	transition: 0.5s;
}
.single.hiddenbtn #page.page-course .page-title .txt .btn-course {
	opacity: 0;
	visibility: hidden;
}
.single #page.page-course .page-title .txt .btn-course a {
	height: 38px;
	width: 100%;
	max-width: 322px;
	color: var(--orange2);
	border: 1px solid var(--orange2);
	background: var(--white);
	font-weight: 700;
	font-size: 14px;
	font-weight: 700;
	display: inline-flex;
	gap: 10px;
	border-radius: 4px;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
}
.single #page.page-course .page-title .txt .btn-course a:hover {
	color: var(--white);
	background: var(--orange2);
}

.single #page.page-course .page-title .txt .btn-course a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 6px;
	border-color: transparent transparent transparent currentcolor;
}
#page.page-course .c-list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px;
	counter-reset: number 0;
}
#page.page-course .c-list .c-title {
	padding-left: 20px;
	position: relative;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	margin-bottom: 8px;
}
#page.page-course .c-list .c-title::before {
	content: counter(number);
	counter-increment: number 1;
	position: absolute;
	left: 0;
	top: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	width: 16px;
	height: 16px;
	line-height: 1;
	font-family: var(--enR);
	color: var(--white);
	background: #767676;
	border-radius: 50%;
}
#page.page-course .c-list p {
	padding-left: 20px;
	font-size: 14px;
	line-height: var(--lh);
}
#page.page-course .c-table {
	border-top: 1px solid var(--grey);
	margin-top: 40px;
	padding-top: 40px;
}
#page.page-course .ct-list {
	display: grid;
	gap: 15px;
}
#page.page-course .ct-list > li {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}
#page.page-course .ct-list > li h4 {
	position: relative;
	padding-right: 30px;
	font-size: 20px;
	line-height: calc(28 / 20);
	font-weight: 700;
}
#page.page-course .ct-list > li h4::after {
	content: '';
	display: inline-block;
	width: 20px;
	position: absolute;
	top: 50%;
	right: 0;
	height: 1px;
	background: currentcolor;
}
#page.page-course .ct-item-list {
	flex: 1 1 0;
	counter-reset: number 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
}
#page.page-course .ct-item-list li {
	position: relative;
	padding-left: 20px;
	white-space: nowrap;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
}
#page.page-course .ct-item-list li::before {
	content: counter(number);
	counter-increment: number 1;
	position: absolute;
	left: 0;
	top: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	width: 16px;
	height: 16px;
	line-height: 1;
	font-family: var(--enR);
	color: var(--white);
	background: #767676;
	border-radius: 50%;
}
#page.page-course .t-note {
	margin-top: -45px;
	font-size: 16px;
	line-height: var(--lh);
}
#page.page-course .t-note li {
	padding-left: 1em;
	position: relative;
}
#page.page-course .t-note li::before {
	content: '・';
	position: absolute;
	left: 0;
	top: 0;
}
#page.page-course .t-list {
	margin-top: 30px;
	gap: 35px;
	display: flex;
	flex-direction: column;
}
#page.page-course .t-list .t-title {
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 16px;
}
#page.page-course .t-list .t-table-wrap {
	width: 100%;
	overflow: scroll;
}
#page.page-course .t-list .t-table {
	table-layout: fixed;
	border-right: 1px solid var(--grey);
	border-bottom: 1px solid var(--grey);
}
@media screen and (min-width: 801px) {
	#page.page-course .t-list .t-table-wrap {
		overflow: hidden;
	}
	#page.page-course .t-list .t-table {
		width: 100% !important;
		table-layout: auto;
	}
}
#page.page-course .t-list .t-table th {
	width: 205px;
	border-top: 1px solid var(--grey);
	border-left: 1px solid var(--grey);
	text-align: center;
	vertical-align: middle;
	background: var(--cream);
	font-size: 12px;
	font-weight: 700;
	line-height: calc(16 / 12);
	padding: 10px;
}
#page.page-course .t-list .t-table td {
	border-top: 1px solid var(--grey);
	border-left: 1px solid var(--grey);
	text-align: center;
	vertical-align: middle;
	font-size: 12px;
	line-height: calc(16 / 12);
	padding: 10px;
}
#page.page-course .price-wrap {
	display: flex;
	gap: 80px;
}
#page.page-course .p-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	white-space: nowrap;
}
#page.page-course .p-list dl {
	display: flex;
	align-items: center;
	gap: 20px;
}
#page.page-course .p-list dl dt {
	position: relative;
	padding-right: 30px;
	font-size: 20px;
	line-height: calc(28 / 20);
	font-weight: 700;
}
#page.page-course .p-list dl dt::after {
	content: '';
	display: inline-block;
	width: 20px;
	position: absolute;
	top: 50%;
	right: 0;
	height: 1px;
	background: currentcolor;
}
#page.page-course .p-list dl dd {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}
#page.page-course .p-list dl dd span {
	font-size: 14px;
}
#page.page-course .p-note {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
	z-index: 1;
}
#page.page-course .p-note h4 {
	font-size: 16px;
	line-height: calc(24 / 16);
	font-weight: 700;
	margin-bottom: 5px;
}
#page.page-course .p-note p {
	font-size: 14px;
	line-height: var(--lh);
}
#page.page-course .p-note p a {
	color: var(--blue);
	text-decoration: underline;
}
#page.page-course .p-note p a:hover {
	text-decoration: none;
}

#page.page-course .flow {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
#page.page-course .flow > li {
	width: 146px;
	position: relative;
}
#page.page-course .flow > li:not(:last-child)::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 8px;
	border-color: transparent transparent transparent var(--orange2);
	position: absolute;
	top: 40px;
	right: -20px;
}
#page.page-course .flow > li .box {
	display: flex;
	width: 100%;
	height: 96px;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	background: #fff8eb;
	border: 1px solid var(--orange2);
	border-radius: 6px;
}
#page.page-course .flow > li .box h4 {
	color: var(--orange2);
	font-weight: 700;
	font-size: 16px;
	line-height: calc(22 / 16);
}
#page.page-course .flow > li .box ul {
	margin-top: 5px;
	text-align: left;
	font-size: 12px;
	line-height: calc(18 / 12);
	font-weight: 400;
}
#page.page-course .flow > li .note {
	margin-top: 12px;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	padding-bottom: 5px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
	text-decoration-color: var(--orange2);
}
#page.page-course .page-content-grey {
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translate(-50%,0);
	background: var(--bg);
	padding: 80px var(--px);
	margin-top: 120px;
}
#page.page-course .page-content-grey .page-title h2 {
	font-weight: 400;
	margin: 0 auto;
}
#page.page-course .page-content-grey .page-title h2::before {
	height: 1px;
	background: var(--grey);
}
#page.page-course .page-content-grey .page-title h2 span {
	background: var(--bg);
	box-shadow: 0px 0px 0px 12px var(--bg);
}
#page.page-course .page-content-grey .page-title .desc {
	font-size: 16px;
	line-height: var(--lh);
	margin: 30px auto;
	width: 100%;
	max-width: 1026px;
}
#page.page-course .page-content-grey .inner {
	margin: 0 auto;
	width: 100%;
	max-width: 1026px;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px;
	align-items: flex-start;
}
#page.page-course .page-content-grey .requirements {
	font-size: 14px;
	line-height: var(--lh);
	display: grid;
	gap: 10px;
}
#page.page-course .page-content-grey .requirements > p {
	padding-left: 10px;
	position: relative;
}
#page.page-course .page-content-grey .requirements > p::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	position: absolute;
	border-radius: 50%;
	top: 10px;
	left: 0;
	background: currentcolor;
}
#page.page-course .page-content-grey .note {
	font-size: 13px;
	line-height: calc(20 / 13);
	display: grid;
	gap: 4px;
}
#page.page-course .page-content-grey .note p {
	padding-left: 26px;
	position: relative;
}
#page.page-course .page-content-grey .note p strong {
	position: absolute;
	top: 0;
	left: 0;
}
#page.page-course .page-content-grey .note p a {
	text-decoration: underline;
	color: var(--blue);
}
#page.page-course .page-content-grey .note p a:hover {
	text-decoration: none;
}
#page.page-course .terms {
	border: 1px solid var(--input);
	padding: 20px;
	border-radius: 4px;
	width: 100%;
	height: 360px;
	overflow: scroll;
	box-shadow: inset 0 0 0 20px #fff;
}
#page.page-course .terms .inner {
	font-size: 16px;
	line-height: var(--lh);
	position: relative;
	z-index: -1;
}
#page.page-course .terms .inner h4 {
	font-weight: 700;
}
#page.page-course .terms .inner * + h4 {
	margin-top: var(--lh);
}

#page.page-course .terms + .btn-course {
	margin-top: 80px;
}
#page.page-course .terms + .btn-course p.note {
	font-size: 16px;
	line-height: 1;
	margin-bottom: 20px;
}
#page.page-course .terms + .btn-course p.note strong {
	font-weight: 700;
}
#page.page-course .terms + .btn-course a.disabled {
	opacity: 0.3;
	pointer-events: none;
}
#page.page-course .slide .slick-next,
#page.page-course  .slide .slick-prev {
	display: none !important;
}
@media screen and (max-width: 800px) {
	.single #page.page-course .page-title h1 {
		padding-right: 0;
		line-height: calc(28 / 24);
		margin-bottom: 20px;
	}
	.single #page.page-course .page-title h1 .category-a::after {
		content: '、\Aまたは有効期間が切れた方';
		white-space: pre;
	}

	.single #page.page-course .page-title .mv {
		position: relative;
		right: auto;
		left: 50%;
		width: 100vw;
		transform: translate(-50%,0);
	}
	.single #page.page-course .page-title .txt {
		padding-top: 40px;
		padding-right: 0;
		gap: 40px;
	}
	#page.page-course .c-list {
		grid-template-columns: repeat(1,1fr);
	}
	#page.page-course .ct-item-list {
		flex-wrap: nowrap;
		flex-direction: column;
	}
	#page.page-course .t-list .t-table-wrap {
		padding-bottom: 30px;
		position: relative;
	}
	#page.page-course .t-list li {
		position: relative;
	}
	#page.page-course .t-list li::after {
		content: '↔︎スクロール';
		font-weight: 700;
		font-size: 12px;
		line-height: 1;
		position: absolute;
		bottom: 1em;
		right: .5em;
	}
	#page.page-course .price-wrap {
		flex-direction: column;
		gap: 30px;
	}
	#page.page-course .p-list dl {
		flex-wrap: wrap;
		gap: 2px 20px;
	}
	#page.page-course .p-list dl dd {
		flex: 1;
		text-align: right;
	}
	#page.page-course .flow {
		gap: 20px 24px;
	}
	#page.page-course .flow > li {
		width: 144px;
	}
	#page.page-course .flow > li:not(:last-child)::after {
		right: -17px;
	}
	#page.page-course .page-content-grey .inner {
		grid-template-columns: repeat(1,1fr);
	}
	#page.page-course .page-title .txt .btn-course {
		height: 60px;
	}
	#page.page-course .page-title .txt .btn-course a {
		width: auto;
		padding: 0 10px;
		height: 36px;
	}
	#page.page-course .terms + .btn-course {
		margin-top: 60px;
	}
	
}

/*------------------------------------------------------------
	Page - Contact
------------------------------------------------------------*/
#page.page-contact .page-content {
	max-width: 850px;
	margin: auto;
	width: 100%;
	font-size: 14px;
	line-height: calc(24 / 14);
}
#page.page-contact .page-content > p {
}
#page.page-contact .page-content > p strong {
	font-weight: 400;
	color: var(--red);
}
.page-contact .wpcf7 .req {
	color: var(--red);
}
.page-contact .wpcf7 {
	margin-top: 50px;
	color: var(--black);
}
.page-contact .wpcf7 table {
	width: 100%;
}
.page-contact .wpcf7 th {
	text-align: left;
	vertical-align: top;
	font-size: 14px;
	font-weight: 700;
	line-height: calc(24 / 14);
	padding-top: .5em;
	padding-bottom: 40px;
	width: 250px;
}
.page-contact .wpcf7-list-item {
	margin-left: 0;
}
.page-contact .wpcf7 td {
	padding-bottom: 40px;
}
.page-contact .wpcf7 input[type=text],
.page-contact .wpcf7 input[type=email],
.page-contact .wpcf7 input[type=tel] {
	-webkit-appearance: none;
	box-shadow: none;
	padding: .5em 1em;
	font-size: 14px;
	line-height: calc(24 / 14);
	background-color: #fff;
	max-width: 600px;
	width: 100%;
	border: 1px solid var(--input);
	border-radius: 4px;
}
.page-contact .wpcf7 .your-acceptance-wrap label {
	position: relative;
	display: block;
	cursor: pointer;
}
.page-contact .wpcf7 input[type=checkbox] {
	position: absolute;
	opacity: 0;
}
.page-contact .wpcf7 input[type=checkbox] + span {
	position: relative;
	padding: 0 0 0 3em;
	display: block;
	min-width: 100%;
}
.page-contact .wpcf7 input[type=checkbox] + span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -.7em;
	height: 1.4em;
	width: 1.4em;
	box-sizing: border-box;
	background-color: #fff;
	border: 1px solid var(--input);
	border-radius: 0;
	z-index: 1;
	transition: .3s;
}
.page-contact .wpcf7 input[type=checkbox]:checked + span::before {
	border-color: var(--input);
	background-color: var(--input);
}
.page-contact .wpcf7 input[type=checkbox] + span::after {
	content: '';
	opacity: 0;
	box-sizing: border-box;
	margin-top: -1px;
	width: .8em;
	height: .5em;
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
	position: absolute;
	top: .8em;
	left: .3em;
	transform: translateY(-50%) rotate(-45deg);
	z-index: 2;
	transition: .3s;
}
.page-contact .wpcf7 input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.page-contact .wpcf7 textarea {
	-webkit-appearance: none;
	box-shadow: none;
	padding: .5em 1em;
	font-size: 14px;
	line-height: calc(24 / 14);
	height: 240px;
	background-color: #fff;
	max-width: 780px;
	width: 100%;
	border: 1px solid var(--input);
	border-radius: 4px;
	vertical-align: top;
}

.page-contact .wpcf7 .terms {
	width: 100%;
	max-width: 780px;
	border: 1px solid var(--input);
	border-radius: 4px;
	padding: .5em 1em;
	background-color: #fff;
	overflow: hidden;
	height: 190px;
	margin-top: 25px;
	margin-bottom: 30px;
}
.page-contact .wpcf7 .terms .inner {
	width: 100%;
	height: 100%;
	overflow: scroll;
	padding-top: .5em;
	padding-right: 1em;
}
.page-contact .wpcf7 .terms .inner p {
	font-size: 12px;
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 1em;
}
.page-contact .wpcf7 .terms .inner h3 {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: .5em;
}
.page-contact .wpcf7 .submit {
	text-align: center;
	padding-top: 40px;
	position: relative;
	margin-top: 0;
}
.page-contact .wpcf7 .submit .wpcf7-spinner {
	position: absolute;
	top: 40px;
	right: 0;
}
.page-contact .wpcf7 input[type=submit] {
	display: inline-flex;
	width: 360px;
	height: 70px;
	align-items: center;
	justify-content: center;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	box-shadow: none;
	font-size: 18px;
	font-weight: 700;
	padding: 0;
	color: #fff;
	line-height: 1;
	border: none;
	border-radius: 0;
	background-color: #363636;
	cursor: pointer;
	transition: .3s;
}
.page-contact .wpcf7 input[type=submit]:hover {
	opacity: .5;
}
.page-contact .wpcf7 input[type=submit]:disabled {
	background-color: #c8c8c8;
	cursor: not-allowed;
}
.page-contact .wpcf7 input[type=submit]:disabled:hover {
	opacity: 1;
}
.page-contact .wpcf7 :-ms-input-placeholder{
	color: var(--placeholder);
	font-family: var(--ja);
}
.page-contact .wpcf7 ::-ms-input-placeholder{
	color: var(--placeholder);
	font-family: var(--ja);
}
.page-contact .wpcf7 ::-webkit-input-placeholder{
	color: var(--placeholder);
	font-family: var(--ja);
}
.page-contact .wpcf7 ::-moz-placeholder{
	color: var(--placeholder);
	font-family: var(--ja);
}
.page-contact .wpcf7 ::placeholder{
	color: var(--placeholder);
	font-family: var(--ja);
}

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

	.page-contact .wpcf7 {
		margin-top: 30px;
	}
	.page-contact .wpcf7 th {
		display: block;
		width: 100%;
		padding: 0 0 5px;
	}
	.page-contact .wpcf7 td {
		display: block;
		width: 100%;
		padding-bottom: 15px;
	}
	.page-contact .wpcf7 input[type=submit] {
		width: 100%;
	}
}

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

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}