@charset "utf-8";

/*==============================================================================
  
 【common.css】- 共通/テーマ別スタイルシート
  
  テーマに依存しないスタイルとファーストビューに必要なスタイルを記述しています。
  また、それぞれの項目ではスタイル上書きによる無駄な記述をさけるため、
  メディアクエリで完全にスタイルを分けて記述しています。

  <目次>
   # Reset CSS
   # Text
   # Link
   # Image
   # List
   # Table
   # From
   # Space
   # Other
   # General
   # Loading
   # Header
   # fixed-menu
   # Main column
  
==============================================================================*/


/*--------------------------------------
  # Reset CSS
--------------------------------------*/

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;}body {line-height:1;-webkit-text-size-adjust:100%;}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;text-decoration:none;vertical-align:baseline;background:transparent;cursor:text;}/* 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:1.5em 0;padding:0;}input,select {-webkit-appearance: none;appearance: none;vertical-align:middle;}select::-ms-expand{display: none;}ul,ol,li {list-style-type: none;}input::-ms-clear {visibility:hidden}input::-ms-reveal {visibility:hidden}h1,h2,h3,h4,h5,h6 {font-weight: normal;}*{box-sizing: border-box;margin: 0;padding: 0;font-size: 100%;font-style: normal;border: none;outline: none;}

/*--------------------------------------
  # Text
--------------------------------------*/

p {  margin-bottom: 2rem;}

/* indent
--------------------*/
p.indent {  text-indent: -1em;  padding-left: 1em;}
p.indent2em {  text-indent: -2em;  padding-left: 2em;}
p.indent2-5em {  text-indent: -2.5em;  padding-left: 2.5em;}
p.indent3em {  text-indent: -3em;  padding-left: 3em;}
p.indent4em {  text-indent: -4em;  padding-left: 4em;}
p.indent5em {  text-indent: -5em;  padding-left: 5em;}
p.indent6em {  text-indent: -6em;  padding-left: 6em;}
p.indent7em {  text-indent: -7em;  padding-left: 7em;}
p.indent8em {  text-indent: -8em;  padding-left: 8em;}
p.indent9em {  text-indent: -9em;  padding-left: 9em;}
p.indent10em {  text-indent: -10em;  padding-left: 10em;}
p.indent11em {  text-indent: -11em;  padding-left: 11em;}
p.indent12em {  text-indent: -12em;  padding-left: 12em;}
strong { font-weight: 700;}
.strong { font-weight: 700;}
.no-strong { font-weight: 400;}
.marker {padding:0 5px;background:linear-gradient(transparent 0%, rgba(255,243,74,1) 0%);}
.en-font {font-family: 'Oswald', sans-serif;}

/* align
--------------------*/
.alignright {  text-align: right;}
.alignleft {  text-align: left;}
.aligncenter {  text-align: center;}
.valigntop {  vertical-align: top;}
.valignmiddle {  vertical-align: middle;}
.valignbottom {  vertical-align: bottom;}
@media all and (max-width:949px) {
.sp-alignright { text-align: right !important;}
.sp-alignleft { text-align: left !important;}
.sp-aligncenter { text-align: center !important;}
}

/* size
--------------------*/
.fs-small {  font-size: 80% !important;}
.fs-large {  font-size: 112% !important;}
.fs-big {  font-size: 125% !important;}
.fs-bigger {  font-size: 138% !important;}
.fs-biggest {  font-size: 153% !important;}

/* color
--------------------*/
.fc-black {  color: #000;}
.fc-red {  color: #d70c18;}
.fc-orange {  color: #F60;}
.fc-blue {  color: #0a397d;}
.fc-green {  color: #0F0;}
.fc-gray {  color: #999;}
.fc-yellow {  color: #fff101;}

/*--------------------------------------
  # Link
--------------------------------------*/

a:not(.call-link),
body.m .call-link {
  color: #0a397d;
  text-decoration: underline;
  cursor: pointer;
}
body.dv a:hover {
  text-decoration: none;
}

/*--------------------------------------
  # Image
--------------------------------------*/

img {
  max-width: 100%;
  height: auto;
}
img.alignright,div.alignright {
  float: right;
  clear: right;
  margin: 0 0 20px 20px;
}
img.alignleft,div.alignleft {
  float: left;
  clear: left;
  margin: 0 20px 20px 0;
}
div.alignright img {
  margin-left: 10px;
}
div.alignleft img {
  margin-right: 10px;
}
img.aligncenter {
  display: block;
  margin: 0 auto;
}

@media all and (max-width:949px) {

img.alignright,div.alignright {
  width: 40%;
  margin: 0 0 10px 10px;
}
img.alignleft,div.alignleft {
  width: 40%;
  margin: 0 10px 10px 0;
}
img.aligncenter, img.img-fit, div.img-fit {
  float: none;
  display: block;
  width: 100%;
  margin: 0 auto;
}
div.alignright img,div.alignleft img {
  display: block;
  margin: 0 0 10px;
}

}

/*--------------------------------------
  # List
--------------------------------------*/

ul,ol {
  margin-bottom: 1.5em;
}
ul > li {
  position: relative;
  padding-left: 1em;
}
ul > li:not(:last-child),ol > li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul > li:before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0.3em;
  width: 6px;
  height: 6px;
  margin: -1px 0 0 -1px;
  background: #0c377c;
  border-radius: 100%;
}
ol > li {
  list-style: decimal;
  margin-left: 1.5em;
}
ul.reset,ol.reset {
  margin-bottom: 0;
}
ul.reset > li,ol.reset > li {
  list-style: none;
  position: static;
  margin: 0;
  padding-left: 0;
}
ul.reset > li:before {
  content: normal;
  position: static;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  border-radius: 0;
}

/*--------------------------------------
  # Table
--------------------------------------*/
table {
  width: 100%;
  margin-bottom: 2em;
  word-break: break-all;
}
table caption {
  color: #0b6bde;
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  letter-spacing: 1px;
}
table:not(.layout) {
  border-top: 1px solid rgba(0,0,0,0.2);
}
table:not(.layout) th,table:not(.layout) td {
  padding: 15px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.2);
}
table:not(.layout) th {
	position: relative;
  /*border-bottom: 1px solid #0057a7;*/
}
table:not(.layout) th:before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left, rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
}
@media all and (min-width:950px) {
table.widthauto {
  width: auto;
	margin: 0 auto 2em;
}
table th.nowrap,table td.nowrap {
  white-space: nowrap;
}
table:not(.layout) tr:first-child th:after {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left, rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right, rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
}
}
@media all and (max-width:949px) {
table {
  font-size: 1.5rem;
}
div.adjust-table-sp {
  width: 100%;
  margin-bottom: 15px;
  overflow-x: scroll;
}
div.adjust-table-sp::-webkit-scrollbar {
  width: 4px;
}
div.adjust-table-sp::-webkit-scrollbar:horizontal {
  height: 4px;
}
div.adjust-table-sp::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 10px;
}
div.adjust-table-sp::-webkit-scrollbar-thumb:horizontal {
  background: #999;
  border-radius: 10px;
}
div.adjust-table-sp table {
  width: 790px;
}
table.sp-style th,table.sp-style td {
  display: block;
  width: 100% !important;
}
table.sp-style:not(.layout) {
	border-top: none;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
table.sp-style:not(.layout) th,table.sp-style:not(.layout) td {
	padding: 10px;
	border-bottom: none;
}
table.sp-style:not(.layout) th {
	padding: 5px;
	border-bottom: 1px dotted rgba(0,0,0,0.1);
}
table.sp-style:not(.layout) th:before {
	top: -1px;
	bottom: auto;
}
}

/*--------------------------------------
  # Form
--------------------------------------*/
form input:not([type="radio"]):not([type="checkbox"])):not([type="submit"]):not([type="button"]),form select,form textarea {
  display: inline-block;
  padding: 8px;
  font-family: 'Noto Sans JP', sans-serif;
  border: 1px solid #000;
  border-radius: 3px;
  vertical-align: top;
}
form select {
	position:relative;
	padding-right:30px !important;
	background:url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22%26%23x30EC%3B%26%23x30A4%3B%26%23x30E4%3B%26%23x30FC%3B_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2220px%22%20height%3D%2220px%22%20viewBox%3D%220%200%2020%2020%22%20style%3D%22enable-background%3Anew%200%200%2020%2020%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23333333%3B%22%20points%3D%2214.5%2C7%2010%2C14.793%205.5%2C7%20%22%2F%3E%3C%2Fsvg%3E') right 4px center no-repeat rgba(0,0,0,0.05) !important;
}
form select::-ms-expand{display:none}
form textarea {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 100px;
}
form input[type="radio"],form input[type="checkbox"] {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  background: #FFF;
  border: 1px solid #CCC;
  vertical-align: baseline;
}
form input[type="radio"] {
  position: relative;
  border-radius: 100px;
}
form input[type="radio"]:checked {
}
form input[type="radio"]:checked:after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 9px;
  height: 9px;
  background: #0057a7;
  border-radius: 100px;
}
form input[type="checkbox"] {
  position:relative;
  border-radius: 3px;
}
form input[type="checkbox"]:checked {
}
form input[type="checkbox"]:checked:after{
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 3px;
  width: 5px;
  height: 10px;
  transform: rotate(40deg);
  border-bottom: 3px solid #0057a7;
  border-right: 3px solid #0057a7;
}
form input[type="submit"],form input[type="button"] {
  display: inline-block;
  height: 2.5em;
  margin: 0 8px;
  padding: 0 40px;
  background: #666;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  border-radius: 3px;
  vertical-align: top;
  cursor: pointer;
}

/*--------------------------------------
  # Space
--------------------------------------*/

.mt0{margin-top:0px!important;}.mt5{margin-top:5px!important;}.mt10{margin-top:10px!important;}.mt15{margin-top:15px!important;}.mt20{margin-top:20px!important;}.mt25{margin-top:25px!important;}.mt30{margin-top:30px!important;}.mt35{margin-top:35px!important;}.mt40{margin-top:40px!important;}.mt45{margin-top:45px!important;}.mt50{margin-top:50px!important;}.mt55{margin-top:55px!important;}.mt60{margin-top:60px!important;}.mt65{margin-top:65px!important;}.mt70{margin-top:70px!important;}.mt75{margin-top:75px!important;}.mt80{margin-top:80px!important;}.mt85{margin-top:85px!important;}.mt90{margin-top:90px!important;}.mt95{margin-top:95px!important;}.mt100{margin-top:100px!important;}.mr0{margin-right:0px!important;}.mr5{margin-right:5px!important;}.mr10{margin-right:10px!important;}.mr15{margin-right:15px!important;}.mr20{margin-right:20px!important;}.mr25{margin-right:25px!important;}.mr30{margin-right:30px!important;}.mr35{margin-right:35px!important;}.mr40{margin-right:40px!important;}.mr45{margin-right:45px!important;}.mr50{margin-right:50px!important;}.mr55{margin-right:55px!important;}.mr60{margin-right:60px!important;}.mr65{margin-right:65px!important;}.mr70{margin-right:70px!important;}.mr75{margin-right:75px!important;}.mr80{margin-right:80px!important;}.mr85{margin-right:85px!important;}.mr90{margin-right:90px!important;}.mr95{margin-right:95px!important;}.mr100{margin-right:100px!important;}.mb0{margin-bottom:0px!important;}.mb5{margin-bottom:5px!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;}.mb35{margin-bottom:35px!important;}.mb40{margin-bottom:40px!important;}.mb45{margin-bottom:45px!important;}.mb50{margin-bottom:50px!important;}.mb55{margin-bottom:55px!important;}.mb60{margin-bottom:60px!important;}.mb65{margin-bottom:65px!important;}.mb70{margin-bottom:70px!important;}.mb75{margin-bottom:75px!important;}.mb80{margin-bottom:80px!important;}.mb85{margin-bottom:85px!important;}.mb90{margin-bottom:90px!important;}.mb95{margin-bottom:95px!important;}.mb100{margin-bottom:100px!important;}.ml0{margin-left:0px!important;}.ml5{margin-left:5px!important;}.ml10{margin-left:10px!important;}.ml15{margin-left:15px!important;}.ml20{margin-left:20px!important;}.ml25{margin-left:25px!important;}.ml30{margin-left:30px!important;}.ml35{margin-left:35px!important;}.ml40{margin-left:40px!important;}.ml45{margin-left:45px!important;}.ml50{margin-left:50px!important;}.ml55{margin-left:55px!important;}.ml60{margin-left:60px!important;}.ml65{margin-left:65px!important;}.ml70{margin-left:70px!important;}.ml75{margin-left:75px!important;}.ml80{margin-left:80px!important;}.ml85{margin-left:85px!important;}.ml90{margin-left:90px!important;}.ml95{margin-left:95px!important;}.ml100{margin-left:100px!important;}.pt0{padding-top:0px!important;}.pt5{padding-top:5px!important;}.pt10{padding-top:10px!important;}.pt15{padding-top:15px!important;}.pt20{padding-top:20px!important;}.pt25{padding-top:25px!important;}.pt30{padding-top:30px!important;}.pt35{padding-top:35px!important;}.pt40{padding-top:40px!important;}.pt45{padding-top:45px!important;}.pt50{padding-top:50px!important;}.pt55{padding-top:55px!important;}.pt60{padding-top:60px!important;}.pt65{padding-top:65px!important;}.pt70{padding-top:70px!important;}.pt75{padding-top:75px!important;}.pt80{padding-top:80px!important;}.pt85{padding-top:85px!important;}.pt90{padding-top:90px!important;}.pt95{padding-top:95px!important;}.pt100{padding-top:100px!important;}.pr0{padding-right:0px!important;}.pr5{padding-right:5px!important;}.pr10{padding-right:10px!important;}.pr15{padding-right:15px!important;}.pr20{padding-right:20px!important;}.pr25{padding-right:25px!important;}.pr30{padding-right:30px!important;}.pr35{padding-right:35px!important;}.pr40{padding-right:40px!important;}.pr45{padding-right:45px!important;}.pr50{padding-right:50px!important;}.pr55{padding-right:55px!important;}.pr60{padding-right:60px!important;}.pr65{padding-right:65px!important;}.pr70{padding-right:70px!important;}.pr75{padding-right:75px!important;}.pr80{padding-right:80px!important;}.pr85{padding-right:85px!important;}.pr90{padding-right:90px!important;}.pr95{padding-right:95px!important;}.pr100{padding-right:100px!important;}.pb0{padding-bottom:0px!important;}.pb5{padding-bottom:5px!important;}.pb10{padding-bottom:10px!important;}.pb15{padding-bottom:15px!important;}.pb20{padding-bottom:20px!important;}.pb25{padding-bottom:25px!important;}.pb30{padding-bottom:30px!important;}.pb35{padding-bottom:35px!important;}.pb40{padding-bottom:40px!important;}.pb45{padding-bottom:45px!important;}.pb50{padding-bottom:50px!important;}.pb55{padding-bottom:55px!important;}.pb60{padding-bottom:60px!important;}.pb65{padding-bottom:65px!important;}.pb70{padding-bottom:70px!important;}.pb75{padding-bottom:75px!important;}.pb80{padding-bottom:80px!important;}.pb85{padding-bottom:85px!important;}.pb90{padding-bottom:90px!important;}.pb95{padding-bottom:95px!important;}.pb100{padding-bottom:100px!important;}.pl0{padding-left:0px!important;}.pl5{padding-left:5px!important;}.pl10{padding-left:10px!important;}.pl15{padding-left:15px!important;}.pl20{padding-left:20px!important;}.pl25{padding-left:25px!important;}.pl30{padding-left:30px!important;}.pl35{padding-left:35px!important;}.pl40{padding-left:40px!important;}.pl45{padding-left:45px!important;}.pl50{padding-left:50px!important;}.pl55{padding-left:55px!important;}.pl60{padding-left:60px!important;}.pl65{padding-left:65px!important;}.pl70{padding-left:70px!important;}.pl75{padding-left:75px!important;}.pl80{padding-left:80px!important;}.pl85{padding-left:85px!important;}.pl90{padding-left:90px!important;}.pl95{padding-left:95px!important;}.pl100{padding-left:100px!important;}


/*--------------------------------------
  # Other
--------------------------------------*/

.clear {  clear: both;}
iframe {  display: block;}
@media all and (min-width:950px) {
.hide-d {  display: none !important;}
}
@media all and (max-width:949px) {
.hide-m {  display: none !important;}
}

/*--------------------------------------
  # General
--------------------------------------*/

html {
  font-size: 62.5%;
  overflow-y: scroll;
  word-break: break-all;
  line-break:strict;
}
@-moz-document url-prefix() { /* FireFox */
  html {
    word-break: normal;
    word-wrap: break-word;
  }
}
@media all and (-webkit-min-device-pixel-ratio: 0) { /* safari */
  _::-webkit-full-page-media, _:future, :root #container {
    word-break: normal !important;
    word-wrap: break-word !important;
  }
}
body {
  color: #000;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-family: 'Oswald','Noto Sans JP', sans-serif;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  counter-reset: number;
}

@media all and (max-width:949px) {
html { font-size: 55%;}
}

/*--------------------------------------
  # Loading
--------------------------------------*/
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
	background: #FFF;
  z-index: 9999;
}
#loading.open {
	background: none;
}
#loading.close {
	display: none;
}
#loading .loading-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	width: 100%;
	height: 100%;
	z-index: 9999;
}
#loading .loading-inner .loading-text {
  position: relative;
  line-height: 1.2;
}
#loading .loading-inner .loading-text.logo {
	padding: 0 20px;
	background: #FFF;
	text-align: center;
	transition: 2s;
	opacity: 0;
}
#loading .loading-inner .loading-text.logo.show {
	opacity: 1;
}
#loading .loading-inner .loading-text p {
	display : inline-block;
	margin: 0;
	padding-left: 100%;
	color: #FFF;
	font-style: italic;
	font-weight: 700;
	white-space : nowrap;
	line-height : 1em;
}
#loading .loading-inner .loading-text.t1 p,
#loading .loading-inner .loading-text.t3 p,
#loading .loading-inner .loading-text.t5 p,
#loading .loading-inner .loading-text.t7 p,
#loading .loading-inner .loading-text.t9 p {
	animation : tickerL 10s linear 1s infinite;
}
#loading .loading-inner .loading-text.t2 p,
#loading .loading-inner .loading-text.t4 p,
#loading .loading-inner .loading-text.t6 p,
#loading .loading-inner .loading-text.t8 p,
#loading .loading-inner .loading-text.t10 p {
	animation : tickerR 10s linear 1s infinite;
}
#loading .loading-inner .loading-text.t1 p {
	font-size: 3.0rem;
}
#loading .loading-inner .loading-text.t2 p {
	font-size: 6.0rem;
}
#loading .loading-inner .loading-text.t3 p {
	font-size: 5.0rem;
}
#loading .loading-inner .loading-text.t4 p {
	font-size: 2.0rem;
}
#loading .loading-inner .loading-text.t5 p {
	font-size: 7.0rem;
}
#loading .loading-inner .loading-text.t6 p {
	font-size: 6.0rem;
}
#loading .loading-inner .loading-text.t7 p {
	font-size: 8.0rem;
}
#loading .loading-inner .loading-text.t8 p {
	font-size: 2.0rem;
}
#loading .loading-inner .loading-text.t9 p {
	font-size: 6.0rem;
}
#loading .loading-inner .loading-text.t10 p {
	font-size: 3.0rem;
}
#loading:before, #loading:after {
  content: '';
  position: absolute;
	left: 0;
  width: 100%;
  height: 0;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left,  rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
  transition: 2s;
}
#loading.show:before, #loading.show:after {
  height: 50%;
}
#loading:before {top: 0;}
#loading.open:before {top: -100%;}
#loading:after {bottom: 0;}
#loading.open:after {bottom: -100%;}
@keyframes tickerL {
		0% { transform: translateX(0)}
	100% { transform: translateX(-100%)}
}
@keyframes tickerR {
		0% { transform: translateX(-100%)}
	100% { transform: translateX(0)}
}
#container {
  position: relative;
	overflow: hidden;
}
@media all and (min-width:950px) {
#loading .loading-inner .loading-text.t1 p {
	font-size: 4.0rem;
}
#loading .loading-inner .loading-text.t2 p {
	font-size: 13.0rem;
}
#loading .loading-inner .loading-text.t3 p {
	font-size: 9.0rem;
}
#loading .loading-inner .loading-text.t6 p {
	font-size: 6.0rem;
}
#loading .loading-inner .loading-text.t7 p {
	font-size: 18.0rem;
}
#loading .loading-inner .loading-text.t8 p {
	font-size: 4.0rem;
}
#loading .loading-inner .loading-text.t4,
#loading .loading-inner .loading-text.t5,
#loading .loading-inner .loading-text.t9,
#loading .loading-inner .loading-text.t10 {
	display: none;
}
}

/*--------------------------------------
  # Header
--------------------------------------*/
@media all and (min-width:950px) {
header#header{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
header#header div.site-title {
	position: relative;
	padding: 50px 80px;
	text-align: center;
}
body:not(#top) header#header div.site-title {
	width: 420px;
	height: 500px;
	padding: 50px 180px 50px 80px;
	overflow: hidden;
}
header#header div.site-title:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 700px 420px 0 0;
	border-color: #FFF transparent transparent transparent;
}
header#header div.site-title a {
	position: relative;
	display: block;
	max-width: 190px;
	height: 0;
	margin: 0 auto;
	padding-top: 120px;
	background: url(../img/site-title2.svg) no-repeat center 0;
	background-size: 100% auto;
	overflow: hidden;
	transition: 0.2s;
}
body.dv header#header div.site-title a:hover {
  opacity: 0.7;
}
header#header div.site-title span {
	position: relative;
	display: block;
	color: #18007f;
	font-size: 1.3rem;
	line-height: 1.2;
}
header#header div.header-inner div#global-nav-entry {
  position: fixed;
  top: 0;
  right: 100px;
	background: #fff34a;
  cursor: pointer;
  z-index: 1000;
}
header#header div.header-inner div#global-nav-entry a {
  position: relative;
	display: block;
  height: 100px;
	padding: 0 50px;
	color: #fff34a;
	font-size: 3.6rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	line-height: 100px;
	overflow: hidden;
  transition: 0.3s;
}
header#header div.header-inner div#global-nav-entry a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	background: rgb(0,87,167);
	background: -moz-linear-gradient(45deg,  rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(45deg,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(45deg,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	z-index: -1;
	transition: 0.3s;
}
header#header div.header-inner div#global-nav-entry a:after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 30px;
	height: 100%;
	-webkit-transform: scale(4) rotate(15deg);
	transform: scale(4) rotate(15deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	animation: shiny 3s ease-in-out infinite;
}
header#header div.header-inner div#global-nav-entry a:hover {
	color: #14306f;
}
header#header div.header-inner div#global-nav-entry a:hover:before {
	width: 0%;
}
header#header div.header-inner div#global-nav-entry a:hover:after {
	display: none;
}
header#header div#global-nav-icon {
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 1000;
}
header#header div#global-nav-icon div.nav-icon {
  position: relative;
  width: 100px;
  height: 100px;
  background: #FFF;
  transition: 0.25s;
}
header#header div#global-nav-icon div.nav-icon div.line1,
header#header div#global-nav-icon div.nav-icon div.line2,
header#header div#global-nav-icon div.nav-icon div.line3 {
  position: absolute;
  right: 28px;
  width: 43px;
  height: 2px;
  background: #14306f;
  transition: 0.25s;
}
header#header div#global-nav-icon div.nav-icon div.line1 {
  top: 22px;
}
header#header div#global-nav-icon div.nav-icon div.line2 {
  width: 33px;
  top: 37px;
}
header#header div#global-nav-icon div.nav-icon div.line3 {
  top: 52px;
}
header#header div#global-nav-icon.open div.nav-icon div.line1 {
  top: 37px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
header#header div#global-nav-icon.open div.nav-icon div.line2 {
  left: 50%;
  width: 0;
}
header#header div#global-nav-icon.open div.nav-icon div.line3 {
  top: 37px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
header#header div#global-nav-icon div.nav-icon div.text {
  position: absolute;
	top: 57px;
	left: 0;
  width: 100%;
	color: #14306f;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
header#header nav#global-nav,
header#header nav#global-nav.close {
  position: fixed;
  top: 0;
  right: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
  width: 0;
  height: 100%;
  padding: 0;
  overflow: hidden;
  z-index: 999;
  transition: background 0.2s;
}
header#header nav#global-nav.open {
	width: 100%;
  transition: background 0.2s;
}
header#header nav#global-nav div.global-nav-wrapper,
header#header nav#global-nav.close div.global-nav-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
  position: absolute;
  bottom: 0;
  right: -850px;
  width: 850px;
  height: 100%;
	background: rgba(183,188,218,0.95);
  transition: 0.3s;
  overflow: auto;
}
header#header nav#global-nav.open div.global-nav-wrapper {
  right: 0;
}
header#header nav#global-nav div.global-nav-inner {
	display: flex;
  justify-content: space-between;
  padding: 100px 80px;
}
header#header nav#global-nav div.global-nav-inner > ul:not(.sns) {
	width: 48%;
}
header#header nav#global-nav div.global-nav-inner > ul:not(.sns) > li {
	margin: 3vh 0;
}
header#header nav#global-nav div.global-nav-inner .item-name {
	display: block;
	color: #000;
	text-decoration: none;
	transition: 0.2s;
}
header#header nav#global-nav div.global-nav-inner .item-name .en {
	display: block;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.2;
}
header#header nav#global-nav div.global-nav-inner .item-name .jp {
	display: block;
	font-weight: 700;
}
header#header nav#global-nav ul li .sub-nav {
	padding: 0 0 0 10px;
}
header#header nav#global-nav ul li ul > li a {
  position: relative;
  display: block;
  color: #000;
	font-weight: 400;
  padding: 4px 0 4px 10px;
  text-decoration: none;
	line-height: 1.4;
}
header#header nav#global-nav ul li ul > li a:before {
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid #000;
}
body.dv header#header nav#global-nav a:hover{
	opacity: 0.7;
}
header#header nav#global-nav div.global-nav-inner > ul.sns {
	position: absolute;
	bottom: 200px;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	width: 80px;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li a {
	display: block;
	width: 25px;
	height: 0;
	margin: 0.8vh 0;
	padding-top: 25px;
	overflow: hidden;
	opacity: 0.6;
	transition: 0.2s;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.line a {
	background: url(../img/icon/line_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.instagram a {
	background: url(../img/icon/instagram_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.tiktok a {
	background: url(../img/icon/tiktok_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.twitter a {
	background: url(../img/icon/twitter_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.youtube a {
	background: url(../img/icon/youtube_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.facebook a {
	background: url(../img/icon/facebook_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.note a {
	background: url(../img/icon/note_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li a:hover {
	opacity: 0.4;
}
}
@media all and (max-width:949px) {
header#header{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
header#header div.site-title {
	position: relative;
  width: 100%;
  padding: 0 70px 0 10px;
}
header#header div.site-title:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40vh 40vw 0 0;
	border-color: #FFF transparent transparent transparent;
}
header#header div.site-title a {
	position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-top: 60px;
  background: url(../img/site-title.svg) no-repeat 0 15%;
  background-size: auto 80%;
  overflow: hidden;
}
header#header div.site-title span {
  position: absolute;
  top: 50px;
  left: 14%;
  display: block;
  color: #0a387d;
  font-size: 1.4rem;
  line-height: 1.2;
}
header#header div.header-inner div#global-nav-entry {
	display: none;
}
header#header div#global-nav-icon {
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 1000;
}
header#header div#global-nav-icon div.nav-icon {
  position: relative;
  width: 60px;
  height: 60px;
  background: #FFF;
  transition: 0.25s;
}
header#header div#global-nav-icon div.nav-icon div.line1,
header#header div#global-nav-icon div.nav-icon div.line2,
header#header div#global-nav-icon div.nav-icon div.line3 {
  position: absolute;
  right: 16px;
  width: 28px;
  height: 1px;
  background: #14306f;
  border-radius: 2px;
  transition: 0.25s;
}
header#header div#global-nav-icon div.nav-icon div.line1 {
  top: 12px;
}
header#header div#global-nav-icon div.nav-icon div.line2 {
  width: 18px;
  top: 22px;
}
header#header div#global-nav-icon div.nav-icon div.line3 {
  top: 32px;
}
header#header div#global-nav-icon div.nav-icon div.text {
  position: absolute;
	top: 35px;
	left: 0;
  width: 100%;
	color: #14306f;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}
header#header div#global-nav-icon.open div.nav-icon div.line1 {
  top: 22px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
header#header div#global-nav-icon.open div.nav-icon div.line2 {
  left: 50%;
  width: 0;
}
header#header div#global-nav-icon.open div.nav-icon div.line3 {
  top: 22px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
header#header nav#global-nav,
header#header nav#global-nav.close {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  padding: 0;
  background: rgba(183,188,218,0);
  overflow: auto;
  z-index: 999;
  transition: 0.2s;
}
header#header nav#global-nav.open {
	right: 0;
  background: rgba(183,188,218,1);
  transition: 0.2s;
}
header#header nav#global-nav div.global-nav-inner {
	/*display: flex;
	flex-wrap: wrap;
  justify-content: space-between;*/
	padding: 80px 20px 160px;
}
header#header nav#global-nav div.global-nav-inner > ul:not(.sns) {
	/*width: 48%;*/
}
header#header nav#global-nav div.global-nav-inner > ul:not(.sns) > li {
	margin: 1vh 0 3vh;
}
header#header nav#global-nav div.global-nav-inner .item-name {
	display: block;
	color: #000;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,0.4);
}
header#header nav#global-nav div.global-nav-inner .item-name .en {
	display: inline-block;
	margin: 0 2vw 0 0;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.2;
}
header#header nav#global-nav div.global-nav-inner .item-name .jp {
	display: inline-block;
	font-weight: 700;
}
header#header nav#global-nav ul li .sub-nav {
	padding: 5px 0 0 10px;
}
header#header nav#global-nav ul li ul > li a {
  position: relative;
  display: block;
  color: #000;
  font-size: 1.4rem;
	font-weight: 400;
  padding: 4px 0 4px 8px;
  text-decoration: none;
	line-height: 1.4;
}
header#header nav#global-nav ul li ul > li a:before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid #000;
}
header#header nav#global-nav div.global-nav-inner > ul.sns {
	flex:none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 6vh 0 0;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li a {
	display: block;
	width: 25px;
	height: 0;
	margin: 0 8px;
	padding-top: 25px;
	overflow: hidden;
	opacity: 0.6;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.line a {
	background: url(../img/icon/line_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.instagram a {
	background: url(../img/icon/instagram_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.tiktok a {
	background: url(../img/icon/tiktok_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.twitter a {
	background: url(../img/icon/twitter_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.youtube a {
	background: url(../img/icon/youtube_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.facebook a {
	background: url(../img/icon/facebook_black.svg) no-repeat center;
	background-size: 80% auto;
}
header#header nav#global-nav div.global-nav-inner > ul.sns li.note a {
	background: url(../img/icon/note_black.svg) no-repeat center;
	background-size: 80% auto;
}
}

/*--------------------------------------
  # fixed-menu
--------------------------------------*/

@media all and (min-width:950px) {
nav#fixed-menu {
  display: none;
}
}
@media all and (max-width:949px) {
nav#fixed-menu {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 100;
  transition: 0.4s;
}
nav#fixed-menu ul {
  display: flex;
	margin: 0 -15px;
}
nav#fixed-menu li {
  flex: 1;
  text-align: center;
}
nav#fixed-menu li a {
	position: relative;
  display: block;
  padding: 25px 5px;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
	transform: skew(-15deg,0);
	overflow: hidden;
}
nav#fixed-menu li.f-recruit a {
	background: #cfd9e9;
	color: #0057a7;
}
nav#fixed-menu li.f-entry a {
	background: rgb(0,87,167);
	background: -moz-linear-gradient(left,  rgba(0,87,167,1) 0%, rgba(147,29,107,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	background: linear-gradient(to right,  rgba(0,87,167,1) 0%,rgba(147,29,107,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0057a7', endColorstr='#931d6b',GradientType=1 );
	color: #fff34a;
}
nav#fixed-menu li a span {
	display: block;
	line-height:0%;
	transition: 0.3s;
}
nav#fixed-menu li a .en {
	font-size: 3.4rem;
	font-weight: 500;
	white-space: normal;
	letter-spacing: 2px;
	opacity: 0.1;
}
nav#fixed-menu li a::after {
	content: "";
	position: absolute;
	top: -10%;
	left: -20%;
	width: 30px;
	height: 100%;
	-webkit-transform: scale(4) rotate(15deg);
	transform: scale(4) rotate(15deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	animation: shiny 3s ease-in-out infinite;
}
}
@keyframes shiny {
  0% {left: -20%;}
 10% {left: 120%;}
100% {left: 120%;}
}

/*--------------------------------------
  # eyecatch
--------------------------------------*/

@media all and (min-width:950px) {
div#contents #eyecatch {
	position: relative;
	z-index: 5;
}
div#contents #eyecatch:before,div#contents #eyecatch:after {
	content: '';
	position: absolute;
	z-index: 2;
}
div#contents #eyecatch:before {
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 20vh 80vw;
	border-color: transparent transparent #b7bcda transparent;
}
div#contents #eyecatch:after {
  bottom: -1px;
	left: 0;
  border-bottom: 8vw solid #FFF;
  border-right: 100vw solid transparent;
}
div#contents #eyecatch .eyecatch-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 30%;
  overflow: hidden;
}
div#contents #eyecatch .eyecatch-wrapper:before {
	content: '';
	position: absolute;
	top: 25vh;
	right: -5%;
	width: 100%;
	max-width: 1055px;
	height: 0;
	padding-top: 38%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
  transform: rotate(-10deg);
	z-index: 2;
}
div#contents #eyecatch .eyecatch-wrapper img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	object-position: center 40%;
	transform: translate(-50%, -50%);
}

/* TOP */
#top div#contents #eyecatch:before {
	border-width: 0 0 100vh 430px;
}
div#contents #eyecatch .swiper-wrapper {
	height: 100vh;
	line-height: 0;
}
div#contents #eyecatch .swiper-slide img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}
div#contents #eyecatch .eyecatch-inner {
	position: absolute;
	bottom: 15vh;
	right: 0;
	padding-right: 80px;
  display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	transform: rotate(-10deg);
	transition: 1.2s;
	opacity: 0;
	z-index: 5;
}
div#contents #eyecatch .eyecatch-inner.show {
	opacity: 1;
}
div#contents #eyecatch .eyecatch-inner:before {
	content: '';
	position: absolute;
	top: 0;
	right: -5%;
	width: 110%;
	height: 0;
	padding-top: 70%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
}
div#contents #eyecatch .eyecatch-inner div {
	position: relative;
  color: #0057a7;
	font-size: 14.4rem;
	font-weight: 500;
  font-style: italic;
	text-shadow: 5px 5px 0px #fff34a;
	line-height: 1.2;
  transform: translateX(40px);
	transition: 1.2s;
	opacity: 0;
	z-index: 2;
}
div#contents #eyecatch .eyecatch-inner div.show {
	transform: translateX(0);
	opacity: 1;
}
div#contents #eyecatch .eyecatch-inner div.ete1 {
	order: 1;
	margin-bottom: -26px;
}
div#contents #eyecatch .eyecatch-inner div.ete2 {
	order: 3;
	margin-top: -40px;
}
div#contents #eyecatch .eyecatch-inner h2 {
	order: 2;
	padding: 3px 20px 8px;
	background: #FFF;
	color: #0057a7;
	font-size: 4.2rem;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 3px;
	line-height: 1.4;
	transform: translateX(40px) skew(-15deg,0);
	transition: 1.2s;
	opacity: 0;
	z-index: 1;
}
div#contents #eyecatch .eyecatch-inner h2.show {
	transform: translateX(0) skew(-15deg,0);
	opacity: 1;
}
}
@media all and (max-width:949px) {
div#contents #eyecatch {
	position: relative;
	overflow: hidden;
	z-index: 5;
}
div#contents #eyecatch:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
  border-bottom: 15vw solid #FFF;
  border-right: 100vw solid transparent;
	z-index: 5;
}
div#contents #eyecatch .eyecatch-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
  overflow: hidden;
}
div#contents #eyecatch .eyecatch-wrapper:before {
	content: '';
	position: absolute;
	top: 55%;
	right: -5%;
	width: 100%;
	height: 0;
	padding-top: 38%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
  transform: rotate(-10deg);
	z-index: 1;
}
div#contents #eyecatch .eyecatch-wrapper img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	transform: translate(-50%, -50%);
}

/* TOP */
#top div#contents #eyecatch:after {
  border-left: 100vw solid transparent;
	border-right: none;
}
div#contents #eyecatch .swiper-wrapper {
	line-height: 0;
}
div#contents #eyecatch .eyecatch-inner {
	position: relative;
	margin-top: -50%;
	text-align: center;
	transform: rotate(-10deg);
	z-index: 5;
}
div#contents #eyecatch .eyecatch-inner:before {
	content: '';
	position: absolute;
	top: 0;
	right: -8%;
	width: 120%;
	height: 0;
	padding-top: 70%;
	background: url(../img/bg/deco.png) no-repeat right center;
	background-size: 100% auto;
	transition: 1.2s;
	opacity: 0;
}
div#contents #eyecatch .eyecatch-inner.show:before {
	opacity: 1;
}
div#contents #eyecatch .eyecatch-inner:after {
	content: '';
	position: absolute;
	bottom: -20%;
	left: -20%;
	width: 140%;
	height: 80%;
	background: #b7bcda;
	transform: rotate(16deg);
	z-index: -1;
}
div#contents #eyecatch .eyecatch-inner div {
	position: relative;
  color: #0057a7;
	font-size: clamp(6.0rem, 16vw, 8.0rem);
	font-weight: 500;
  font-style: italic;
	text-shadow: 3px 3px 0px #fff34a;
	line-height: 1.2;
  transform: translateX(40px);
	transition: 1.2s;
	opacity: 0;
}
div#contents #eyecatch .eyecatch-inner div.show {
  transform: translateX(0);
	opacity: 1;
}
div#contents #eyecatch .eyecatch-inner div.ete1 {
	margin-bottom: -10px;
}
div#contents #eyecatch .eyecatch-inner div.ete2 {
	margin-bottom: 20px;
}
div#contents #eyecatch .eyecatch-inner h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 40px;
	color: #0057a7;
	font-size: 3.2rem;
	font-weight: 700;
	font-style: italic;
	text-align: left;
	letter-spacing: 2px;
}
div#contents #eyecatch .eyecatch-inner h2 span {
	display: block;
	margin-bottom: 5px;
	padding: 0 20px 5px;
	background: #FFF;
	line-height: 1.4;
	transform: translateX(40px) skew(-15deg,0);
	transition: 1.2s;
	opacity: 0;
}
div#contents #eyecatch .eyecatch-inner h2 span.show {
	transform: translateX(0) skew(-15deg,0);
	opacity: 1;
}
div#contents #eyecatch .eyecatch-inner h2 span.etj1 {
	margin-left: 10px;
	margin-right: auto;
}
div#contents #eyecatch .eyecatch-inner h2 span.etj3 {
	margin-left: auto;
	margin-right: 40px;
}
}
div#contents #eyecatch .eyecatch-inner div:before {
	position: absolute;
	top: 0;
	left: -1em;
	right: -1em;
	bottom: 0;
  background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	text-shadow: none;
}
div#contents #eyecatch .eyecatch-inner div.ete1:before {
	content:"ONE TEAM";
}
div#contents #eyecatch .eyecatch-inner div.ete2:before {
	content:"TO CHALLENGE";
}

/*--------------------------------------
  # Main column
--------------------------------------*/

@media all and (min-width:950px) {

/* main
--------------------*/
div#main {
	position: relative;
  clear: both;
	background: #FFF;
	/*z-index: 9;*/
}
/*div#main::before,*/div#main::after {
  content: '';
  position: absolute;
  left: 0;
}
/*div#main::before {
  top: -8vw;
  border-bottom: 8vw solid #FFF;
  border-right: 100vw solid transparent;
}*/
div#main::after {
	bottom: -7.9vw;
  border-top: 8vw solid #FFF;
  border-left: 100vw solid transparent;
}
#top div#main::after {
  border-top: 8vw solid #eef4f8;
}
div#main div.main-wrapper {
  clear: both;
  overflow: hidden;
}

/* breadcrumbs
--------------------*/
div#main nav#breadcrumbs {
	position: absolute;
	top: 20px;
	bottom: 0;
	right: 0;
	margin: 0 30px 0 0;
	color: #666;
  font-size: 1.4rem;
  line-height: 1.2;
	z-index: 2;
}
div#main nav#breadcrumbs ol {
	display: flex;
	-webkit-writing-mode: tb-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: tb-rl;
}
div#main nav#breadcrumbs li a,
div#main nav#breadcrumbs li > span {
  position: relative;
  display: block;
  padding: 20px 0 0;
	font-weight: 500;
	text-decoration: none;
	letter-spacing: 2px;
	transition: 0.2s;
}
div#main nav#breadcrumbs li a:before,
div#main nav#breadcrumbs li > span:before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
	width: 6px;
	height: 6px;
	border-bottom: 2px solid #0a397d;
	border-right: 2px solid #0a397d;
	transform: rotate(45deg);
}
div#main nav#breadcrumbs li:first-child a {
  padding: 0;
}
div#main nav#breadcrumbs li:first-child a:before {
  content: normal;
  display: none;
}
div#main nav#breadcrumbs li a:hover {
	opacity: 0.7;
}

/* node
--------------------*/
div#contents section.node {
	position: relative;
  clear: both;
  padding: 80px;
  overflow: hidden;
	z-index: 1;
}
div#contents section.node.wide {
	padding: 80px 0;
}
div#contents section.node.bg {
	padding-top: 140px;
}
div#contents section.node.bg:before {
	content: '';
	position: absolute;
	top: 70px;
	left: 0;
	bottom: 70px;
	right: 0;
	background: #f2f3f3;
	transform: skew(0,-5deg);
	z-index: -2;
}
div#contents section.node div.node-wrapper {
  clear: both;
  max-width: 1240px;
  margin: 0 auto;
}
div#contents section.node div.node-flex-wrapper {
  display: flex;
  justify-content: space-between;
}
div#contents section.node div.node-flex-inner {
  position: relative;
  width: 49%;
	padding-bottom: 6px;
}
div#contents div.node-inner {
  padding: 0 20px;
  overflow: hidden;
}
/*#top div#contents section.node {
  padding: 100px 80px;
}
#top div#contents section.node.wide div.node-wrapper {
  padding: 60px 0;
}*/

/* title
--------------------*/
div#contents .title_h2 {
  position: relative;
  clear: both;
	margin: 60px 0 20px;
  text-align: center;
}
div#contents .title_h2 .en {
	display: block;
	color: #fff34a;
	font-size: clamp(7.0rem, 10vw, 14.0rem);
	font-weight: 500;
	line-height: 0%;
}
div#contents .title_h2 h2 {
	position: relative;
	display: inline-block;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(3.2rem, 4vw, 5.6rem);
	font-weight: 700;
	line-height: 1.4;
}
div#main h3 {
  position: relative;
  clear: both;
  margin: 0 0 60px;
	font-size: min(3vw, 4.0rem);
  font-weight: 700;
	line-height: 1.4;
}
div#main h3.title {
	color: #0c377c;
	text-align: center;
  /*opacity: 0;
  transition: 1s;
  transform: translateY(20px);*/
}
/*div#main .node.show h3.title {
  opacity: 1;
  transform: translateY(0);
}*/
div#main h3.title span:not([class]) {
	position: relative;
	padding: 0 20px;
	transition: 1s;
}
div#main h3.title span:not([class]):before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 16px;
	background: #fff34a;
	transition: 1s;
	transform: skew(-30deg,0);
	z-index: -1;
}
div#main .node.show h3.title span:not([class]):before {
	width: 100%;
}
div#contents .title_h3 {
  position: relative;
  clear: both;
  margin: 0 0 60px;
}
div#contents .title_h3 .en {
	display: block;
	color: #fff34a;
	font-size: clamp(7.0rem, 10vw, 14.0rem);
	font-weight: 500;
	line-height: 0%;
}
div#contents .title_h3 h3 {
	display: inline-block;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(3.2rem, 4vw, 5.6rem);
	text-align: left;
}
div#main h4 {
  position: relative;
  clear: both;
  display: block;
  margin: 60px 0 30px -1px;
  color: #222;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 1px;
}
div#main h4.title {
	display: inline-block;
	margin-bottom: 2rem;
	padding: 2px 20px 5px 15px;
	background: #0c377c;
	color: #FFF;
  line-height: 1.4;
  transform: skew(-10deg, 0);
}
/*div#main h4:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 2px;
	background: rgba(0,0,0,0.2);
}*/
div#main h5 {
}
}
@keyframes sdl {
  0% { transform: scale(1, 0); transform-origin: 0 0;}
  50% { transform: scale(1, 1); transform-origin: 0 0;}
  50.1% { transform: scale(1, 1); transform-origin: 0 100%;}
  100% { transform: scale(1, 0); transform-origin: 0 100%;}
}
@media all and (max-width:949px) {

div#main {
	position: relative;
  clear: both;
	background: #FFF;
	z-index: 9;
}
/*div#main::before*/,div#main::after {
  content: '';
  position: absolute;
  left: 0;
}
/*div#main::before {
  top: -8vw;
  border-bottom: 8vw solid #FFF;
  border-left: 100vw solid transparent;
}*/
div#main::after {
	bottom: -10vw;
  border-top: 10vw solid #FFF;
  border-left: 100vw solid transparent;
}
div#main div.main-wrapper {
  clear: both;
  overflow: hidden;
}
div#main nav#breadcrumbs {
  display: none;
}

/* node
--------------------*/
div#contents section.node {
	position: relative;
  clear: both;
  padding: 40px 20px;
  overflow: hidden;
	z-index: 1;
}
div#contents section.node.wide {
  padding: 40px 0;
}
div#contents section.node.wide div.node-inner {
  padding: 0 20px;
}
div#contents section.node.bg {
	padding-top: 80px;
}
div#contents section.node.bg:before {
	content: '';
	position: absolute;
	top: 40px;
	left: 0;
	bottom: 20px;
	right: 0;
	background: #f2f3f3;
	transform: skew(0,-5deg);
	z-index: -2;
}
div#contents section.node div.node-flex-inner:first-child {
  margin-bottom: 40px;
}

/* title
--------------------*/
div#contents .title_h2 {
  position: relative;
  clear: both;
  margin: 30px 0;
  text-align: center;
}
div#contents .title_h2 .en {
  display: block;
  color: #fff34a;
	font-size: clamp(7.0rem, 6vw, 14.0rem);
  font-weight: 500;
	line-height: 0%;
}
div#contents .title_h2 h2 {
	position: relative;
	display: inline-block;
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(3.2rem, 4vw, 5.6rem);
	font-weight: 700;
  line-height: 1.4;
}
div#main h3 {
  position: relative;
  clear: both;
  display: block;
  margin: 0 0 30px;
	font-size: min(6vw, 2.6rem);
	font-weight: 700;
  line-height: 1.4;
}
div#main h3.title {
	color: #0c377c;
	text-align: center;
}
div#main h3.title span:not([class]) {
	position: relative;
	padding: 0 10px;
	transition: 1s;
}
div#main h3.title span:not([class]):before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 10px;
	background: #fff34a;
	transition: 1s;
	transform: skew(-30deg,0);
	z-index: -1;
}
div#main h3.title.show span:not([class]):before {
	width: 100%;
}
div#contents .title_h3 {
  position: relative;
  clear: both;
  margin: 0 0 30px;
}
div#contents .title_h3 .en {
  display: block;
  color: #fff34a;
	font-size: clamp(7.0rem, 6vw, 14.0rem);
  font-weight: 500;
	line-height: 0%;
}
div#contents .title_h3 h3 {
	background: -webkit-linear-gradient(0deg, #0057a7, #931d6b);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(3.2rem, 4vw, 5.6rem);
}
div#main h4 {
  position: relative;
  clear: both;
  display: block;
  margin: 40px 0 20px -1px;
  color: #222;
  font-size: 2.2rem;
  font-weight: 500;
	line-height: 1.4;
  letter-spacing: 1px;
}
div#main h4.title {
	display: inline-block;
	margin-bottom: 2rem;
	padding: 2px 20px 5px 15px;
	background: #0c377c;
	color: #FFF;
  transform: skew(-10deg, 0);
}






}