@charset "UTF-8";

/* --------------------------------------------
  RESET
-------------------------------------------- */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body,
header, footer, nav, article, section, div, 
h1, h2, h3, p,
ul, li, dl, dt, dd,
button, figure {
  margin: 0;
  padding: 0;
}
.font-small {
    font-size:70%;
    display: inline-block;
}
@media (max-width:768px) {
.font-small {
    margin-top:1em;
}
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline
}

audio:not([controls]) {
  display: none;
  height: 0
}

[hidden], template {
  display: none
}

a {
  background-color: transparent
}

a:active, a:hover {
  outline: 0
}

abbr[title] {
  border-bottom: 1px dotted
}

b, strong {
  font-weight: 700
}

dfn {
  font-style: italic
}

mark {
  background: #ff0;
  color: #000
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  top: -.5em
}

sub {
  bottom: -.25em
}

img {
  border: 0
}

svg:not(:root) {
  overflow: hidden
}

hr {
  box-sizing: content-box;
  height: 0
}
.profile-hr{
      border: none;
  border-top: 1px solid #ccc;
    margin-bottom:15%;
}

pre {
  overflow: auto
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0
}

button {
  overflow: visible
}

button, select {
  text-transform: none
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer
}

button[disabled], html input[disabled] {
  cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0
}

input {
  line-height: normal
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto
}

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em
}

legend {
  border: 0;
  padding: 0
}

textarea {
  overflow: auto
}

optgroup {
  font-weight: 700
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

td, th {
  padding: 0
}

dl li, ul li, ol li {
  list-style-type: none;
}

svg {
  padding: 1px
}

a {
  color: #231815;
  fill: #231815;
  -webkit-transition-duration: 140ms;
  transition-duration: 140ms;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out
}

a:hover {
  color: #999;
  fill: #999
}



/* --------------------------------------------
  COMMON
-------------------------------------------- */
body {
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
  color: #231815;
}

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

#Content img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

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

@media print {
  body * {
    visibility: hidden
  }
  .printable, .printable *:not(.non-printable) {
    visibility: visible
  }
  .non-printable, .non-printable *:not(.printable) {
    visibility: hidden
  }
  .printable {
    position: absolute;
    top: 0;
    margin: 0;
    padding: 0
  }
}



/* --------------------------------------------
  FIXED HEADER
-------------------------------------------- */



#FixedHeaderContainer {
  box-sizing: border-box;
  padding: 0 7.4%;
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
}

#FixedHeaderContainer #GlobalHeader {
  background: #FFF;
  height: auto;
  padding: 30px 0;
  box-sizing: border-box;
}




/* ---------- PC ---------- */
@media (min-width:768px) {

  .drawer-nav.sp {
    display: none;
  }

  #FixedHeaderContainer {
		
    width: 90%;
    max-width: 1440px;
		min-width: 1000px;
    padding: 0;
  }

  #FixedHeaderContainer #GlobalHeader {
    height: auto;
    padding: 70px 5% 30px;
		position: relative;
  }
}


/* -------------------------
  H1 logo
------------------------- */
#FixedHeaderContainer #GlobalHeader h1 {
  margin: 0;
  width: 50%;
	height: 100%;
	position: relative;
	display: block;
}

#FixedHeaderContainer #GlobalHeader h1 a{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 100;
	top: 0;
	left: 0;
}

#FixedHeaderContainer #GlobalHeader h1.logo svg.svg_logo  {

	width: 192px;
	height: 50px;
}



/* ---------- PC ---------- */
@media (min-width:768px) {

  #FixedHeaderContainer #GlobalHeader h1 {
		width: 220px;
    margin: 0;
		padding: 0;
		
  }


  #FixedHeaderContainer #GlobalHeader h1.logo svg.svg_logo {
		width: 100%;
		height: auto;

  }
}


/* -------------------------
  Navigation 
------------------------- */


/* SPはdrawer.css */
.drawer-hamburger{
	top: 8px;
}

.drawer-menu li{
	padding: 20px 0 20px 30px;
}



.drawer-menu li a {
	font-size: 13px;
	text-decoration: none;
	line-height: 1em;
	letter-spacing: 0.08em;
	
}

.drawer-nav .langChooser {

	margin-top: 40px;
	margin-left: 5%;
	display: flex;
	justify-content: flex-start;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.langChooser li{
	line-height: 1em;
	text-decoration: none;
	font-family: "Orbi-Regular", serif;
	font-size: 13px;
	letter-spacing: 0.08em;
	padding: 0 0.6em;

}

.drawer-nav .langChooser li a{
	font-size: 13px;
	text-decoration: none;
	letter-spacing: 0.08em;
}


@media screen and (min-width:768px) {

  .drawer-menu.pc {
		
    display: block;
    height: auto!important;
    position: absolute;
		top: 70px;
		width: calc(100% - 280px);
    text-align: left;
    display: flex;
		justify-content: center;

    padding-top: 0;
		padding: 0 0 0 220px;
  }

  .drawer-menu.pc li {
    margin: 0 20px 0 0;
    padding: 0;
  }

  .drawer-menu.pc li.lang.pc {
    margin-right: 0;
    height: auto;
    position: absolute;
    right: 0;
		
  }

	.drawer-menu.pc li.lang.pc a{
		
		/* color: #999999; */
	}

  .drawer-menu.pc li a {
		font-family: "Orbi-Regular", serif;
		font-size: 13px;
		letter-spacing: 0.03em;
    padding: 26px 0 15px;
    display: block;

  }
  .drawer-menu.pc li a:hover {
    opacity: 0.7;
    transition: .3s;
  }

  .drawer-hamburger,
  .lang.sp {
    display: none
  }


	.langChooser {

		margin-top: 25px;
		margin-right: 5%;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}

	.langChooser li{
		line-height: 1em;
		text-decoration: none;
		font-family: "Orbi-Regular", serif;
		font-size: 13px;
		letter-spacing: 0.03em;
		padding: 0 0.6em;

	}

	.langChooser li a{
		text-decoration: none;
		letter-spacing: 0.03em;
	}


}





/* --------------------------------------------
  BACKGROUND CONTAINER
-------------------------------------------- */
#BackgroundContainer {
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  background: #bcdbe4;
  overflow: hidden;
  display: block;
  position: relative
}

#BackgroundContainer .bg-element {
  position: absolute;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 100
}

#BackgroundContainer .bg-element>img:hover {
  cursor: pointer
}

#BackgroundContainer .bg-element .line {
  -webkit-transition-duration: 280ms;
  transition-duration: 280ms;
  display: none;
  opacity: 0;
  letter-spacing: .09em;
  vertical-align: top;
  padding: 0 .5em;
  margin: 0;
  line-height: 30px;
  color: #c8c8c8;
  background: #FFF
}

#BackgroundContainer .bg-element.speaking {
  background: 0 0
}

#BackgroundContainer .bg-element.speaking .line {
  visibility: visible;
  display: inline-block;
  opacity: 1
}

#BackgroundContainer canvas {
  display: block;
  position: absolute
}

#BackgroundContainer:hover {
  cursor: url(../images/ship.cur), default
}

#BackgroundContainer.backward:hover {
  cursor: url(../images/ship-b.cur), default
}

#BackgroundContainer #Background {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  background-position: 0 0;
  background-size: auto
}

#BackgroundNavigation {
  position: fixed;
  bottom: -100%;
  -webkit-transition-duration: 280ms;
  transition-duration: 280ms;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  visibility: hidden;
  right: 0;
  margin: 2rem
}

#BackgroundNavigation.show {
  visibility: visible;
  right: 0;
  bottom: 0
}



/* --------------------------------------------
  CONTENTS COMMON
-------------------------------------------- */
/* --- MAIN CONTENTS CONTAINER---*/
#Content {
  background-color: #FFF;
  box-sizing: border-box;
  width: 32.9%;
  position: relative;
  padding: 0 0 135px;
}


/* ---------- PC ---------- */
@media (min-width:768px) {

  #Content {
		min-width: 1000px;
    width: 31.66667%;
  }

  #Content {
    width: 30%;
		max-width: 1440px;
    padding: 0 0 26px;
  }
}


/* --- SECTION ---*/
.page {
  text-align: justify;
  text-justify: inter-ideograph;
  background: #FFF;
  margin: 0 auto -90px;
  padding: 120px 8% 30%;
}

.en_us .page {
	text-align: left;
}

.page>h1,
.inner>h1 {
  width: 24%;
  margin: 0 0 15.87%;
	font-family: "Orbi-Regular", serif;
	letter-spacing: 0.05em;
	font-weight: 100;
	font-size: 18px;
	position: relative;
	line-height: 2.4em;
}

.page>h1::after,
.inner>h1:after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 2px solid black;
}

.page>div.content {
  letter-spacing: 0;
  line-height: 2;
}

/* ---------- PC ---------- */
@media (min-width:768px) {
  .page {
    padding-top: 200px;
    margin-bottom: -200px;
    padding: 200px 13.19% 11%;
    display: flex;
    flex-direction: row;
  }

  .page>div.content,
  .page>div.inner div.content {
    letter-spacing: .09em;
    max-width: 844px;
  }

  .page>h1,
  .inner>h1 {
		font-size: 18px;
    width: 20%;
    margin: 0;
		line-height: 	1em;
  }

	.page>h1::after,
	.inner>h1:after {
		bottom: auto;
		top: 1.4em;
		width: 78px;
		
	}

  .page>div.content,
  .page>div.inner div.content {
		letter-spacing: 0.08em;
    line-height: 2;
  }

  #message.page>div.content,
  #support.page>div.content {
		margin-top: -7px;
  }
}



/* --------------------------------------------
  KEY VISUAL
-------------------------------------------- */
#kv {
	position: relative;

}

#kv.page {
	display: block;
	padding: 0;
	margin: 120px 8% 0;
	
}


#kv h1{
	width: 50%;
	position: absolute;
	bottom: -2px;
	right: -2px;
	margin: 0;
}

#kv h1::after{
	display: none;
}

#kv h1 .svg_main_copy{
	width: 100%;
	margin: 0;
	padding: 0;
}


/* ---------- PC ---------- */
@media (min-width:768px) {

  #kv {
		padding: 0;
		margin: 200px 13.19% 11%; 
  }

  #kv.page {
    display: block;
		padding: 0;
		margin: 200px 13.19% ; 
		margin-bottom: -60px;
  }

	#kv h1{
		width: 40%;
	}
}



/* --------------------------------------------
  MESSAGE
-------------------------------------------- */
#message p, #support p {
	font-size: 14px;
  line-height: 1.8;
	letter-spacing: 0.08em;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  #message p, #support p {
    font-size: 15px;
  }
}



/* --------------------------------------------
  SUPPORT
-------------------------------------------- */
#support p {
	letter-spacing: 0.08em;
  margin-bottom: 11%;
}

#support section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15.87%;
  text-justify: auto;
  text-align: left;
}
#support section:last-child {
  margin-bottom: 0;
}

#support section .s_ic {
  width: 21%;
}

#support section h2{
	width: 75%;

}

#support section h2 span.en-tit {
	letter-spacing: 0.08em;
	display: block;
	margin: 0;
	height: 1.5em;
	line-height: 1em;
	font-size: 16px;
	font-family: "Orbi-Regular", serif;

}
#support section h2 span.ja-tit{
	letter-spacing: 0.08em;
	font-size: 12px;
  line-height: 1.25;
}

#support section h2 span.ja-tit.en{
	font-family: "Orbi-Regular", serif;
}
#Content #support section h2 img {
  width: 77%;
  display: block;
  margin-bottom: 3%;
}

#support ul {
  margin-top: 3.2%;
}

#support ul li {
	letter-spacing: 0.08em;
  text-indent: -1em;
  margin-left: 1em;
	font-size: 13px;
  line-height: 1.75;
  margin-bottom: 1%;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  #support section {
    display: block;
    margin-bottom: 6.4%;
  }

  #support section .s_ic {
    float: left;
    padding: 0 5.7% 0 5.7%;
    width: 23%;
    box-sizing: border-box;
  }

  #support section h2 {
    width: 77%;
    font-size: 16px;
    margin-left: 23%;
  }

	#support section h2 span.en-tit {
		font-size: 16px;
	}

	#support section h2 span.ja-tit{
		font-size: 14px;
	}



  #Content #support section h2 img {
    width: 224px;
    margin-bottom: 1%
  }

  #support ul {
    margin-left: 23%;
  }
  #support ul li {
    font-size: 14px;
  }
}



/* --------------------------------------------
  PORTFOLIO
-------------------------------------------- */

.mixitup-ctrl{
	margin-top: -6px;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
}
.mixitup-ctrl .gapspace {
	visibility: hidden;
}
.mixitup-ctrl button,.mixitup-ctrl .gapspace{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);

	
	padding: 0.5em 0em 0.5em 2.2em;
	
	line-height: 1em;
	font-family: "Orbi-Regular", serif;
	font-size: 13px;
	position: relative;
	letter-spacing: 0.1em;
	width: 30%;
	text-align: left;
	margin:0 0em 1.5em 0;
	
}


.mixitup-ctrl button.all,
.mixitup-ctrl .gapspace{
	width: 24%;
	margin:0 8% 1.5em 0em;
}

.mixitup-ctrl button.exit::after,
.mixitup-ctrl button.japan::after{
	content: '';
	position: absolute;
	border-right:solid 1px #e2e2e2;
	left: -3em;
	top: 0.2em;
	height: 1.6em;
}

.mixitup-ctrl button.exit,
.mixitup-ctrl button.japan{
	margin:0 0em 1.5em 8%;
}

.mixitup-ctrl button::before{
	content: "";
	background-image: url(../images/check_off.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	margin-top: -11px;
	left: 0;
}

.mixitup-ctrl button.on::before{
	background-image: url(../images/check_on.svg);
}

.mixitup-ctrl02{
	margin-top: -6px;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
}
.mixitup-ctrl02 .gapspace {
	visibility: hidden;
}
.mixitup-ctrl02 button,
.mixitup-ctrl02 .gapspace{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);


	padding: 0.5em 0em 0.5em 2.2em;
	
	line-height: 1em;
	font-family: "Orbi-Regular", serif;
	font-size: 13px;
	position: relative;
	letter-spacing: 0.1em;
	width: 30%;
	text-align: left;
	margin:0 0em 1.5em 0;
	
}


.mixitup-ctrl02 button.all,
.mixitup-ctrl02 .gapspace{
	width: 24%;
	margin:0 8% 1.5em 0em;
}

.mixitup-ctrl02 button.article::after{
	content: '';
	position: absolute;
	border-right:solid 1px #e2e2e2;
	left: -2.5em;
	top: 0.2em;
	height: 1.6em;
}

.mixitup-ctrl02 button.article{
	margin:0 0em 1.5em 8%;
}



.mixitup-ctrl02 button::before{
	content: "";
	background-image: url(../images/check_off.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	margin-top: -11px;
	left: 0;
}

.mixitup-ctrl02 button.on::before{
	background-image: url(../images/check_on.svg);
}
.mixitup-container .gap{
	visibility: hidden;
}
.mixitup-container02 .gap{
	visibility: hidden;
}


.lst_portfolio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.lst_portfolio li {
  width: 49%;
  position: relative;
  margin-bottom: 2%;
}

.lst_portfolio li img{
	width: 74%;
	padding-top: 13%!important;
	padding-left: 13%!important;
	padding-bottom: 13%!important;

	display: block;
}



.lst_portfolio li .hover_box {
  opacity: 0;
	background-color: #82BFD1;
  position: absolute;
  transition: .3s;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
	padding: 5%;
  font-size: 2.6vw;
  line-height: 1.4;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.08em;
}
.lst_portfolio li .hover_box.nls {
  letter-spacing: 0;
}

.lst_portfolio li .hover_box a,
.lst_portfolio li .hover_box p.no_link{
  text-decoration: none;
  color: #fff;
  position: absolute;
  bottom: 7%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  line-height: 1.4;
}

.lst_portfolio li .hover_box a span::after {
  content: '';
  background-image: url(../images/ic_win.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
  width: 3vw;
  height: 3vw;
  display: inline-block;
  vertical-align: top;
	padding-left: 0.8em;
    padding-top:3px;

}

@media (min-width:768px) {
.acquired {
    font-size:62.5%;
    width:100%;
    text-align: center;
}
}
@media (max-width:768px) {
.acquired {
    width:100%;
    font-size:85%;
    text-align: center;
}
}
.lst_portfolio li:hover .hover_box {
  opacity: 0.98;
  cursor: pointer;
}

/* --- English version --- */
.lst_portfolio.en li {
  padding: 6px 0;
  text-align: left;
}
.lst_portfolio.en li .hover_box p.sm {
  line-height: 1.2;
}

@media screen and (min-width:415px) and (max-width:767px) { 
	.lst_portfolio li .hover_box {
		font-size: 14px;
	}
}

/* ---------- PC ---------- */

@media screen and (min-width:768px) and (max-width:1479px){ 

	.mixitup-ctrl{
		flex-wrap: nowrap;
		justify-content: space-between;
		max-width: 750px;
	}
	
	.mixitup-ctrl button, .mixitup-ctrl .gapspace{
		font-size: 16px;
		width: 17%;
		margin:0 0em 1.5em 0;
	}
	
	.mixitup-ctrl .gapspace{
		display: none;
	}
	.mixitup-ctrl button.all{
		width: 12%;
		margin:0 0% 1.5em 0em;

	}

	.mixitup-ctrl button.exit,
	.mixitup-ctrl button.japan{
		margin:0 0em 1.5em 10%;
	}

	.mixitup-ctrl button.exit::after,
	.mixitup-ctrl button.japan::after{
		left: -36%;
	}

	.mixitup-ctrl02{
		flex-wrap: nowrap;
		justify-content: space-between;
		width: 400px;
	}
	
	.mixitup-ctrl02 button, .mixitup-ctrl02 .gapspace{
		font-size: 16px;
		width: 30%;
		margin:0 0em 1.5em 0;
	}
	.mixitup-ctrl02 .gapspace{
		display: none;
	}
	.mixitup-ctrl02 button.all{
		width: 50%;
		margin:0 0% 1.5em 0em;
	}

	.mixitup-ctrl02 button.article{
		margin:0 2em 1.5em 20%;
	}

	.mixitup-ctrl02 button.article::after{
		left: -50%;
	}
        .mixitup-ctrl02 button.release{
	white-space: nowrap;
            width: 64%;
}

	.lst_portfolio{
		width: 640px;
		margin: 0 auto;
	}

  .lst_portfolio li {
    width: 196px;
		margin-bottom: 5px;
  }

  .lst_portfolio li .hover_box {
    font-size: 13px;
  }
  
  .lst_portfolio li .hover_box a:hover {
    text-decoration: underline;
  }

  .lst_portfolio li .hover_box a span::after {
    width: 12px;
    height: 12px;
    margin-left: 0;
  }

  /* --- English version --- */
  .lst_portfolio.en li .hover_box p.sm {
    line-height: 1.3;
  }
}

@media screen and (min-width:1480px) {

	
	.mixitup-ctrl{
		flex-wrap: nowrap;
		justify-content: space-between;
		max-width: 750px;
	}
	
	.mixitup-ctrl button, .mixitup-ctrl .gapspace{
		font-size: 16px;
		width: 17%;
		margin:0 0em 1.5em 0;

	}
	
	.mixitup-ctrl .gapspace{
		display: none;
	}
	.mixitup-ctrl button.all{
		width: 12%;
		margin:0 0% 1.5em 0em;

	}

	.mixitup-ctrl button.exit,
	.mixitup-ctrl button.japan{
		margin:0 0em 1.5em 10%;
	}

	.mixitup-ctrl button.exit::after,
	.mixitup-ctrl button.japan::after{
		left: -42%;
	}
    
	.mixitup-ctrl02{
		flex-wrap: nowrap;
		justify-content: space-between;
		width: 400px;
	}
	
	.mixitup-ctrl02 button, .mixitup-ctrl02 .gapspace{
		font-size: 16px;
		width: 30%;
		margin:0 0em 1.5em 0;
	}
	.mixitup-ctrl02 .gapspace{
		display: none;
	}
	.mixitup-ctrl02 button.all{
		width: 50%;
		margin:0 0% 1.5em 0em;
	}

	.mixitup-ctrl02 button.article{
		margin:0 2em 1.5em 20%;
	}

	.mixitup-ctrl02 button.article::after{
		left: -50%;
	}
        .mixitup-ctrl02 button.release{
	white-space: nowrap;
            width: 64%;
}


	.lst_portfolio li {
    width: 196px;
		margin-bottom: 5px;
  }

  .lst_portfolio li .hover_box {
    font-size: 13px;
  }
  
  .lst_portfolio li .hover_box a:hover {
    text-decoration: underline;
  }

  .lst_portfolio li .hover_box a span::after {
    width: 12px;
    height: 12px;
    margin-left: 0;
  }

  /* --- English version --- */
  .lst_portfolio.en li .hover_box p.sm {
    line-height: 1.3;
  }
}





/* --------------------------------------------
  CONTENTS
-------------------------------------------- */
#news.page {
  display: block;
  padding-left: 0;
  padding-right: 0;
}

.inner {
  padding: 15% 8%;
  background-color: #fcfcfc;
}

.inner a {
  text-decoration: none;
  display: block;
}

.ti_contents {
  display: flex;
  margin-top: 6.3%;
  line-height: 1.714;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.ti_contents dt {
  width: 13%;
}
.ti_contents dd {
  width: 87%;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  .inner {
    padding: 80px 13.19%;
    box-sizing: border-box;
    display: inline-flex;
    width: 100%;
  }

  .content {
    width: 80%;
  }
  
  section.cont {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    max-width: 844px;
    padding-bottom: 2%;
      width:100%;
  }

}


/* --------------------------------------------
  TEAM
-------------------------------------------- */
.member {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 25%;
}
.member:last-child {
  margin-bottom: 0;
}

.member .mem_pic {
  width: 47.6%;
  font-size: 0;
}

.member .mem_name {
	width: 100%;
  white-space: nowrap;
}
.member .mem_name h1 {
	letter-spacing: 0.08em;
	font-size: 18px;
  line-height: 1;
  font-weight: 600;
  margin: 10px 0 0px;
}

.member .mem_name h1 span,
  #team .content.en .member .mem_name h1 span{
		font-size: 12px;
		letter-spacing: 0.08em;
	}

.member .mem_name p.en,
  #team .content.en .member .mem_name p.en{
		font-size: 13px;
		letter-spacing: 0.08em;
		display: block;
		margin: 0;
		padding: 0.3em 0 0 0 ;

	}

.member .mem_prof {
  width: 100%;
  margin-top: 5%;
	font-size: 14px;
	letter-spacing: 0.08em;
}

#team .content.en .member .mem_prof {
	font-size: 13px;
	line-height: 1.75em;
}




/* ---------- PC ---------- */
@media (min-width:768px) {

  .member {
    margin-bottom: 10%;
    display: inline-block;
  }
  
  .member .mem_pic {
    width: 22%;
    padding-right: 4%;
    float: left;
  }
  
  .member .mem_name {
    flex-wrap: nowrap;
    width: auto;
    align-items: baseline;
  }
  .member .mem_name h1,
  #team .content.en .member .mem_name h1 {
    width: 9.5em;
    font-size: 18px;

		letter-spacing: 0.08em;
    margin: 0;
  }
  
  .member .mem_prof {
    width: auto;
    margin: 3.3% 0 0 26%;
    font-size: 13px;
		font-weight: 200;
  }

  /* --- English Version --- */
  #team .content.en .member .mem_name h1 {
    padding-right: 1em;
  }
  #team .content.en .member .mem_name {
    width: 56%;
  }
}


/* --------------------------------------------
  ABOUT
-------------------------------------------- */
#fund dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	font-size: 14px;
  text-align: left;
  text-justify: auto;
	font-weight: 200;
}

#fund dt {
  width: 38%;
}
#fund dd {
  width: 62%;
}
#fund dt, #fund dd {
  margin-bottom: 4%;
}

#fund dl.dv1 {
	border-top: dotted 1px #000 ;
	margin-top: 30px;
	padding-top: 30px;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  #fund dl {
    font-size: 14px;

  }
  #fund dt {
    width: 28%;
    white-space: wrap;
  }
  #fund dd {
    width: 72%;
  }
  #fund dt, #fund dd {
    margin-bottom: 1.1%;
  }
}



/* --------------------------------------------
  CONTACT
-------------------------------------------- */
#contact {
	font-size: 14px;
}

#contact div.map {
  position: relative;
  margin-bottom: 9.2%;
}

#contact div.map #MapControl>p {
  margin: 3% 0 0;
	font-size: 12px;
  text-align: left;
}


/* ---------- PC ---------- */
@media (min-width:768px) {

  #contact {
    font-size: 14px;
    padding-bottom: 0;
  }

  #contact>div.content {
    padding-right: 0
  }

  #contact div.map #MapControl>p {
    margin: 1.7% 0 0;
    font-size: 10px;
  }

  #contact div.map {
    margin-bottom: 1.7%;
  }

  .address li {
		letter-spacing: 0.08em;
    display: inline-block;
    margin-right: 7%;
  }
}



/* --------------------------------------------
  FOOTER
-------------------------------------------- */
#GlobalFooter {
  text-align: center;
  width: 100%;
  margin-top: 20%;
}

#GlobalFooter p {
  border-top: 5px solid #bcdbe4;
  padding: 5% 0 0;
  margin: 0 10% 0;
}

#GlobalFooter p small {
	font-size: 12px;
  letter-spacing: 0.14em;
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  #GlobalFooter {
    padding-top: 200px;
    margin-top: 12%;
  }

  #GlobalFooter p {
    border-top: 10px solid #bcdbe4;
    padding: 1.38% 0 12%;
    margin: 0 auto;
    width: 410px;
  }

  #GlobalFooter p small {
    font-size: 12px;
  }
}



/* --------------------------------------------
  ASIDE : BANNER + PAGETOP
-------------------------------------------- */
.aside {
  width: 100%;
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
}

#page_top {
  width: 3.7%;
  bottom: 100px;
  right: 4%;
  position: absolute;
}

.ban img,
#page_top img {
  width: 100%;
  height: auto;
  font-size: 0;
  vertical-align: bottom;
}

/* --- Banner --- */
.ban {
  background-color: #fcfcfc;
  padding-left: 8%;
}
.ban a {
  text-decoration: none;
  display: block;
}
.ban a:hover {
  opacity: 0.7;
  transition: .3s;
}
.ban ul {
  display: flex;
  align-items: center;
  position: relative;
}
.ban ul .pic {
  width: 43%;
}
.ban ul .tex {
  width: 43%;
  color: #818285;
  font-size: 2.67vw;
  line-height: 1.8;
  padding: 0 0 0 4%;
  box-sizing: border-box;
letter-spacing: 0.08em;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.ban ul::after {
  content: '';
  position: absolute;
  background: url(../images/ban_arrow.png) no-repeat 0 0 / contain;
  width: 2%;
  height: 21%;
  right: 4.4%;
}

@media screen and (min-width:415px) and (max-width:767px) { 
.ban, .ban02 {
    display: block;
    border-top: solid 1px #eee;
    }
	.ban ul .tex {
		font-size: 14px;
	}
}

.ban02 img,
#page_top img {
  width: 100%;
  height: auto;
  font-size: 0;
  vertical-align: bottom;
}
/* --- Banner02 --- */
.ban02 {
  background-color: #fcfcfc;
  padding-left: 8%;
}
.ban02 a {
  text-decoration: none;
  display: block;
}
.ban02 a:hover {
  opacity: 0.7;
  transition: .3s;
}
.ban02 ul {
  display: flex;
  align-items: center;
  position: relative;
}
.ban02 ul .pic {
  width: 43%;
}
.ban02 ul .tex {
  width: 43%;
  color: #818285;
  font-size: 2.67vw;
  line-height: 1.8;
  padding: 0 0 0 4%;
  box-sizing: border-box;
letter-spacing: 0.08em;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.ban02 ul::after {
  content: '';
  position: absolute;
  background: url(../images/ban_arrow.png) no-repeat 0 0 / contain;
  width: 2%;
  height: 21%;
  right: 4.4%;
}

@media screen and (min-width:415px) and (max-width:767px) { 
	.ban02 ul .tex {
		font-size: 14px;
	}
}

/* ---------- PC ---------- */
@media (min-width:768px) {

  .aside {
    width: 90%;
    max-width: 1440px;
    left: 0;
  }

  #page_top {
    right: 0;
  }

  #page_top img {
    width: 17px;
    right: 2%;
    padding: 0 5px;
  }

  /* --- Banner --- */
  .ban {
    width: 28%;
    min-width: 400px;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .3);
    position: absolute;
    right: 18px;
    bottom: 18px;
    padding-left: 0;
  }

  .ban ul .pic {
    width: 46%;
  }
  .ban ul .tex {
    width: 46%;
    font-size: 12px;
  }
  .ban ul::after {
    right: 3%;
  }

  /* --- Banner02 --- */
  .ban02 {
    width: 28%;
    min-width: 400px;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .3);
    position: absolute;
    right: 438px;
    bottom: 18px;
    padding-left: 0;
  }

  .ban02 ul .pic {
    width: 46%;
  }
  .ban02 ul .tex {
    width: 46%;
    font-size: 12px;
  }
  .ban02 ul::after {
    right: 3%;
  }

}
}



/* --------------------------------------------
  CONTENTS PAGE
-------------------------------------------- */
#content_page.page {
  padding-top: 120px;
  padding-bottom: 12%;
  margin-top: 0;
}

#content_page .kv {
  margin-bottom: 16%;
}

#content_page h1 {
  width: 100%;
  max-width: 844px;
	font-size: 20px;
  line-height: 1.5;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}

#content_page h1::after {
	display: none;
}

#content_page h2 {
	font-size: 18px;
  line-height: 2;
  text-decoration: underline;
  text-underline-offset: 0.5em;
  margin-bottom: 9%;
}

#content_page section {
  margin-bottom: 6%;
}

#content_page section p {
	font-size: 14px;
  line-height: 2;
  margin-bottom: 12.7%;
}

#content_page section figure {
  margin: 13.33% 0;
}
#content_page section figcaption {
	font-size: 13px;
  line-height: 1.5;
  color: #999ca3;
  margin-top: 6.67%;
}

#content_page .author {
	font-size: 13px;
  line-height: 1.8;
  margin: 20px 0 19%;
}

#content_page .author span{
	font-size: 11px;
}

/* SNS */
#content_page .sns {
  display: flex;
  align-items: center;
  padding: 6% 0;
	border-top: #999999 dotted 1px;
}
#content_page .sns li {
  color: #999999;
	width: 1.5em;
	margin: 0 0.8em;
	font-size: 13px;
}

#content_page .sns li:first-child {
	width: 50px;
	margin: 0;
}


#content_page .sns li a{
	text-decoration: none;
	display: block;
}

#content_page .sns li a svg{
	width: 100%;
}


/* パンクず */
.breadcrumb {
	font-size: 12px;
  color: #999ca3;
  display: flex;
	margin: 20% 0 20%;
}

.breadcrumb .bread_home{
	width: 180px;
}
.breadcrumb a {
  color: #999ca3;
  text-decoration: none;
}
.breadcrumb a:hover {
  opacity: 0.7;
  transition: .3s;
}
.breadcrumb a::after {
  content: '〉';
  padding: 0 0.4em 0 1em;
}


/* ---------- PC ---------- */
@media (min-width:768px) {

  #content_page.page {
    margin-top: 0;
    padding: 120px 13.19% 0;
    display: block;
  }
  
  #content_page .kv {
    margin: 7.6% 0 8.5%;
  }
  
  #content_page h1 {
		
    width: 100%;
    font-size: 22px;
    line-height: 1.5;
    padding: 0 0 0 10.2%;
  }

  #content_page.page>div.content {
    padding: 8.5% 10.2% 0;
  }

  #content_page h2 {
    font-size: 20px;
		letter-spacing: 0.03em;
    text-underline-offset: 0.5em;
    margin-bottom: 2.8%;
  }
  
  #content_page section {
    margin-bottom: 20px;
  }
  
  #content_page section p {
		font-weight: 200;
    font-size: 14px;
		letter-spacing: 0.03em;
    margin-bottom: 3.7%;
  }
  
  #content_page section figure {
    margin: 6.8% 0;
  }
  #content_page section figcaption {
    font-size: 13px;
		font-weight: 200;
		letter-spacing: 0.05em;
    line-height: 1.85;
    margin-top: 3%;
  }
  #content_page section figure.fig01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #Content #content_page section figure.fig01 img {
    width: 43%;
  }
  #content_page section figure.fig01 figcaption {
    width: 49%;
    margin-top: 0;
  }
  
  #content_page .author {
    
    font-size: 14px;
    margin: 0 0 30px;
  }

	#content_page .author span{
    font-size: 11px;
  }
  
  /* SNS */
  #content_page .sns {
    width: 100%;
    padding: 14px 0;
    margin: 40px auto 20px 0;
    display: flex;
  }
  #content_page .sns li {
    font-size: 13px;
  }

	#content_page .sns li:first-child {
		width: 60px;
	}
 
  
  /*パンクず*/
  .breadcrumb {
    font-size: 12px;
  }

	.breadcrumb .bread_home{
		width: auto;
	}
}




html {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  min-width: 320px;
}

html.menu-open {
  overflow-y: hidden
}

/* ---------- PC ---------- */
@media (min-width:768px) {
  html.menu-open {
    overflow-y: auto
  }
}

body {
  width: 100%;
  overflow: hidden
}

body::after {
  content: "mobile";
  display: none
}

@media (min-width:768px) and (max-width:1023px) {
  body::after {
    content: "tablet"
  }
}

@media (min-width:1024px) {
  body::after {
    content: "desktop"
  }
}

#Container {
  width: 300%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row
}


#BackgroundNavigation{
	position:fixed;bottom:-100%;-webkit-transition-duration:280ms;transition-duration:280ms;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;visibility:hidden;right:0;margin:2rem
}

#BackgroundNavigation.show{
	visibility:visible;right:0;bottom:0
}

svg.svg_return{
	width:30px;height:30px
}
/* --------------------------------------------
  追加/修正20210531
-------------------------------------------- */
@media (min-width:768px) {
.thumb_contents {
    width: 100%; 
    margin-bottom:20px;

}
.thumb_contents img{
    width: 100%;
    float:left;
}
.content-wrap {
    vertical-align: middle;
    width:100%;
}
.content-img {
    display: table-cell;
    vertical-align: middle;
    width:40%;
}
.content-txt {
 display: table-cell;
vertical-align: middle;
width:48%;
    padding-left:5%;
}
.date{
    display: block;
    font-weight: bold;
    font-size:80%;
    width:100%;
}

.ti_contents {
    font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 200;
    align-items: center;
    margin: 0;
    width:100%;
}

.cont {
    width:100%;
}
}



@media (max-width:768px) {

.date{
    display: block;
    padding-top:1em;
    font-weight: bold;
    width: 48%;
    font-size: 80%;
}
.ti_contents {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.08em;
    font-weight: 200;
    align-items: center;
    margin:5px 0 20px;
    display: block;
    font-size: 13px;
}

.cont {
    width:100%;
}

}
img {
    image-rendering: -webkit-optimize-contrast;
}
/* --------------------------------------------
  追加/修正20210825
-------------------------------------------- */
@media (min-width:768px) {
.img-column02-wrapper {
    width:100%;
}
.img-column02-wrapper .img-column02 {
    width:45%;
}
.img-column02-wrapper .img-column02 img{
    width:100%;
    height:auto;
}
}
@media (max-width:768px) {
.img-column02-wrapper {
    width:100%;
}
.img-column02-wrapper .img-column02 {
    width:100%;
    margin:20px 0;
}
.img-column02-wrapper .img-column02 img{
    width:100%;
    height:auto;
}
}
.float-l{
    float: left;
}
.float-r{
    float: right;
}
@media (min-width:768px) {
.contents04-pc {
    width:100%;
}
.contents04-sp {
    display: none;
}
.contents04-pc table {
    border-collapse: separate;
    border-spacing: 10px 10px;
}

.contents04-pc table th{
    background-color: #BCDBE4;
    padding:0 15px;
    white-space: nowrap;
    font-size:0.7vw;
    max-width:140px;
}
.contents04-pc table .txt{
    padding:10px 15px;
    border: solid 1px #BCDBE4;
    font-size:0.8vw;
}
.contents04-pc table .title{
    padding:10px 15px;
    border: none;
    background-color: #999999;
    color:#fff;
    text-align: center;
    font-size:0.7vw;
    min-width:100px;
    max-width:300px;
}
.contents04-pc table .title-none{
    padding:10px 15px;
    border: none;
    background-color: #fff;
}
.contents04-pc table .arrow{
    margin:0;
    padding:0;
    background-image: url("../images/content/contents04/arrow.png");
    background-position: center;
    background-repeat: no-repeat;
}
.contents04-pc table .arrow img{
    border: none;
    margin:0;
}
}
@media (max-width:768px) {
.contents04-pc {
    display: none;
}
.contents04-sp table {
    border-collapse: separate;
    border-spacing: 5px 5px;
}

.contents04-sp table th{
    background-color: #BCDBE4;
    padding:15px;
    font-size:14px;
}
.contents04-sp table .txt{
    padding:10px 15px;
    border: solid 1px #BCDBE4;
    font-size:14px;
}
.contents04-sp table .space{
    padding-bottom:30px;
}
.contents04-sp table .title{
    text-align: center;
    font-size:14px;
    width:100%;
    margin-bottom:10px;
    text-decoration: underline;
    font-weight: bold;
}
.contents04-sp table .arrow{
    margin:0;
    padding:5px;
    background-image: url("../images/content/contents04/arrow02.png");
    background-position: center;
    background-repeat: no-repeat;
}
.contents04-sp table .arrow img{
    border: none;
    margin:0;
}
}
.recommend{
    margin:80px 0 0;
}
.recommend a,a:hover {
    text-decoration:none;
}
@media (min-width:768px) {
.recommend h1 {
    display: block;
    float:left;
    width:20%!important;
    padding:0!important;
    font-family: "Orbi-Regular", serif;
	letter-spacing: 0.05em;
	font-weight: 100;
	font-size: 14px!important;
	position: relative;
    line-height: 2;
  text-decoration: underline;
  text-underline-offset: 0.5em;
    white-space: nowrap;
}
.recommend h1:after {
    position: absolute;
	content: '';
	left: 0;
	border-bottom: 2px solid black;
    }
.recommend .content{
    width:75%;
    float:right;
}
.recommend p {
      margin-bottom:0px!important;
    font-size:13px!important;
    }
}
.clearfix::after {
   content: "";
   display: block;
   clear: both;
}
@media (max-width:768px) {
.recommend h1 {
    display: block;
    float:left;
    width:200px!important;
    padding:0!important;
    margin-bottom:10px;
    font-size: 18px;
    width: 20%;
    margin: 0 0 40px;
	line-height: 2;
  text-decoration: underline;
  text-underline-offset: 0.5em;
}

.recommend p {
      margin-bottom:0px!important;
    font-size:13px!important;
    }
}
/* --------------------------------------------
  追加/修正20211004
-------------------------------------------- */
.headline {
    padding: 0 8% 0;
}

.inner-content {
  padding: 15% 8%;
}

.inner-content a {
  text-decoration: none;
  display: block;
}
.inner-content>h1 {
  width: 24%;
  margin: 0 0 15.87%;
	font-family: "Orbi-Regular", serif;
	letter-spacing: 0.05em;
	font-weight: 100;
	font-size: 18px;
	position: relative;
	line-height: 2.4em;
}

.inner-content>h1:after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 2px solid black;
}
    .content02 {
        width:100%;
    }
    .content02 a {
        text-decoration: none;
    }
@media (min-width:768px) {
    #headline.page{
  display: block;
  padding-left: 0;
  padding-right: 0;
    }
.headline {
    padding: 0 13.19%;
    box-sizing: border-box;
    display: inline-flex;
    width: 100%;
  }
.headline-icon {
    display: block;
    margin-right:120px;
    color:#999;
}
.headline-date {
    display: block;
    margin-right:20px;
}
  .inner-content {
    padding: 0 13.19% 80px;
    box-sizing: border-box;
    display: inline-flex;
    width: 100%;
  }
      .page>div.inner-content div.content {
    letter-spacing: .09em;
    max-width: 844px;
  }

  .inner-content>h1 {
		font-size: 18px;
    width: 20%;
    margin: 0;
		line-height: 	1em;
  }

	.inner-content>h1:after {
		bottom: auto;
		top: 1.4em;
		width: 78px;
		
	}

  .page>div.inner-content div.content {
		letter-spacing: 0.08em;
    line-height: 2;
  }
    .thumb_contents02 {
    width: 100%; 
    margin-bottom:20px;
        
}
.thumb_contents02 img{
    width: 100%;
}

.content-wrap02 {
    vertical-align: middle;
    width:100%;
    margin-top:20px;
}
.content-img02 {
    display: table-cell;
    vertical-align: middle;
    width:40%;
}
}
@media (max-width:768px) {
.headline {
    box-sizing: border-box;
    display: inline-flex;
    width: 100%;
  }
.headline-icon {
    display: block;
    margin-right:120px;
    color:#999;
}
.headline-date {
    display: block;
    margin-right:20px;
}
    #headline.page{
        padding:32% 0 0;
    }
}

/* --------------------------------------------
  追加/修正20220628
-------------------------------------------- */

.new {
    color:#f00;
    display: inline-block;
    margin-left:1em;
}

.inner-content-contents {
}
.inner-content-contents a {
  text-decoration: none;
  display: block;
}
.inner-content-contents>h1 {
  width: 24%;
  margin: 0 0 15.87%;
	font-family: "Orbi-Regular", serif;
	letter-spacing: 0.05em;
	font-weight: 100;
	font-size: 18px;
	position: relative;
	line-height: 2.4em;
}

.inner-content-contents>h1:after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 2px solid black;
}

@media (min-width:768px) {
.inner-content-contents {
    box-sizing: border-box;
    display: inline-flex;
    width: 100%;
}
.page>div.inner-content-contents div.content {
    letter-spacing: .09em;
    max-width: 844px;
}

.inner-content-contents>h1 {
    font-size: 18px;
    width: 20%;
    margin: 0;
    line-height: 	1em;
}

.inner-content-contents>h1:after {
    bottom: auto;
    top: 1.4em;
    width: 78px;

}
}

.content .strong {
    font-weight: bold;
}

.asterisk {
	font-size: 0.8em;
	vertical-align: top;
}

.footer-link {
    margin-bottom:20px;
}