@charset "utf-8";

@font-face {font-family: 'din';
src: url('/css/font/din.eot'); /* IE9 Compat Modes */
src: url('/css/font/din.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	 url('/css/font/din.woff') format('woff'), /* Modern Browsers */
	 url('/css/font/din.ttf')  format('truetype') /* Safari, Android, iOS */}

@font-face {font-family: 'Noto Sans Japanese'; font-weight: 400;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
	 url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
	 url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');}

@font-face {font-family: 'Noto Sans Japanese'; font-weight: 700;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
	 url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
	 url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');}

*, *:before, *:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}

html {font-size: 100%; min-width: 320px;}
body {-webkit-text-size-adjust: 100%;}
table ol,
table ul {padding-left: 1.5em;}
img {height: auto; border: none; max-width: 100%;}
.fnt-din {font-family: din, Arial;}

a {color: #0e2866;}
img {vertical-align: top; font-size: 0; line-height: 0; height: auto;}

body {padding: 0; margin: 0; line-height: 1; font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Noto Sans Japanese", "メイリオ", Meiryo;}
section {line-height: 1.8; position: relative;}


header {padding: 15px; text-align: right;}
header ul:after,
footer ul:after {content: ""; display: block; clear: both;}

header ul {margin-top: 0.5em;}
header .logo {float: left;}
ul.nav li {float: left; border-left: solid 1px #999}
header li.home,
footer li.home {border: none}

h1,h2,h3,h4,h5,h6 {line-height: 1.6; position: relative;}
h2, h3, h4 {margin-top: 3rem; margin-bottom: 1.5em;}
h1 {letter-spacing: 0.1em;}
h2 {letter-spacing: 0.05em;}
h1 {text-align: center;}
h1.solid {letter-spacing: 0.2em; color: #03115a;}
h1.solid:before,
h1.solid:after {content:'――'; letter-spacing: -0.1em !important; color: #03115a;}
h1.solid:before {margin-right: 0.6em;}
h1.solid:after {margin-left: 0.3em;}

h2.catch {font-weight: normal;}
h2.catch .in-block {text-align: left;}
h2 .date {font-size: 1rem; letter-spacing: 0;}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
p:first-child, ul:first-child, ol:first-child, dl:first-child, table:first-child {margin-top: 0}
/* div:last-child, */
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child,
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {margin-bottom: 0 !important;}

.ss {font-size: 80%;}
.sm {font-size: 90%;}
.lg {font-size: 115%;}
.xlg {font-size: 130%;}
.xxlg {font-size: 150%;}
.xxxlg {font-size: 175%;}
.exlg {font-size: 200%;}


/* HOME */
#prom-img {background-color: #000;}
#prom-img section {padding-top: 120px;}
#prom-img p.lnk-suq {margin-top: 5em;}

#bxslider li {text-align: center; line-height: 1.5; font-size: 85%;}
#bxslider li img {display: inline-block; width: 80%; height: auto;}

#hom-news dl {line-height: 1.5;}
#hom-news dt {float: left;}
#hom-news dd {padding-left: 4em; margin-bottom: 0.8em;}

/* 下層 */
ul.img-list {line-height: 1.5; list-style: none; margin: 0; padding: 0;}
ul.img-list li {vertical-align: top; display: inline-block; width: 32.6%; margin: 0; padding: 1em 2%; text-align: center;}
ul.img-list img {width: 100%;}
ul.img-list span {display: block; margin-top: 0.3em;}

ul.gallery {display: flex; list-style: none; margin: 0; padding: 0;}

ul.gallery li img,
ul.gallery li video{border: solid #fff; border-width: 0 1px 1px 0}

ul.gallery li.col1 {width: 100%; text-align: center;}
ul.gallery li.col2 {width: 50%;}
ul.gallery li {width: 25%;}

.senpai.img-wrap {border: solid 10px #fff;}

#mail_form {width: 85%; margin: 0 auto;}

@media (min-width: 640px) {
body#event section h2 {display: flex; justify-content: space-between;}
}
body#event section h2 .date {white-space: nowrap;}
@media only screen and (max-width: 639px) {
body#event section h2 .date {display: block; margin-top: 1em; text-align: right;}
}

/* */
section:after,
.cf:after,
ul.gallery:after {content: ""; display: block; clear: both;}

.ta-c,
.tx-center {text-align: center;}
.tx-left {text-align: left;}
.tx-right {text-align: right;}

.d-ib,
.in-block {display: inline-block;}

.va-middle {vertical-align: middle;}
.nowrap {white-space: nowrap;}
.flr {float: right;}
.fll {float: left;}


.copy {text-align: center;}
.img-wrap {position: relative;}
.img-wrap p {padding: 0.2em 0.4em; position: absolute; right: 0; bottom: 0; background-color: rgba(30,30,30,0.75); line-height: 1.3;}
.img-wrap img {width: 100%;}
.img-wrap + p {margin-top: 0;}
.cover-img .img-wrap.flr {width: 48%; margin-left: 4%;}

.wrap.gray {background: #EFF2F2;}
.wrap.blue {background: #03115a; color: #fff;}
.wrap.cyan {background: #DBEAF9}

body#event .wrap:nth-child(2n) {background-color: #EFF2F2;}

.tx-white,
.tx-white a,
.c-wht {color: #fff;}

.tx-shadow {text-shadow: 0 0 0.2em #000, 0 0 0.2em #000;}

/*  */
.lnk-suq {margin: 3em 0; text-align: center;}
.lnk-suq a {background-color: #fff; letter-spacing: 0.1em; line-height: 1; text-decoration: none; display: inline-block; min-width: 15em; padding: 0.9em 1em; border: solid 1px;}
.lnk-suq a::before {content:"▸"; display: inline-block; text-decoration: none; margin-right: 0.2em;}
.lnk-suq.blk a {background-color: rgba(30,30,30,0.75); color: #fff;}
.lnk-suq a:hover {text-decoration: underline;}

section {max-width: 1000px; margin: 0 auto;}
div[id^="modal_"] {padding: 3%; display: none;}
.wrap section {padding: 6% 3%;}
.cover-img {background-size: cover !important;}
.cover-img .wrap {background-color: rgba(14,40,102,0.8); color: #fff;}

header {
  box-shadow: 0px 0 8px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0px 0 8px rgba(0,0,0,0.6);
  -moz-box-shadow: 0px 0 8px rgba(0,0,0,0.6);
  position:relative;
  z-index:1;
}

header p {margin: 0;}
header a {color: #03115a;}
footer, footer a {color: #fff;}
#copy {margin: 0; padding: 1em; text-align: center;}

footer {background: #333 !important;}
footer .btn-inq {margin: 0 auto; max-width: 650px; line-height: 1.4;}
footer .btn-inq a {border: solid 1px #fff; padding: 0.5em 0.8em; display: block; text-align: center; letter-spacing: 0.25em; text-decoration: none;}
footer .btn-inq .icon:before {vertical-align: middle; display: inline-block; content: url(/img/icon_inq.svg); width: 4em; height: auto; margin: 0 1em;}
footer .btn-inq a:hover {text-decoration: underline;}
footer .pamph:before {display: inline-block; content: url(/img/icon_pamph.svg); width: 2em; height: auto; margin-right: 0.5em; vertical-align: middle;}

ul.nav {line-height: 1; display: inline-block;}
ul.nav {margin: 0; padding: 0; list-style: none;}
ul.nav a {text-decoration: none; display: block; padding: 0.3em 1em;}

header ul.nav {margin-top: 0.6em;}
header em {font-style: normal; display: inline-block; padding: 4px 0; box-sizing: border-box; border-bottom: solid 3px transparent;}
header a:hover em {border-bottom-color: #03115a;}
#home    header .home    a em,
#outline header .outline a em,
#works   header .works   a em,
#recruit header .recruit a em,
#inquiry header .inquiry a em {border-bottom-color: #03115a;}
#home    header .home    a,
#outline header .outline a,
#works   header .works   a,
#recruit header .recruit a,
#inquiry header .inquiry a {cursor: default;}

table {border-collapse: collapse; border-spacing: 0; width: 100%; border: none; border-top: solid #bbb 1px;}
table th {text-align: left; background-color: #ececec; font-weight: normal; width: 20%; vertical-align: top;}
table th,
table td {padding: 3%; border: none; border-bottom: solid #bbb 1px;}
table td {padding-right: 0;}

table ul {padding-left: 1.5em;}
.nowrap {white-space: nowrap;}

.wid-50p {width: 50%;}
.mt-1em {margin-top: 1em;}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
p:first-child, ul:first-child, ol:first-child, dl:first-child, table:first-child {margin-top: 0}
/* div:last-child, */
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child,
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {margin-bottom: 0 !important;}

@media print {
	#contents * {text-shadow: none;}
}

.photo-bg {background-size: cover; background-position: top center; min-height: 22rem; }

.m-2em-0 {margin: 2em 0;}
.mt-2em {margin-top: 2em;}
.mt-0 {margin-top: 0;}
.mb-0 {margin-bottom: 0;}
.bp-tc {background-position: top center;}
.ta-r {text-align: right;}
.ml-a {margin-left: auto;}
.mr-a {margin-right: auto;}
.as-c {align-self: center;}
.fd-rr {flex-direction: row-reverse;}
.d-f {display: flex;}

ul.gallery-f {display: flex; padding: 0; list-style: none;}
ul.gallery-f li {margin: 0; padding: 0; margin-right: 1px;}

@media only screen and (max-width: 639px) {
.sp-mt-1em {margin-top: 1em;}
.sp-mt-2em {margin-top: 2em;}
}

@media (min-width: 640px) {
.pc-col2 {display: flex; justify-content: space-between;}
.pc-col2 > div {width: 48%;}
.pc-h-a {height: auto;}
.pc-ta-c {text-align: center;}
}

@media (min-width: 640px) {
  .pc-fs-xxs {font-size: 62.5% !important;}
  .pc-fs-xs {font-size: 75% !important;}
  .pc-fs-s {font-size: 87.5% !important;}
  .pc-fs-l {font-size: 112.5% !important;}
  .pc-fs-xl {font-size: 137.5% !important;}
  .pc-fs-xxl {font-size: 162.5% !important;}
}