@charset "UTF-8";

/*reset*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-family: sans-serif;}  body { line-height:1; }  article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; }  nav ul { list-style:none; }  blockquote, q { quotes:none; }  blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }  a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }  / change colours to suit your needs / ins { background-color:#ff9; color:#000; text-decoration:none; }  / change colours to suit your needs / mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }  del { text-decoration: line-through; }  abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }  table { border-collapse:collapse; border-spacing:0; }  /* change border colour to suit your needs  */ hr { display:block; height:1px; border:0;  border-top:1px solid #cccccc; margin:1em 0; padding:0; }  input, select { vertical-align:middle; } 

.inview	{
	opacity: 0;
	transform: translateY(30px);
}

.inview.fadeIn	{
	transition: all 1s ease-out;
}

.inview.fadeIn.is-show	{
	opacity: 1;
	transform: translateY(0);
}

a	{
	color: #18212b;
	text-decoration: none;
	transition: all 0.7s linear;
	text-decoration: none;
}


.sp	{
	display: none;
}
.block	{
	display: block;
}

.flex	{
	display: flex;
}

.flex.wrap	{
	flex-wrap: wrap;
	justify-content: flex-start;
}


.center	{
	justify-content: center;
	align-items: center;
	gap: 30px;
}

.between	{
	justify-content: space-between;
	align-items: center;
}
.sp	{
	display: none !important;
}
*	{
	box-sizing: border-box;
}

.text-center	{
	text-align: center;
}

h1,h2,h3,h4,h5,h6,p,th,td,dd,dt	{
	font-size: 16px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	color: #18212b;
	line-height: 175%;
}
span,a	{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	color: #18212b;
}

h1,h2,h3,h4,h5,h6,th	{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.serif,
.serif > *	{
	font-family: "source-han-serif-japanese", serif !important;
	font-weight: 600;
	font-style: normal;
}

.serif_en,
.serif_en > *	{
	font-family: "Crimson Pro", serif !important;
	font-optical-sizing: auto;
	font-weight: 500;
}

.din	{
	font-family: "urw-din", sans-serif !important;
}
.bold	{
	font-weight: 700;
}
.neworder,
.neworder > *	{
	font-family: "new-order", sans-serif !important;
}

.hiragino,
.hiragino > *	{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
}

.mt15	{
	margin-top: 15px !important;
}

.mt25	{
	margin-top: 25px !important;
}

.mt30	{
	margin-top: 30px !important;
}

.mt50	{
	margin-top: 50px !important;
}

.mt75	{
	margin-top: 75px !important;
}

.mt100	{
	margin-top: 100px !important;
}

.mb10	{
	margin-bottom: 10px !important;
}

.mb15	{
	margin-bottom: 15px !important;
}

.mb20	{
	margin-bottom: 20px !important;
}

.mb25	{
	margin-bottom: 25px !important;
}

.mb30	{
	margin-bottom: 30px !important;
}

.mb40	{
	margin-bottom: 40px !important;
}

.mb50	{
	margin-bottom: 50px !important;
}

.mb75	{
	margin-bottom: 75px !important;
}

.mb100	{
	margin-bottom: 100px !important;
}

.pt15	{
	padding-top: 15px !important;
}

.pt25	{
	padding-top: 25px !important;
}

.pt50	{
	padding-top: 50px !important;
}

.pt75	{
	padding-top: 75px !important;
}

.pt100	{
	padding-top: 100px !important;
}

.pt150	{
	padding-top: 150px !important;
}

.pb15	{
	padding-bottom: 15px !important;
}

.pb25	{
	padding-bottom: 25px !important;
}

.pb50	{
	padding-bottom: 50px !important;
}

.pb75	{
	padding-bottom: 75px !important;
}

.pb100	{
	padding-bottom: 100px !important;
}

.pb150	{
	padding-bottom: 150px !important;
}

.fs12	{
	font-size: 12px;
}

.fs14	{
	font-size: 14px;
}

.fs15	{
	font-size: 15px;
}

.fs16	{
	font-size: 16px;
}

.fs18	{
	font-size: 18px;
}

.fs20	{
	font-size: 20px;
}

.fs22	{
	font-size: 22px;
}

.fs24	{
	font-size: 24px;
}

.fs26	{
	font-size: 26px;
}

.fs28	{
	font-size: 28px;
}

.fs30	{
	font-size: 30px;
}

.fs32	{
	font-size: 32px;
}

.fs34	{
	font-size: 34px;
}

.fs36	{
	font-size: 36px;
}

.fs40	{
	font-size: 40px;
}

.fs43	{
	font-size: 43px;
}

.fs45	{
	font-size: 45px;
}

.fs50	{
	font-size: 50px;
}

.fs53	{
	font-size: 53px;
}

.fs70	{
	font-size: 70px;
}

.w610	{
	max-width: 610px;
	width: 100%;
	margin: 0 auto;

}

.w120	{
	width: 120px;
	height: 1px;
	line-height: 0;
}

.w360	{
	max-width: 360px;
	width: 100%;
}

.w250	{
	max-width: 250px;
	width: 100%;
}

.w520{
	max-width: 520px;
	width: 100%;
	margin: 0 auto;	
}

.w580	{
	max-width: 580px !important;
	width: 100%;
	margin: 0 auto;
}
.w700	{
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
}

.w750	{
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
}


.w770	{
	max-width: 770px;
	width: 100%;
	margin: 0 auto;
}

.w900	{
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}

.w1000	{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

.w1200	{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.white	{
	color: #FFFFFF !important;
}

.blue	{
	color: #0b6bdc !important;
}

.orange	{
	color: #f77f0a !important;
}

.red	{
	color: #c02b5b !important;
}

.green	{
	color: #61b70e !important;
}

.pink	{
	color: #e148a6 !important;
}

.magenta	{
	color: #b20076 !important;
}


.leadcolor	{
	color: #005f81;
}

img	{
	max-width: 100%;
}

header	{
	z-index: 3;
	width: 100%;
	padding: 38.75px 50px 15px;
	/* position: absolute; */
	background-color: #fff;
	position: fixed;
}
header .inner	{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
header .inner img	{
	display: block;
	position: relative;
	bottom: -3px;
}
nav	{
	width: 60%;
}
nav ul	{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items:center;
}
nav ul li a	{
	  font-style: normal;
	  position: relative;
}

nav ul li a:after	{
	content: "";
	width: 23px;
	height: 23px;
	border-radius: 50%;
	background-color: #c02b5b;
	position: absolute;
	bottom: -5px;
	right: -15px;
	z-index: -1;
	transition: all 0.3s linear;
	opacity: 0;
}
nav ul li a:hover:after	{
	opacity: 1;
}

main	{
	background-image: url(images/bg.png);
	background-size: cover;
	background-position: center top;
	background-repeat: repeat;
	padding-top: 82px;
}
.key	{
	position: relative;
	overflow-y: hidden;
}
.key_box {
	position: relative;
	height: 100%;
	width: 100%;
}
.keylogo	{
	position: absolute;
	top: 0;
	left: 0;
	max-width: 208px;
	width: 100%;
	z-index: 2;
}
.key .inner	{
	position: relative;
	z-index: 2;
	padding: 90px 0;
}
.key h1,
.key h1 > *	{
	font-family: "mrs-eaves-xl-serif", serif;
	font-weight: 400;
	font-style: normal;
}
@media screen and (min-width: 835px) {/* PC用 */
	.key h1 {
		font-size: 3.5vw;
	}
	.key h1 .fs52 {
		font-size: 4vw;
	}
	.key h2 {
		font-size: 3.5vw;
		margin-top: 1em;
	}

	.key_txt {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 7vw;
		transform: translateY(-50%);
	}
	.keylead	{
		z-index: 2;
		position: absolute;
		bottom: 1vw;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-size: 2vw;
	}
}
@media screen and (max-width: 834px) {/* SP用 */
	.key_txt {
		padding-left: 10vw;
	}
}
.keypic	{
}

.keypic .movarea {
	position: relative;
}
.keypic .movarea:before {
    top: 0;
    left: 0;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    content: "";
    display: block;
}
.keypic .movarea > * {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}
/* ▲ 縦横比固定 ▲ */
.gap20	{
	gap: 40px;
}


.gap40	{
	gap: 40px;
}

main section	{
	padding-top: 0;
	padding-bottom: 100px;
}

main section:not(.sec1)	{
	padding-top: 35px;
	padding-bottom: 65px;
}

main section .headarea img	{
	width: 84px;
}

main section .headarea img.head_name	{
	width: 127px;
}
main section .headarea h1	{
	line-height: 110%;
}

main section .inner > *	{
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.sec1 .flex .singleitem	{
	display: block;
	background-color: #fff;
	position: relative;
	width: calc(33.333% - 26.666px);
}

.sec1 a.detail	{
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
.sec1 .flex .singleitem	{
	border-bottom: 0.25px solid #18212b;
	position: relative;
}
.sec1 .flex .singleitem .infoarea	{
	margin-top: 8px;
	padding: 12px 18px 40px;
}

.sec1 .flex .singleitem .infoarea p	{
	line-height: 150%;
}

.sec1 .flex .singleitem .infoarea a.cat	{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 8px 28px;
	font-weight: 500;
	z-index: 2;
	min-width: 80px;
	text-align: center;
}

.sec1 .flex .singleitem .infoarea a.cat.forum	{
	background-color: #d5c88b;
}
.sec1 .flex .singleitem .infoarea a.cat.meeting	{
	background-color: #d7e4ea;
}

.sec1 .flex .singleitem .infoarea a.cat.learning	{
	background-color: #dae2c3;
}

.sec1 .singleitem > .after	{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	border-left: 0.25px solid #18212b;
	height: 100px;
	z-index: 2;
}
.buttonarea	{
	text-align: center;
}

.buttonarea a	{
	display: inline-block;
	background-color: #18212b;
	color: white;
	font-weight: 500;
	font-style: normal;
	padding: 9px 47px;
	line-height: 1;
	letter-spacing: 1px;
}

main section.sec2	{
	position: relative;
}

main section.sec2 .sec2back	{
	position: absolute;
	left: 0;
	bottom: 6.25vw;
	width: 6.6666vw;
}

.sec_member	{
	position: relative;
}

main section.sec_member .sec_member_back	{
	position: absolute;
	top: 40vw;
	right: 0;
	width: 6.6666vw;
}

.f_sec_member	{
	justify-content: center;
}

.f_sec_member .col	{
	width: 50%;
}

.f_sec_member .col:first-child	{
	text-align: right;
}

.f_sec_member .col:last-child img	{
	margin-left: 2rem;
}

.carousel img	{
	width: 25vw;
}

main section.sec3	{
	position: relative;
}

main section.sec3 .sec3back	{
	position: absolute;
	top: 0;
	right: 0;
	width: 9.16vw;
}
/* .sec3 .flex.member1 .col	{
	padding: 12px 32px;
} */

.sec3 .flex.flex2	{
	flex-wrap: wrap;
}

.sec3 .flex.flex2 .col	{
	width: calc(50% - 20px);
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	box-shadow: 4px 4px 7px rgba(0,0,0,0.2);
}

.sec3 .flex.flex2 .col > img	{
	width: 44.5%;
	height: auto;
}

.sec3 .flex.flex2 .col .infoarea	{
	position: relative;
	height: 100%;
	width: 50%;
	padding-top: 55px;
}

.sec3 .flex.flex2 .col .infoarea .name	{
letter-spacing: 2px;	
}
.sec3 .flex.flex2 .col .infoarea .jobtitle	{
	line-height: 120%;
	letter-spacing: 1px;
}
.sec3 .flex.flex2 .col .infoarea a.member_arrow	{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	display: block;
}

.sec3 .flex.flex2 .col .infoarea a.member_arrow img	{
	display: block;
}

main section.sec4	{
	position: relative;
}

main section.sec4 .sec4back	{
	position: absolute;
	top: 42.1vw;
	right: 0;
	width: 6.6666vw;
}

.sec5	{
	background-color: #fff;
	padding-top: 0 !important;
}

.sec5 .inner	{
	padding-top: 38px;
	border-top: 5px solid #c02b5b;
}

.sec5 .buttonarea a,
footer .buttonarea a,
.drawer-nav .buttonarea a	{
	background-color: #c02b5b;
	padding: 12px 120px;
	position: relative;
}

.sec5 .buttonarea a:after,
footer .buttonarea a:after,
.drawer-nav .buttonarea a:after	{
	content: "";
	width: 36px;
	height: 28px;
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background-image: url(images/sec5_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

main section.sec6	{
	position: relative;
	padding-top: 0;
}

main section.sec6 .sec6back	{
	position: absolute;
	top: 0;
	right: 0.42vw;
	width: 34.16vw;
}

.scharea	{
	position: relative;
}
ul.schedule	{
	display: flex;
	justify-content: center;
	gap: 16px;
}

ul.schedule li	{
	list-style: none;
	max-width: 180px;
	width: 25%;
	border: 1px solid #61b70e;
}
ul.schedule li p	{
	color: #61b70e;
}

ul.schedule li p.fs70	{
	line-height: 130%;
	margin-bottom: -0.3rem;
}
ul.schedule li p.hiragino	{
	background-color: #61b70e;
	color: white;
}

.sch_arrow	{
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 40px;
}

.sch_arrow img	{
	display: block;
}

.tabindex	{
	display: flex;
	justify-content: flex-start;
	gap: 0 5px;
}

.tabindex li	{
	position: relative;
	list-style: none;
	width: 20%;
	padding-bottom: 6px;
}

.tabindex li a	{
	text-align: center;
	display: block;
	color: #e148a6;
	background-color: #fff;
	border: 1px solid #e148a6;
	padding: 5px 0;
	cursor: pointer;
}

.tabindex li a.active	{
	background-color: #e148a6;
	color: #fff;
}

.tabindex li a.active:after	{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
	width: 17px;
	height: 6px;
	background-image: url(images/tab_arrow.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
}

.tabcontent	{
	background-color: #fff;
	border: 1px solid #e148a6;
	padding: 30px 75px;
}

.tabcontent .tc	{
	display: none;
}

.tabcontent .tc.show	{
	display: block;
}

.sec7img	{
	gap: 10px;
}

main section.sec7	{
	padding-bottom: 100px;
	position: relative;
}

main section.sec7 .sec7back	{
	position: absolute;
	botto,: 0;
	left: 0;
	width: 6.5vw;
}

footer	{
	background-color: #18212b;
}
footer > .inner	{
	background-image: url(images/footer_back.png);
	background-size: auto 100%;
	background-position: left center;
	background-repeat: no-repeat;
	padding: 90px 0;
}
footer > .inner h1	{
	font-weight: 500;
}
footer > .inner > *	{
	color: white;
}

footer .footer2	{
	padding: 45px 50px;
	background-color: #0c0931;
}

footer .footer2 .copyright{
	font-weight: 400;
	opacity: 0.8;

}

.drawer-hamburger,
.drawer-hamburger:hover	{
	background-color: #18212b;
}
.drawer-hamburger	{
	width: 20vw;
	height: 20vw;
	border-radius: 50%;
	box-sizing: border-box;
	top: 6.6666vw;
	margin-right: 6.6666vw;
}

.drawer-hamburger-icon	{
	width: 6.6666vw;
	margin-left: auto;
	margin-right: auto;
	zoom: 1.4;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before	{
	background-color: #fff;
	height: 3px;
	border-radius: 1.5px;
}

.eoj-global-footer{
	padding:45px 0;background-color:#0c0931;color:#fff;
}
.eoj-global-footer__inner{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	align-items:center;
	-ms-flex-align:center;
	-webkit-box-orient:horizontal;
	-webkit-box-direction:normal;
	-ms-flex-direction:row;
	flex-direction:row;
	-webkit-box-pack:
	justify;-ms-flex-pack:justify;
	justify-content:space-between;
}

.eoj-global-footer .copy-wrap{
	margin-top: 0;
	text-align: left;
	max-width: 768px;
}

.eoj-global-footer .logo{
	margin-bottom:27px;
	text-align: left;
}
.eoj-global-footer .logo img{
	width:auto;
	height:35px;
}

.eoj-global-footer .btn{
	width: 100%;
	max-width: 330px;
	border:solid 1px #4d4d4d;
	text-align:center;
	padding:17px;
	margin-left: 20px;
}

.eoj-global-footer .btn a{
	-webkit-transition:.3s;
	transition:.3s;
}

.eoj-global-footer .btn a:hover{
	background:#4d4d4d;
}
.eoj-global-footer .btn>a>img{
	width:auto;
}
.eoj-global-footer .btn .txt{
	display:block;
	margin-top:10px;
	font-size:12px;
	color: #FFF;
}

@media (max-width: 768px){
	.l-wrap{padding:0 25px;}
	.u-pc--i{display:none;}
	.eoj-global-footer{padding:30px 0 40px;}
	.eoj-global-footer__inner{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}
	.eoj-global-footer .copy-wrap{margin-top:30px;text-align:center;}
	.eoj-global-footer .logo{margin-bottom:17px; text-align: center;}
	.eoj-global-footer .logo img{height:28px;}
	.eoj-global-footer .btn{ padding:15px; margin-left: 0px;}
	.eoj-global-footer .btn a{display:block;}
	.eoj-global-footer .btn .txt{margin-top:15px;font-size:14px;}
}
.foot_chapter a{
	text-decoration:none;
}

.foot_chapter{
	margin-bottom:15px;
}

.foot_chapter_child{
	margin-left:15px;
	text-align: left;
}

.foot_p{
	width:140px;
	display:inline-flex;
	margin-bottom:5px;
}

.foot_p a,.btn a{
	color:white;
	cursor:pointer;
	text-decoration:none;
}

.fcwt_02{
	color:white;
	cursor:pointer;
}

.f_j_link{
	margin:0px 3px 0px 0;
	font-size:50%;
	transform:rotate(-90deg);
	color:#666;
}

.foot_chapter_worldmap{
	margin: 30px 0 0 0;
	width: 100%;
	text-align:center;
}

.foot_chapter_worldmap_tit{
	font-weight:bold;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	margin:0 0 15px 0;
}

.fcwt_01{
	width:0;
	height:1px;
	border-bottom:dotted 1px #999;
}

.fcwt_02{
	width:110px;
}

.fcwt_03{
	width:calc(100% - 110px);
	height:1px;
	border-bottom:dotted 1px #999;
}

.foot_chapter_worldmap img{
	padding:0 10px;
	max-width:954px;
	width:90%;
	margin:0 auto;
}

@media (max-width: 1000px){
	.foot_chapter_worldmap{
		width:95%;
	}
}

@media (max-width: 768px){
	.foot_chapter_child{
		text-align: center;
	}

	.foot_chapter_worldmap{
		text-align:center;
	}
	.foot_chapter_worldmap_tit{
		justify-content:space-between;
	}

	.fcwt_01{
		width:35%;
		height:1px;
		border-bottom:dotted 1px #999;
	}

	.fcwt_02{
		width:30%;
	}
	
	.fcwt_03{
		width:35%;
		height:1px;
		border-bottom:dotted 1px #999;
	}
}



/* contact */

.sec12 form	{
	margin-bottom: 50px;
}
.sec12 label	{
	display: block;
}

.sec12 p label	{
	font-size: 16px;
}

.sec12 p label .required	{
	font-size: 14px;
	color: white;
	background-color: #e7316e;
	border-radius: 3px;
	line-height: 100%;
	padding: 2px 8px;
	margin-left: 16px;
}
.sec12 p.form_item	{
	margin-bottom: 1.5rem;
}
.sec12 p.confirmtext	{
	margin-bottom: 2.5rem;
}

.sec12 p label +  input[type="text"],
.sec12 p label +  input[type="email"],
.sec12 p label +  textarea	{
	margin-top: 30px;
}

.sec12 p label.demibold[for="contact_category1"] + label	{
	margin-top: 30px;
}
.sec12 p input[type="text"],
.sec12 p input[type="email"],
.sec12 p textarea	{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #dadbdb;
	border-radius: 6px;
	width: 100%;
	font-size: 16px;
	padding: 20px;
}

input[type="radio"]{
	visibility: hidden;
	width: 1px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
}
.radio{
  font-size: 16px;
  margin-right: 12px;
  padding-left: 27px;
  position:relative;
}
.radio::before{
  background: white;
  border: 1px solid #397bd0;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 16px;
  height: 16px;
}
input[type="radio"]:checked + .radio::after{
  background-color: #397bd0;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 4px;
  width: 10px;
  height: 10px;
}

/* Safari */
_::-webkit-full-page-media, _:future, :root .radio::before{
	top: -1px;
}
_::-webkit-full-page-media, _:future, :root input[type="radio"]:checked + .radio::after{
	top: 3px;
}
label:has(input[type="radio"]),
label:has(input[type="checkbox"])	{
	display: inline-block;
	position: relative;
}

input[type="checkbox"]{
  visibility: hidden;
  width: 1px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}
.check{
  font-size: 16px;
  padding-left: 32px;
  position:relative;
}
.check::before{
	background-color: white;
	border: 2px solid #595757;
	content: "";
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	height: 16px;
	width: 16px;
	zoom: 1.2;
}
input[type="checkbox"]:checked + .check::before{
  background-color: white;
}
input[type="checkbox"]:checked + .check::after{
  border-bottom: 3px solid #397bd0;
  border-right: 3px solid #397bd0;
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 5.5px;
  height: 11px;
  width: 6px;
  transform: rotate(40deg);
  zoom: 1.15;
}
/* Safari */
_::-webkit-full-page-media, _:future, :root .check::before{
  top: -1px;
}
_::-webkit-full-page-media, _:future, :root input[type="checkbox"]:checked + .check::after{
  top: 0;
}
input[type="submit"]	{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	color: white;
	background-color: #e7316e;
	font-size: 24px;
	padding: 35px 0;
	max-width: 360px;
	width: 100%;
	border-radius: 12px;
	margin: 0 auto;
	display: block;
	transition: all 0.3s linear;
}

input[type="submit"]:hover	{
	opacity: 0.7;
}


.confirm input[type="button"],
.confirm input[type="submit"],
.thanks input[type="button"]	{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	color: white;
	background-color: #e7316e;
	font-size: 24px;
	padding: 35px 0;
	max-width: 360px;
	width: 100%;
	border-radius: 12px;
	margin: 0 auto;
	display: block;
	transition: all 0.3s linear;
}

.confirm input[type="submit"]	{
	margin: 0;
}
.confirm input[type="button"]	{
	display: block;
	background-color: #f4f7fa;
	border: 1px solid #dbdcdc;
	color: #888888;
}

.confirm .submit-inner	{
	display: flex;
	justify-content: center;
	gap: 40px;
}
.submit-inner a	{
	text-decoration: none;
	display: block;
	max-width: 360px;
	width: 100%;
}

.thanks .submit-inner a	{
	display: block;
	margin: 0 auto;
}

.contact footer > .inner	{
	display: none;
}


.formError .formErrorContent	{
	min-width: 200px;
}

.topics .detail.sec1 .flex	{
	flex-direction: column;
}

.topics .detail.sec1 .flex > .singleitem	{
	width: 100%;
}

.topics .detail.sec1 .flex .singleitem .infoarea	{
	border: 0;
	padding: 1vw calc(80px + 2vw) 2vw 2vw;
}

.topics .detail.sec1 .flex .singleitem .infoarea a.cat	{
	left: auto;
	right: 0;
}

.topics .detail.sec1 .flex .singleitem + .contentarea	{
	padding: 30px 2vw 0;
}

.topics .detail.sec1 .flex .singleitem + .contentarea > *	{
	margin-bottom: 15px;
}

#aboutlist {
	gap: 10px;
}

#aboutlist > .singleitem {
	border: 1px solid #0b6bdc;
	width: calc((99.99% - 20px) / 3);
}

@media screen and (max-width: 834px)	{
	#aboutlist > .singleitem {
		width: 100%;
	}
}

#aboutlist > .singleitem .number {
	background: url(images/radius_list_bg.png) center center / cover no-repeat;
}

#aboutlist .txt_box {
	padding: 30px;
}

#aboutlist .txt_box .buttonarea a {
	width: 100%;
	position: relative;
}

#aboutlist .txt_box .buttonarea a::after {
  content: "";
  width: 30px;
  height: 23px;
  display: block;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-image: url(images/sec5_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

.radius_list {
	list-style-type: none;
}

.radius_list > li {
	margin-bottom: 15px;
	border: 1px solid;
	border-radius: 50vmin;
	padding: 10px;
	line-height: 1.5;
}
#mind .flex.member1 > .col {
	text-align: start;
}

.global-footer .btn .txt {
	color: #fff;
}
.l-wrap {
	max-width: 1680px;
}
@media (min-width: 768px) {
  .l-wrap {
    margin: 0 auto;
    padding: 0 100px;
  }
}

/* .member_flex */
.member_flex {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
.member_flex > .member_box {
  width: 100%;
}
.member_flex > .member_box:nth-of-type(2n - 1) .member1 {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.member_flex > .member_box:nth-of-type(2n) .member1,
.member_flex > .member_box:nth-of-type(2n) .member1 picture {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}
.member_flex > .member_box .txt {
	padding: 0 0.5rem;
}
.member_flex > .member_box .txt p {
	padding: 0 1.5rem;
}
/* ▲ .member_flex ▲ */

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

	.pc	{
		display: none !important;
	}
	
	.sp	{
		display: block !important;
	}
	
	.sp.flex	{
		display: flex !important;
	}
	
	.sp.inline,br.sp	{
		display: inline-block !important;
	}
	h1, h2, h3, h4, h5, h6, p, th, td, dd, dt	{
		font-size: 3.5vw;
	}
	.mt15	{
		margin-top: 2.8vw !important;
	}
	
	.mt25	{
		margin-top: 2.8vw !important;
	}
	
	.mt30	{
		margin-top: 3rem !important;
	}
	
	.mt50	{
		margin-top: 5rem !important;
	}
	
	.mt75	{
		margin-top: 75px !important;
	}
	
	.mt100	{
		margin-top: 100px !important;
	}
	
	.mb15	{
		margin-bottom: 1.5rem !important;
	}
	
	.mb20	{
		margin-bottom: 2rem !important;
	}
	
	.mb25	{
		margin-bottom: 2.5rem !important;
	}
	
	.mb30	{
		margin-bottom: 3rem !important;
	}
	
	.mb40	{
		margin-bottom: 40px !important;
	}
	
	.mb50	{
		margin-bottom: 5rem !important;
	}
	
	.mb75	{
		margin-bottom: 75px !important;
	}
	
	.mb100	{
		margin-bottom: 100px !important;
	}
	
	.pt15	{
		padding-top: 15px !important;
	}
	
	.pt25	{
		padding-top: 25px !important;
	}
	
	.pt50	{
		padding-top: 50px !important;
	}
	
	.pt75	{
		padding-top: 75px !important;
	}
	
	.pt100	{
		padding-top: 100px !important;
	}
	
	.pt150	{
		padding-top: 150px !important;
	}
	
	.pb15	{
		padding-bottom: 15px !important;
	}
	
	.pb25	{
		padding-bottom: 25px !important;
	}
	
	.pb50	{
		padding-bottom: 50px !important;
	}
	
	.pb75	{
		padding-bottom: 75px !important;
	}
	
	.pb100	{
		margin-bottom: 100px !important;
	}
	
	.pb100	{
		margin-bottom: 150px !important;
	}

	.sp_pl0	{
		padding-left: 0 !important;
	}

	.sp_pr0	{
		padding-right: 0 !important;
	}

	.sp_pt0	{
		padding-top: 0 !important;
	}
	
	.fs12	{
		font-size: 2.8vw;
	}
	
	.fs14	{
		font-size: 3vw;
	}
	
	.fs16	{
		font-size: 3vw;
	}
	
	.fs18	{
		font-size: 3.1vw;
	}
	
	.fs20	{
		font-size: 4.25vw;
	}
	
	.fs22	{
		font-size: 4.4vw;
	}
	
	.fs24	{
		font-size: 4.6vw;
	}
	
	.fs26	{
		font-size: 4.8vw;
	}
	
	.fs28	{
		font-size: 5.0vw;
	}
	
	.fs30	{
		font-size: 5.1vw;
	}
	
	.fs32	{
		font-size: 5.2vw;
	}
	
	.fs34	{
		font-size: 5.3vw;
	}
	
	.fs36	{
		font-size: 5.4vw;
	}
	
	.fs40,
	.sp_fs42	{
		font-size: 5.6vw;
	}
	.fs43	{
		font-size: 8vw;
	}
	.fs45,.sp_fs45	{
		font-size: 6vw;
	}
	.fs50,
	.sp_fs50	{
		font-size: 6.6666vw;
	}
	
	.w610	{
		max-width: 610px;
		width: 100%;
		margin: 0 auto;
	
	}
	.w520{
		max-width: 500px;
		width: 100%;
		margin: 0 auto;	
	}
	.w700	{
		max-width: 700px;
		width: 100%;
		margin: 0 auto;
	}
	
	.w770	{
		max-width: 770px;
		width: 100%;
		margin: 0 auto;
	}
	
	.w900	{
		max-width: 900px;
		width: 100%;
		margin: 0 auto;
	}
	
	.w1000	{
		max-width: 1000px;
		width: 100%;
		margin: 0 auto;
	}
	
	header	{
		padding: 10vw;
		background-color: transparent;
	}
	header a.logo img	{
		filter: drop-shadow(0px 0 1px rgba(247,249,246,1));
	}
	.key .logo	{
		width: 38vw;
		left: 6.6666vw;
		top: 4vw;
	}
	.keylogo	{
		max-width: 30vw;
	}
	.key	{
		/* height: 160vw;
		z-index: 2;
		position: relative;
		overflow-x: hidden;
		background-image: none;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center bottom 10vw; */
	}
	.key .inner	{
		padding: 5vw 6.6666vw;
	}
	.key h1.mb50	{
		margin-bottom: 4rem !important;
	}
	.key h1, .key h1 > *,.key h2	{
		line-height: 110%;
	}
	.keylead	{
		bottom: 0;
	}
	.keypic	{
		position: relative;
		margin-left: -32vw;
		max-width: 160vw;
		width: 160vw;
		margin-top: -5vw;
    margin-bottom: -5vw;
    z-index: -1;
	}
	
	.keypic .movarea	{
		position: relative;
	}
	
	
	.keypic video.sp	{
		/* height: 50vh;
		top: 0;
		left: 50%;
		width: auto;
		right: auto;
		bottom: auto;
		position: absolute;
		transform: translateX(-50%); */
	}
	.sec1 .flex.gap40	{
		flex-wrap: wrap;
		gap: 2rem;
	}
	.sec1 .flex >.singleitem	{
		width: calc(50% - 1rem);
	}
	
	main section	{
		padding-bottom: 0 !important;
	}
	section > .inner	{
		padding: 10vw 0;
		padding-left: 6.6666vw;
		padding-right: 6.6666vw;
	}
	.contact section.sec12 > .inner	{
		padding-top: 0;
	}
	.sec1 .flex .singleitem .infoarea	{
		padding: 1vw 3.2vw 10vw;
	}
	
	.sec1 .flex .singleitem .infoarea a.cat	{
		font-size: 10px;
		padding: .8rem 2rem; 
	}
	
	.buttonarea a	{
		font-size: 3vw;
	}
	
	body	{
		background-image: url(images/bg.png);
		background-size: cover;
		background-position: center top;
		background-repeat: repeat;
	}

	main	{
		background: none;
	}
	main section.sec2 .sec2back	{
		bottom: auto;
		top: 120vw;
		width: 10.666vw;
	}
	main section:not(.sec1)	{
		padding-top: 0;
	}
	main section:not(.sec1) p	{
		padding-left: 3.8333vw;
		padding-right: 3.8333vw;
	}
	
	main section.sec_member .sec_member_back	{
		width: 10.6666vw;
	}
	.f_sec_member	{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.f_sec_member .col	{
		text-align: center;
	}
	
	.f_sec_member .col:last-child img	{
		margin-left: 0;
		width: 40vw;
	}
	.carousel img	{
		width: 50vw;
	}		
	
	.sec3 .flex.member1	{
		flex-direction: column;
	}
	
	.sec3 .flex.member1 > .col	{
		width: 100%;
		padding: 0;
	}
	.sec3 .flex.member1 > .col:first-child	{
		padding: 0 0 5rem;
	}
	.sec3 .flex.flex2	{
		flex-direction: column;
		gap: 2rem;
	}
	
	.sec3 .flex.flex2 > .col	{
		width: 100%;
		align-items: stretch;
		position: relative;
	}
	
	.sec3 .flex.flex2 .col .infoarea	{
		padding-top: 3rem;
		position: static;
	}
	
	.sec3 .flex.flex2 .col .infoarea p	{
		padding-left: 0;
		padding-right: 0;
	}
	
	main section.sec3 .sec3back	{
		width: 14.666vw;
	}
	main section.sec4	{
		overflow-y: visible;
	}
	main section.sec4 .sec4back	{
		top: auto;
		bottom: -30vw;
		width: 10.666vw;
		z-index: 10000;
	}
	.sec4	{
		z-index: 2;
	}
	.sec5	{
		position: relative;
		z-index: 1;
	}
	
	.sec5 .buttonarea a, footer .buttonarea a.fs30	{
		font-size: 5vw;
	}
	
	main section.sec6 .sec6back	{
		width: 54.666vw;
	}
	
	ul.schedule	{
		width: 90%;
		flex-wrap: wrap;
		gap: .8rem;
		justify-content: flex-start;
		margin-left: auto;
		margin-right: auto;
	}
	
	.scharea	{
		padding-bottom: calc(40px + 1rem);
	}
	
	ul.schedule li	{
		width: calc(50% - .4rem);
	}
	
	.tabindex	{
		justify-content: space-between;
	}
	.tabindex li	{
		width: calc(33.333% - .4rem);
	}
	
	.tabcontent	{
		padding: 7.5vw 2vw;
	}
	
	footer > .inner	{
		padding: 10vw 0;
	}
	
	footer > .inner h1.fs40	{
		font-size: 8vw;
	}
	
	.sec5 .buttonarea a,
	footer .buttonarea a	{
		padding: 10px 25vw;
	}
	main section.sec7 .inner	{
		position: relative;
		z-index: 2;
	}
	main section.sec7 .sec7back	{
		width: 12.3333vw;
		bottom: -6vw;
		z-index: 1;
	}
	.drawer-nav .buttonarea a	{
		padding: 10px 20vw;
	}
	footer .footer2	{
		padding: 10vw 0;
	}
	
	footer .footer2 .copyright	{
		padding-left: 6.6666vw;
		padding-right: 6.6666vw;
		font-size: 10px;
		zoom: 0.8;
		text-align: center;
		opacity: 0.8;
	}
	
	.drawer-nav	{
		background-color: #18212b;
	}
	
	.drawer-nav *	{
		color: #fff;
	}
	
	.drawer-nav ul	{
		flex-direction: column;
	}
	
	.drawer-nav	{
		width: 66.666vw;
	}
	
	.drawer--right .drawer-nav	{
		right: -66.666vw;
	}
	
	.drawer--right.drawer-open .drawer-hamburger	{
		right: 66.666vw;
	}
	
	.drawer-nav .inner	{
		padding: 10vw 6.6666vw;
	}
	.drawer-nav .inner img	{
		margin-bottom: 3.3333vw;
	}
	nav.drawer-nav > .inner > ul > li	{
		padding: 3.3333vw 0;
		font-size: 4.5vw;
	}
	
	nav.drawer-nav > .inner > ul > li.buttonarea a	{
		color: white !important;
		font-size: 4vw;
		margin-top: 2vw;
	}
	
	nav.drawer-nav > .inner > ul > li.buttonarea a:after	{
		z-index: 100000;
		opacity: 1;
		width: 5vw;
		height: auto;
	}
	
	.sec12 p.form_item	{
		margin-bottom: 6.6666vw;
	}
	
	.sec12 p label + input[type="text"],
	.sec12 p label + input[type="email"],
	.sec12 p label + textarea,
	.sec12 p label.demibold[for="contact_category1"] + label	{
		margin-top: 5.1vw;
	}

	input[type="submit"],
	.thanks input[type="button"]	{
		max-width: 72vw;
		padding: 5vw;
		margin-top: 10vw;
	}
	
	.confirm .confirmtext	{
		margin-bottom: 12.5vw;
	}
	.confirm .submit-inner	{
		gap: 0;
		align-items: flex-start;
		width: 100% !important;
	}
	.confirm .submit-inner > *	{
		flex: 1;
		width: 50%;
	}
	.confirm .submit-inner a input, .confirm input[type="submit"],
	.thanks .submit-inner a input	{
		padding: 5vw;
		text-align: center;
	}
	.confirm input[type="submit"]	{
		margin-left: 5vw;
	}
	.confirm .submit-inner > *	{
		width: 50% !important;
	}
	.confirm .submit-inner input,
	.thanks .submit-inner a input	{
		font-size: 4vw;
	}
	.member_flex {
		flex-wrap: wrap;
		gap: 5vw;
	}
}