@charset "utf-8";

:root{
  --color: #239b9c;
}
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;vertical-align:baseline;background:transparent;box-sizing:border-box;}
html{font-size:62.5%;}
body{
	font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ヒラギノ角ゴ ProN W3','Hiragino Sans','Hiragino Kaku Gothic ProN','メイリオ',meiryo,"ＭＳ Ｐゴシック", sans-serif;
	font-size:1.8rem;
	color: #222;
	line-height:1.8;
	-webkit-text-size-adjust:100%;
	max-width:100%;
	min-width:320px;
	text-align:center;
	padding-top:80px;
	font-weight:500;
}
body::before{content:"";display:block;width:100%;height:100%;position:fixed;top:0;left:0;background:url(/img/back.jpg) no-repeat center center;background-size:cover;z-index:0;}
h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none;}
li{list-style-type:none;}
ins{text-decoration:none;}
mark{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;}
hr{display:block;height:1px;margin:1em 0;padding:0;border:0;border-top:1px solid #cccccc;}
input, select{vertical-align:middle;margin:0;box-sizing:border-box;}
input,textarea{-webkit-appearance:none;font-family:inherit;box-sizing:border-box;}
input:focus,textarea:focus,select:focus{outline:0;}
button{font-family:inherit;background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;box-sizing:border-box;}
button::-moz-focus-inner{border:0;}
input:placeholder-shown{color:#ccc;}
input::-webkit-input-placeholder{color:#ccc;}
input:-moz-placeholder{color:#ccc;opacity:1;}
input::-moz-placeholder{color:#ccc;opacity:1;}
input:-ms-input-placeholder{color:#ccc;}
pre{white-space:pre-wrap;font-family:inherit;}
img{border:none;vertical-align:bottom;max-width:100%;height:auto;}
small{font-size:75%;}
a{color:#222;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;box-sizing:border-box;outline:none;transition:.2s ease;}
a[href^="tel:"]{cursor:text;}
a:hover{color:#222;}
*:focus-visible,
select:focus-visible{outline:2px solid #222;transition:outline 0s!important;}
.en{font-family:"Inter",sans-serif;}

#wrapper{position:relative;z-index:1;}

/* -------------------------------------------------- */
/* header */
/* -------------------------------------------------- */
header .btn{position:fixed;top:20px;right:20px;z-index:100;}
header .btn a{padding:10px 20px;display:flex;align-items:center;gap:10px;border-radius:8px;background:#cb162f;color:#fff;font-size:1.8rem;font-weight:bold;line-height:1.4;border-bottom:2px solid #8b0e20;}
header .btn a::before{content:"";display:block;width:30px;height:30px;background:url(/img/icon_movie.png) no-repeat center center;background-size:100% auto;}
header .btn a:hover{opacity:0.7;}

/* -------------------------------------------------- */
/* footer */
/* -------------------------------------------------- */
footer{background:rgba(0,0,0,0.85);color:#fff;padding:40px 0;}
footer .company{font-weight:bold;font-size:2rem;margin-bottom:15px;}
footer .copyright{font-size:1.4rem;opacity:0.4;}

/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
.v-sp{display:none!important;}
.v-tablet{display:none!important;}
.v-pc{display:block!important;}

/* container */
.container{max-width:1280px;padding:0 40px;margin:auto;position:relative;}
section > .container{padding:100px 40px;}

/* ttl */
.common-ttl01{width:fit-content;margin:0 auto 60px;color:#fff;display:flex;align-items:flex-end;gap:5px 20px;position:relative;padding:0 50px;}
.common-ttl01 .en{font-size:5.4rem;font-weight:900;font-family:"Inter",sans-serif;letter-spacing:0.04em;-webkit-text-stroke: 6px var(--color);  text-stroke: 6px var(--color);  paint-order: stroke;line-height:1;position:relative;z-index:1;}
.common-ttl01 small{font-size:2.2rem;font-weight:bold;letter-spacing:0.08em;-webkit-text-stroke: 6px var(--color);  text-stroke: 6px var(--color);  paint-order: stroke;position:relative;z-index:2;}
.common-ttl01::before{content:"";display:block;width:100%;height:30px;background:var(--color);position:absolute;left:0;bottom:-8px;z-index:0;transform:skew(-30deg);}

/* bg */
.common-bg01{background:rgba(0,0,0,0.85);}

/* -------------------------------------------------- */
/* animation */
/* -------------------------------------------------- */
@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}
.fadein{animation-duration:1s;animation-fill-mode:both;opacity:0.01;}
.fadein.animated{animation-name:fadeInUp;transition:.6s ease-out;}

/* -------------------------------------------------- */
/* #block-main */
/* -------------------------------------------------- */
#block-main .inner{background:#fff;border-radius:10px;padding:0 40px 80px;margin-top:540px;}
#block-main .logo img{display:inline-block;margin:-130px auto 80px;}
#block-main .pop{margin-bottom:15px;}
#block-main .pop span{display:inline-block;padding:12px 60px 14px;background:var(--color);color:#fff;font-size:2.4rem;font-weight:bold;border-radius:100px;letter-spacing:0.08em;position:relative;}
#block-main .pop span::after{content:"";display:block;width: 0;height: 0;border-style: solid;border-width: 12px 12px 0px 12px;border-color: var(--color) transparent transparent transparent;position:absolute;top:100%;left:50%;margin-left:-12px;}
#block-main .ttl{font-size:3.6rem;font-weight:bold;letter-spacing:0.04em;margin-bottom:30px;}
#block-main p{line-height:2;}
#block-main p + p{margin-top:1.5em;}
#block-main .blue{color:var(--color);}
#block-main .sub{background:#eafafa;max-width:1000px;margin:60px auto 0;padding:60px 40px;border-radius:10px;}
#block-main .sub .sub-ttl{font-size:2.4rem;font-weight:bold;margin-bottom:25px;line-height:1.5;}
#block-main .sub .sub-ttl span{display:inline-block;position:relative;padding:0 25px;}
#block-main .sub .sub-ttl span::before{content:"";display:block;width:2px;height:25px;background:var(--color);transform:rotate(-35deg);position:absolute;left:0;bottom:5px;}
#block-main .sub .sub-ttl span::after{content:"";display:block;width:2px;height:25px;background:var(--color);transform:rotate(35deg);position:absolute;right:0;bottom:5px;}
#block-main .sub p{font-size:2rem;}
#block-main .sub .big{font-size:4.2rem;font-weight:bold;line-height:1.3;margin-top:15px;}

/* -------------------------------------------------- */
/* #block-archive */
/* -------------------------------------------------- */
#block-archive .list-video{display:flex;flex-wrap:wrap;gap:25px 20px;}
#block-archive .list-video > li{width:calc((100% - 40px) / 3);color:#fff;text-align:left;}
#block-archive .list-video > li a{width:100%;height:0;padding-bottom:56%;display:block;position:relative;overflow:hidden;}
#block-archive .list-video > li a:before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:#000;opacity:0.5;z-index:2;}
#block-archive .list-video > li a::after{content:"";display:block;width:70px;height:70px;background:url(/img/icon_play.png) no-repeat center center;background-size:100% auto;position:absolute;top:50%;left:50%;margin:-35px 0 0 -35px;z-index:3;transition:.2s ease;}
#block-archive .list-video > li a:hover img{transform:scale(1.1);}
#block-archive .list-video > li iframe,
#block-archive .list-video > li img{width:100%;height:100%;position:absolute;top:0;left:0;object-fit:cover;z-index:1;transition:.2s ease;}
#block-archive .list-video > li .label{font-size:1.6rem;padding:6px 15px;line-height:1;margin:-28px 0 12px -8px;position:relative;z-index:4;background:var(--color);color:#fff;width:fit-content;height:36px;position:relative;}
#block-archive .list-video > li .label span{font-size:2.4rem;}
#block-archive .list-video > li .label::after{content:"";display:block;width: 0;height: 0;border-style: solid;border-width: 36px 0px 0px 20px;border-color: transparent transparent transparent var(--color);position:absolute;left:100%;bottom:0;}
#block-archive .list-video > li p{font-size:1.6rem;line-height:1.5;font-weight:bold;}

/* -------------------------------------------------- */
/* #block-program */
/* -------------------------------------------------- */
#block-program .container{padding-top:40px;}
#block-program .lead{font-size:2.8rem;font-weight:bold;letter-spacing:0.04em;color:#fff;margin-bottom:60px;}
#block-program .box{padding:30px 40px;font-size:2rem;background:#fff;border-radius:10px;display:flex;align-items:center;gap:50px;max-width:900px;margin:auto;}
#block-program .sub-ttl{font-size:2.4rem;font-weight:bold;letter-spacing:0.04em;}
#block-program .sub-ttl::before{content:"◆";color:var(--color);margin-right:10px;}

/* -------------------------------------------------- */
/* #block-program */
/* -------------------------------------------------- */
#block-member .container{padding-top:40px;}
#block-member .list-member > li{padding:40px 60px;background:#fff;border-radius:10px;display:flex;gap:40px;align-items:flex-start;}
#block-member .list-member > li + li{margin-top:10px;}
#block-member .list-member > li .img{border-radius:100%;overflow:hidden;max-width:30%;}
#block-member .list-member > li .inner{align-self:center;flex:1;text-align:left;font-size:1.6rem;}
#block-member .list-member > li .name{font-size:2.6rem;font-weight:bold;margin-bottom:10px;}
#block-member .list-member > li .name small{font-size:1.8rem;margin-right:15px;}

/* -------------------------------------------------- */
/* #block-staff */
/* -------------------------------------------------- */
#block-staff .inner{background:#fff;border-radius:10px;padding:60px 60px 80px;max-width:1000px;margin:auto;}
#block-staff .list-staff{max-width:750px;margin:auto;}
#block-staff .list-staff > li dl{display:flex;align-items:flex-start;gap:40px;}
#block-staff .list-staff > li dt{position:relative;width:10em;padding:3px 0;}
#block-staff .list-staff > li dt::before{content:"";display:block;width:100%;height:100%;background:#eafafa;position:absolute;left:0;bottom:0;z-index:0;transform:skew(-30deg);}
#block-staff .list-staff > li dt span{font-size:1.8rem;font-weight:bold;color:var(--color);position:relative;z-index:1;}
#block-staff .list-staff > li dd{font-size:2.4rem;font-weight:bold;text-align:left;flex:1;letter-spacing:0.04em;line-height:1.4;}
#block-staff .list-staff > li dd small{font-size:1.8rem;font-weight:500;letter-spacing:0;margin-left:5px;display:inline-block;}
#block-staff .list-staff > li dd .sub{background:#f5f5f5;font-size:1.6rem;padding:20px 30px;border-radius:8px;margin-top:10px;font-weight:500;letter-spacing:0;line-height:1.8;}
#block-staff .list-staff > li + li{margin-top:40px;}

/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:1099px){
	.v-pc{display:none!important;}
	.v-tablet{display:block!important;}
}

/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:999px){
	html{font-size:56%;}
	body{font-size:1.6rem;}
	body::before{background-position:10% center;}
	
	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header .btn{top:5px;right:5px;}
	header .btn a{padding:10px 15px;gap:8px;font-size:1.6rem;}
	header .btn a::before{width:20px;height:20px;}

	/* -------------------------------------------------- */
	/* footer */
	/* -------------------------------------------------- */
	footer{padding:30px 0;}
	footer .copyright{font-size:1.2rem;}

	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-tablet{display:none!important;}
	.v-sp{display:block!important;}

	/* container */
	.container{padding:0 5%;}
	section > .container{padding:60px 5%;}

	/* ttl */
	.common-ttl01{margin:0 auto 40px;gap:0 10px;padding:0 40px;flex-direction:column;align-items:center;}
	.common-ttl01 .en{font-size:4.2rem;}
	.common-ttl01 small{font-size:1.8rem;line-height:1;}
	.common-ttl01::before{height:40px;}
	
	/* -------------------------------------------------- */
	/* #block-main */
	/* -------------------------------------------------- */
	#block-main > .container{padding-left:0;padding-right:0;}
	#block-main .inner{padding:0 5% 40px;margin-top:clamp(300px,90vw,500px);}
	#block-main .logo img{max-width:40vw;margin:-20vw auto 40px;margin-top:clamp(-22vw,-100px,-130px);}
	#block-main .pop{margin-bottom:20px;}
	#block-main .pop span{font-size:2rem;padding:6px 30px 8px;}
	#block-main .ttl{font-size:3rem;line-height:1.5;margin-bottom:25px;}
	#block-main p{text-align:left;}
	#block-main .sub{margin-top:30px;padding:40px 5%;}
	#block-main .sub .sub-ttl{margin-bottom:15px;}
	#block-main .sub .sub-ttl span{padding:0 15px;max-width:calc(100% - 20px);font-size:2.2rem;line-height:1.4;}
	#block-main .sub p{font-size:1.8rem;}
	#block-main .sub .big{font-size:3rem;text-align:center;}

	/* -------------------------------------------------- */
	/* #block-archive */
	/* -------------------------------------------------- */
	#block-archive .list-video{gap:15px 10px;}
	#block-archive .list-video > li{width:calc((100% - 10px) / 2);}
	#block-archive .list-video > li a::after{width:40px;height:40px;margin:-20px 0 0 -20px;}
	#block-archive .list-video > li .label{font-size:1.4rem;height:28px;padding:5px 12px;margin:-28px 0 10px 0;}
	#block-archive .list-video > li .label span{font-size:2rem;}
	#block-archive .list-video > li p{font-size:1.4rem;}
	#block-archive .list-video > li .label::after{border-width:28px 0px 0px 15px;}

	/* -------------------------------------------------- */
	/* #block-program */
	/* -------------------------------------------------- */
	#block-program .container{padding-top:20px;}
	#block-program .lead{font-size:2.2rem;margin-bottom:30px;line-height:1.6;}
	#block-program .box{display:block;text-align:left;padding:20px 30px;font-size:1.8rem;}
	#block-program .sub-ttl{font-size:2rem;margin-bottom:5px;}
	#block-program .sub-ttl::before{margin-right:5px;}

	/* -------------------------------------------------- */
	/* #block-program */
	/* -------------------------------------------------- */
	#block-member .container{padding-top:20px;}
	#block-member .list-member > li{display:block;padding:30px;}
	#block-member .list-member > li .img{max-width:50%;margin:0 auto 15px;width:fit-content;}
	#block-member .list-member > li .inner{font-size:1.4rem;}
	#block-member .list-member > li .name{font-size:2.4rem;margin-bottom:5px;}
	#block-member .list-member > li .name small{margin-right:10px;}

	/* -------------------------------------------------- */
	/* #block-staff */
	/* -------------------------------------------------- */
	#block-staff .inner{padding:40px 30px;}
	#block-staff .list-staff > li dl{gap:20px;}
	#block-staff .list-staff > li dt{margin-bottom:0;font-size:1.6rem;}
	#block-staff .list-staff > li dd{font-size:2rem;}
	#block-staff .list-staff > li dd small{font-size:1.5rem;display:block;margin-left:0;margin-top:5px;}
	#block-staff .list-staff > li dd .sub{font-size:1.4rem;padding:15px 20px;}

}
@media screen and (min-width:1px) and (max-width:374px){
	html{font-size:48%;}
}