@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/*-----------------------------------
top
-----------------------------------*/
html, body {
    height: 100%;
    font-size: 62.5%;
}


body {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", 游ゴシック, YuGothic, メイリオ, Meiryo,sans-serif, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
    font-weight: 400;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    /*-webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';*/
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
    line-height: 1;
	background-color: #fff;
    color: #000;
}

h1, h2, h3, h4, body, header, article,main, section, footer, div, a, dt, dd, dl, ul, ol, li, p{
  box-sizing: border-box; }

section {
  padding: 0; }

li {
  list-style-type: none; }
/*
strong {
  font-size: 2rem; }*/

a{
    text-decoration: none;
	color:#00b2de;
}

figure img,
a img{
    flex-shrink: 0;
	width:100%;
	height: auto;
}

img{
	width:100%;
	height: auto;
}

.wrapper {
    position: relative;
    width: 100%;
    height: auto !important;
    margin:0 auto;
    /*overflow-x: hidden;*/
    box-sizing: content-box;
}

.mainbox{
    width: 100%;
    margin: 0 auto;
    padding: 0;
	overflow-x: hidden;
	overflow-y: clip;
}

/*title*/
.content {
    width: 100%;/*
    -webkit-scroll-behavior: smooth;
    scroll-behavior: smooth;
    -webkit-scroll-snap-type: mandatory;
    scroll-snap-type: mandatory;
    -webkit-scroll-snap-points-y: repeat(100%);
    scroll-snap-points-y: repeat(100%);*/
    margin:0 auto;
}

.cont_wrap{
	width:100%;
	position: relative;
}

.block{
    /*max-width:1300px;*/
    width:100%;
    margin-bottom:0px;
    margin-left:auto;
    margin-right: auto;
	padding:0px;
    position: relative;
	/*overflow-y: auto;*/
}

.block p {
    /*font-size: 1.8rem;*/
	font-size:1.2rem;
    line-height: 1.7;
    color: #000;
    width: 100%;
    /*margin-top: 0;*/
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.row_wrap{
    -webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    /*align-items: flex-start;
    -webkit-align-items: flex-start; */
    /*margin:2% auto 5% auto;*/
	margin-left:auto;
	margin-right: auto;
}

.sp{
    display: none;
}

/*tile*/
.cont_wrap.target::after,
.block.plan::after,
.block.main02::after,
.cont_wrap.company::after,
.consultation::after,
#floormap::after,
#schedule::after,
#access::after,
#contact::after{
	content: "";
	width:340px;
	height: 600px;
	background-image: url("../images/top/bg_tile.png");
	background-size:contain;
	background-repeat: no-repeat;
	position: absolute;
	z-index: -1;
}


/*! #######################################################################

	MeanMenu 2.0.7
	--------

	To be used with jquery.meanmenu.js by Chris Wharton (http://www.meanthemes.com/plugins/meanmenu/)

####################################################################### */
header nav {
  text-align: center; 
}
header nav ul {
	margin: 0;
    /*padding: 1em;*/
	padding:0 1em;
    list-style-type: none; 
}

header nav ul li {
    display: inline;
    /*margin-left: 1em;*/ 
}
header nav ul li ul {
    display: none;
}

a, a:hover {
  -webkit-transition: color 0.25s ease-in;
  transition: color 0.25s ease-in; 
}

/* hide the link until viewport size is reached */
a.meanmenu-reveal {
  display: none; 
}

/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
    float: left;
    width: 100%;
    /*float: right;
    width:60px;*/
    position: fixed;
    top: 0;
    left: 0;
    /*right:0;*/
    background-color: transparent;
    z-index: 99;
}

.mean-container a.meanmenu-reveal {
	width:25px;
  height: 40px;
  line-height: 40px;
  padding: 5px 10px;
	position: absolute;
	left: 0px;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	text-indent: -9999em;
	display: block;
	font-weight: 100;
	z-index: 100000; 
	background: #E81281;
	right: 0 !important;
	left: initial !important;
}
.mean-container a.meanmenu-reveal span {
	display: block;
	background: #fff;
	height: 3px;
	margin-top: 5px; 
}

.mean-container a.meanmenu-reveal span:first-child{
	margin-top:10px;
}

.mean-container .mean-nav {
    float: left;
    width: 100%;
	margin:0;
	padding:0;
}

.mean-container .mean-nav ul {
    padding: 50px 0 0 0;
    margin: 0 auto;
    width: 100%;
    /*height: 100vh;*/
    list-style-type: none; 
    -webkit-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-y: scroll;
    overflow-x: hidden;
	height: 100vh;
    background: #E81281;
    }

.mean-container .mean-nav ul li {
    position: relative;
    /*float: left;*/
    width: 80%;
    /*font-size: 0.9rem;*/
    padding: 0;
    margin: 0 auto; 
    box-sizing: border-box;
}    
.mean-container .mean-nav ul li a {
    /*display: block;*/
    /*float: left;*/
    width: 100%;
    /*padding: 1em;*/
    padding:10px;
    margin: 0;
    text-align: center;
	font-size:1.6rem;
    color: #E81281;
	font-weight: bold;
    border-top: 5px solid #E81281;
    text-decoration: none;
    text-transform: uppercase;
	box-sizing: border-box;
    background: rgba(255, 255, 255, 1); 
	
    -webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	
	align-items: center;
	-webkit-align-items: center;
	position: relative;
}

.mean-container .mean-nav ul li a::after{
	content: "";
	background-image: url("../images/common/icon_menu_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width:30px;
	height: 20px;
	position: absolute;
	right:10px;
	top:0;
	bottom:0;
	margin: auto;	
}

.mean-container .mean-nav ul li a:hover::after{
	background-image: url("../images/common/icon_menu_arrow_over.svg");
}

.mean-container .mean-nav ul li:last-child a{
	border-bottom: 5px solid #E81281 !important;
}

.mean-container .mean-nav ul li a span{
	font-size:1.2rem;
	margin-left: 10px;
}

.mean-container .mean-nav ul li:nth-child(1) a{
    border-top: none;
}
.mean-container .mean-nav ul .sub-menu {
    position: static; 
}

.mean-container .mean-nav ul li li a {
  padding: 1em 10%;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  opacity: 0.75;
  filter: alpha(opacity=75);
  text-shadow: none !important;
  visibility: visible;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.mean-container .mean-nav ul li.mean-last a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  text-shadow: none !important;
  margin-bottom: 0; }

.mean-container .mean-nav ul li li li a {
  width: 70%;
  padding: 1em 15%; }

.mean-container .mean-nav ul li li li li a {
  width: 60%;
  padding: 1em 20%; }

.mean-container .mean-nav ul li li li li li a {
  width: 50%;
  padding: 1em 25%; }

.mean-container .mean-nav ul li a:hover {
    background: #FFDB00;
    border-bottom: 0;
    color: #000; 
}

.mean-container .mean-nav ul li a.mean-expand {
  margin: auto;
  width: 26px;
  height: auto;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.9);
  border: none !important; }

.mean-container .mean-nav ul li a.mean-expand:hover {
  background: #0b4e83; }

.mean-container .mean-push {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  clear: both; }
/*
.mean-container a.meanmenu-reveal.meanclose{
    padding:0;
    width:50px;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    color: #444;
}*/

.mean-container a.meanmenu-reveal.meanclose{
	/*background: rgba(255, 92, 0, 0.6);*/
    padding:0;
    width:50px;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    /*color: #aed383;*/
	
	display: block;
	/*position:absolute;*/
	position: fixed;
	top: 0px;
    /*right: 10px;*/
    cursor: pointer;
    border-radius: 1px;
    text-align: center;
}
.mean-container a.meanmenu-reveal.meanclose > div{
	width: 30px;
    height: 3px;
    margin: 0 auto;
    background:#fff;
}

.mean-container a.meanmenu-reveal.meanclose > div.cl01 {
    transform: rotate(45deg);
	/*margin-top:15px;*/
	margin-top:22px;
}

.mean-container a.meanmenu-reveal.meanclose > div.cl02 {
    transform: rotate(-45deg);
	margin-top:-3px;
}

.mean-nav .wrapper {
  width: 100%;
  padding: 0;
  margin: 0; }

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
  box-sizing: content-box; }

.mean-remove {
  display: none !important; }



/*---------------------------------------
toppage
-----------------------------------------*/

main,
header,
footer, 
.content, 
.main, 
.mainvisual, 
h2, 
.mainbox,
.row_wrap{
	width: 100%;
	max-width: 100%;
}
	
/*hamburger-menu*/
#menu-btn-check:checked ~ .menu-content {
	left: 0;
}
	
.menu-content{
	width:100%;
}	

.menu-content ul {
	padding: 0px 10px 0;
}
	
	
/*common parts*/
.pc,
.pc_header{
	display: none;
}

.sp{
	display: block;
}

/*mainvisual*/
.mv_wrap{
    width:100%;
    margin:0 0 40px 0;
    position: relative;
}

.mainvisual {
    width: 100%;
	/*max-width: 1300px;*/
    height: auto;
    /*background-image: url("../images/top/mv_sp.png");
    background-position: center top !important;
    background-size:cover;
    background-repeat: no-repeat;*/
    color: #fff;
    margin: 0 auto;
    box-sizing: border-box;
    /*position: absolute;
	text-align: left;*/
}

.mainvisual img{
	vertical-align:bottom;
}

.cv{
	width:100%;
	background: #db1966;
	padding:20px 10px;
	box-sizing: border-box;
}

.cv .row_wrap{
	align-items: center;
}

.cv .cv_form{
	width:55%;
}

.cv .date{
	width:43%;
}

.date p{
	font-size:1.3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin-top: 0;
}

/*btn_form*/
.cv_form a{
	width:100%;
	display: block;
	/*height: 60px;
	line-height: 60px;
	border-radius: 30px;*/
	/*height: 40px;*/
	line-height: 40px;
	border-radius: 20px;
	border: 1px solid #000000;
	color:#000000;
	font-size:1.2rem;
	background: #CAE33A;
	text-align: center;
	padding: 0;
	box-sizing: border-box;
	position: relative;
	font-weight: bold;
}

.cv_form a::before{
	content: "";
	background-image: url("../images/common/icon_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width:15px;
	height: 15px;
	position: absolute;
	top:0;
	bottom:0;
	right:10px;
	margin:auto;
}
/* Flashing */
.cv_form a:hover {
  opacity: 1;
  -webkit-animation: flash 1.5s;
  animation: flash 1.5s;
}
	@-webkit-keyframes flash {
	  0% {
		opacity: 0.4;
	  }
	  100% {
		opacity: 1;
	  }
	}
	@keyframes flash {
	  0% {
		opacity: 0.4;
	  }
	  100% {
		opacity: 1;
	  }
	}

.cv_form p{
	color: #fff;
	font-size:1.2rem;
	font-weight: 400;
	line-height: 1.4;
	position: relative;
	width:99%;
	margin:0 auto;
	padding-right: 20px;
	padding-bottom: 10px;
	text-align: center;
}

.cv_form p::after{
	content: "";
	width:40px;
	height: 45px;
	background-image: url("../images/top/ill_cta.png");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: 0 20px;
	position: absolute;
	right: 0;
	bottom:0;
}

@media screen and (max-width:480px) {
	.cv_form p {
		font-size: 1.1rem;
	}
}

/*sticky*/
.cv.sticky{
	position: fixed;
	bottom:0;
	left:0;
	z-index: 10;
}

/*header_title*/
.block .header_title{
    padding:10px 0;
    text-align: center;
    position: relative;
	margin:50px auto;
}

.block .header_title::before{
	content: "";
	width:100px;
	height: 8px;
	background-image: url("../images/top/line_common.svg");
	background-repeat: no-repeat;
	background-size:contain;
	position: absolute;
	bottom:-10px;
	left:0;
	right:0;
	margin: auto;
}

/*動き*/
.block{
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 500ms;
}

.block.scrollin{
    opacity : 1;
    transform : translate(0, 0);
}


/*event--------------------------------------------*/
#event p{
	width:86%;
	font-weight: bold;
}
.btn_dl{
	max-width:400px;
	/*width:55%;*/
	width:70%;
	margin:40px auto;
}
.btn_dl a{
	width:100%;
	/*height: 50px;*/
	line-height: 50px;
	background: #E81281;
	font-size:1.3rem;
	color:#fff;
	text-align: center;
	display: block;
	border: 1px solid #fff;
	border-radius:25px;
	position: relative;
}

.btn_dl a::before{
	content: "";
	background-image: url("../images/common/icon_dl.svg");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center;
	width:15px;
	height: 15px;
	position: absolute;
	top:0;
	bottom:0;
	right:20px;
	margin: auto auto auto 0;
}

.btn_dl a:hover{
	background: #fff;
	border: 1px solid #E81281;
	color: #E81281;
}

.btn_dl a:hover::before{
	background-image: url("../images/common/icon_dl_over.svg");
}

/*target--------------------------------------------*/
/*tile*/
.cont_wrap.target::after{
	background-position: right top;
	right:-50%;
	top:-50px;
}
@media screen and (min-width:480px) {
	.cont_wrap.target::after{
		right:0;
	}
}

.headtitle_target{
	width:86%;
	margin:30px auto;
}
.cont_wrap.target .block{
	width:86%;
	margin:50px auto;
}

.target_txt {
    max-width: 700px;
    text-align: right;
    color: #E81281;
    font-size: 18px;
    margin: -30px auto 80px;
	width: 70%;
}

.list.target{
	/*width:86%;*/
	width:75%;
	margin:0 auto 50px auto;
	padding:0;
}

.list.target li{
	font-size:2rem;
	line-height: 1.4;
	font-weight: bold;
	margin:0 0 20px 0;
	padding:0 0 0 60px;
	position: relative;
}

.list.target li span{
	font-size:1.5rem;
	font-weight: normal;
}

.list.target li::before{
	content: "";
	background-image: url("../images/top/icon_list.png");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center;
	width:45px;
	height: 42px;
	position: absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto auto auto 0;
}


/*main01--------------------------------------------*/
.block.plan{
	position: relative;
}
.block.plan .box_half > .header_title{
	width:70%;
	margin-bottom: 50px;
}
.box_half.plan,
.box_half.main02{
	/*width:93%;*/
	width:99%;
	position: relative;
	margin: 0 auto 100px auto;
}

.box_half.plan img:first-child,
.box_half.main02 > img{
	width:100%;
}

.box_half.plan img:last-child{
	width:27%;
	z-index: 2;
	position: absolute;
	bottom:-80px;
	right:20px;
}

/*profile*/
.block.plan .box_half .row_wrap{
	width:86%;
}

.box_half.plan + .box_half{
	/*position: absolute;
	right:10%;
	top:100px;
	*/
	animation-name: fadein;
    animation-duration: 2s;
    animation-iteration-count: 1;
	animation-fill-mode:forwards;
	opacity:0;
}

	@keyframes fadein {
	  from {
		opacity: 0;
		transform: translateX(-100px); }
	  to {
		opacity: 1;
		transform: translateX(0); } 
	}

.block.plan .box_half .row_wrap figure,
.profile_box{ 
	width:50%;
}

.row_wrap.profile_flex {
    align-items: center;
}

.block.plan .box_half .row_wrap > figure{
	margin-left: 0;
	margin-right: 0;
	display: flex;
    justify-content: center;
    align-items: center;
}

.profile_box{
	padding-left: 30px;
	box-sizing: border-box;
}


.profile_box .header_title{
	width:100% !important;
	text-align: left;
	margin-top: 0px !important;
	margin-bottom: 20px !important;
}

.profile_box .header_title img{
	width:50%;
}
.profile_box .header_title::before{
	height: 3px;
	width:100%;
	background-image: url("../images/top/line_subchild.svg");
	background-position: left;
	background-repeat: repeat-x;
	bottom:-5px;
}

.profile_name{
	font-size:1.2rem;
	line-height: 1.5;
}

.profile_name span{
	font-weight: bold;
	font-size:2rem;
	line-height: 1.5;
	text-align: left;
	display: block;
}

.profile_name + p{
	text-align: left;
	font-size:1.6rem;
	width:100%;
	
}

.block.plan .box_half > p{
	width:80%;
	text-align: left;
}

/*tile*/
.block.plan::after{
	background-position: left top;
	left:-50%;
	top:150px;
}
@media screen and (min-width:480px) {
	.block.plan::after{
		left:-25%;
	}
}


/*main02*/
.block.main02{
	position: relative;
	padding-left: 5%;
	padding-right: 5%;
	margin:50px auto 100px auto;
}
.block.main02 .box_half.plan img:last-child{
	width: 35%;
	z-index: 2;
	position: absolute;
	bottom: -85px;
	left: initial;
	right: 0;
}

/*tile*/
.block.main02::after{
	background-position: right top;
	right:-50%;
	top:-50px;
}
@media screen and (min-width:480px) {
	.block.main02::after{
		right:-25%;
	}
}

/*company--------------------------------------------*/
/*tile*/
.cont_wrap.company::after{
	height: 700px !important;
	background-position: left top;
	left:-50%;
	top:100px;
}
@media screen and (min-width:480px) {
	.cont_wrap.company::after{
		left:0;
	}
}


#company .header_title{
	width:42%;
}
.company_list{
	width:86%;
	padding:0;
	margin:30px auto;
	
}

.company_list li{
	width:100%;
	padding:0;
	margin:0 0 30px 0;
	position: relative;
	
}

.company_list li a,
.company_list li .nolink,
dl.company_list{
	width:100%;
	-webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
}

.company_list li::before{
	content: "";
	background-image: url("../images/top/line_list.svg");
	background-size:cover;
	background-repeat: no-repeat;
	background-position: bottom center;
	width:100%;
	height: 5px;
	position: absolute;
	left:0;
	bottom:-15px;
}

.company_list a .genre,
.company_list .nolink .genre,
.company_list dt{
	font-size:1.2rem;
	color:#fff;
	background: #404CA7;
	border-radius: 9px;
	text-align: center;
	height: 18px;
	line-height: 18px;
	width:30%;
	max-width:200px;
	display: block;
	margin-right: 0;
}

.company_list a .c_name,
.company_list .nolink .c_name{
	font-size:1.3rem;
}

.company_list a .c_name,
.company_list .nolink .c_name,
.company_list dd{
	/*font-size:1.5rem;*/
	color:#000;
	width:calc( 70% - 40px );
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	display: block;
	margin-left: 0;
}

.company_list dd{
	font-size:1.2rem;
}

.company_list dd strong{
	font-size:1.6rem;
}

.company_list li a::after{
	content: "";
	background-image: url("../images/common/icon_open.svg");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center;
	width:15px;
	height: 15px;
	position: absolute;
	right:0;
	top:0;
	bottom:0;
	margin: auto;
}

.company_list li a:hover{
    opacity: 0.8;
    filter: alpha(opacity=80); 
}

.company_list.type_b .genre{
	background: #db1966;
}

.company_list.type_b li::before{
	content: "";
	background-image: url("../images/top/line_list_b.svg");
}

.company_list.type_b li a::after{
	background-image: url("../images/common/icon_open_b.svg");
}

.company_list.type_c li::after{
	content: none;
}

/*btn_more*/
/*コンテンツ*/
#company .company_list {
	position: relative;
	height: auto;
	max-height: 660px; /*高さは調整*/
	overflow: hidden;
	transition: max-height 1s; /*開閉時間*/
}
        
/*コンテンツをグラデーションで隠す擬似要素*/
#company .company_list::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	transition: 1s;
	background: linear-gradient(
		to bottom,
		transparent 0%,
		#ffffff 100%
	);
}
        
/*コンテンツを開いた際に付与するクラス*/
#company .company_list.open:after {
	z-index: -1;
    opacity: 0;
}
.company_list.type_b::after{
	content: none !important;
}
    
/*もっと見る*/
.btn_more {
  display: block;
	margin: 0 auto;
	padding: 8px 40px;
	border: 0;
	color: #38A1DB;
	font-size:1.5rem;
	background: #fff;
	cursor: pointer;
}

.consultation{
	margin-top:100px;
}



/*consultation----------------------------------------------------*/
.consultation{
	position: relative;
}
.consultation .header_subtitle{
	width:40%;
	margin:0 auto 40px auto;
	position: relative;
}
.consultation .header_subtitle::before{
	content: "";
	height: 4px;
	width:80px;
	background-image: url("../images/top/line_child.svg");
	background-size:contain;
	background-repeat: no-repeat;
	background-position: bottom center;
	bottom:-20px;
	left:0;
	right:0;
	margin: auto;
	position: absolute;
}

.consultation p{
	width:86%;
	margin-bottom: 30px;
}

/*tile*/
.consultation::after{
	background-position: right top;
	right:-50%;
	top:-50px;
}
@media screen and (min-width:480px) {
	.consultation::after{
		right:-25%;
	}
}

/*floormap----------------------------------------------------*/
#floormap{
	position: relative;
}
#floormap .header_title{
	width:57%;
}

/* .floormap_box{
	width:86%;
	height: 120px;
	margin:0 auto 40px auto;
	display: block;
	position: relative;
}

.floormap_box img{
	position: absolute;
	width:52%;
	height: auto;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
} */

/*tile*/
#floormap::after{
	background-position: left bottom;
	left:-50%;
	bottom:-50px;
}
@media screen and (min-width:480px) {
	#floormap::after{
		left:-25%;
	}
}

/*schedule--------------------------------------------*/
#schedule{
	position: relative;
}
#schedule .header_title{
	width:86%;
}

.schedule_list{
	width:86%;
	margin:0 auto;
	padding:0;
	align-items: center;
}
.schedule_list dt,
.schedule_list dd{
	margin:0;
	padding:10px 0;
	font-size:1.3rem;
	line-height: 1.5;
	position: relative;
	box-sizing: border-box;
}

.schedule_list dt{
	font-weight: bold;
	width:20%;
}

.schedule_list dd{
	width:80%;
	padding-left: 20px;
}

.schedule_list dt::before,
.schedule_list dt::after{
	content: "";
	position: absolute;
}

.schedule_list dt::before{
	width:14px;
	height: 14px;
	background: #A5C104;
	border-radius: 50%;
	border: 2px solid #A5C104;
	right:-10px;
	top:0;
	bottom:0;
	margin: auto;
}

.schedule_list dt.white::before{
	background: #ffffff;
}

.schedule_list dt::after{
	background: #CAE33A;
	width:4px;
	height: 160%;
	right:-4px;
	top:0;
	bottom:0;
	margin: auto;
	z-index: -1;
}

/*balloon*/
.balloon {
    display: flex;
    justify-content: center;
    position: relative;
	width:86%;
    margin:60px auto 0 auto;
    padding: .8em 1.2em;
    border: 2px solid #E81281;
    background-color: #fff;
    color: #E81281;
	font-size:1.5rem;
}

.balloon::before,
.balloon::after {
    position: absolute;
    top: -50px;
	right:40px;
    width: 30px;
    height: 50px;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    content: '';
}

.balloon::before {
    background-color: #E81281;
}

.balloon::after {
    top: -44px;
    background-color: #fff;
}

/*tile*/
#schedule::after{
	background-position: right bottom;
	right:-50%;
	bottom:0px;
}
@media screen and (min-width:480px) {
	#schedule::after{
		right:-25%;
	}
}

/*other----------------------------------------------------*/
.other_block .header_title {
	width: 20%;
}
.other_block_img a {
	display: block;
	transition: .4s;
}
.other_block_img a:hover {
	opacity: .7;
}
p.other_block_img {
    width: 90%;
}


/*access----------------------------------------------------*/
#access{
	position: relative;
}
#access .header_title{
	width:26%;
}

.company_list dt{
	width:22%;
	max-width: 130px;
	border-radius:0;
	/*display: flex;
    justify-content: center;
    align-items: center;*/
	font-size:1.5rem;
	line-height: 40px;
	height: 40px;
}

.company_list dd{
	width:67%;
	font-size:1.2rem;
	line-height: 1.5;
	padding-right: 0;
}
.company_list dd strong{
	display: block;
	font-size:1.5rem;
}

.access_box{
	width:75%;
	margin:30px auto;
	display: block;
	border: 1px solid #db1966;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
	/* color:#db1966; */
	font-weight: bold;
	line-height: 1.5;
}

.access_box::after{
	content: "";
	width:calc(100% + 20px);
	height: calc(100% + 20px);
	border: 1px solid #db1966;
	z-index: -1;
	position: absolute;
	
	left:-10px;
	top:-10px;
}

.access_box p{
	font-size:1.4rem;
	color:#db1966;
	font-weight: bold;
	line-height: 1.5;
}

.time_table{
	width:60%;
	border-collapse:  collapse;
	margin:0px auto 0 auto;
}

th,td{
	border: 0;
	width:calc( 100% / 3 );
	text-align: center;
	font-size:1.4rem;
	position: relative;
}

.time_table th{
	padding-top: 20px;
}

.time_table tr > td:first-child::before{
	content: "";
	width:4px;
	height: 4px;
	background: #000;
	border-radius:50%;
	position: absolute;
	left:-12px;
	top:0;
	bottom:0;
	margin:auto;
	
}

.map{
	width:100%;
	margin:50px auto;
}


.map iframe{
	width:100%;
	height: 600px;
	border: 0;
}

/*tile*/
#access::after{
	background-position: right top;
	right:-50%;
	top:-50px;
}

@media screen and (min-width:480px) {
	#access::after{
		right:-25%;
	}
}


/*contact----------------------------------------------------*/
#contact{
	position: relative;
	/*margin-bottom: -50px;*/
}
#contact .header_title{
	width:26%;
	margin:0 auto 40px auto;
}

#contact p{
	/*width:60%;*/
	width:80%;
	font-size:1.5rem;
	line-height: 1.5;
	text-align: left;
	margin: 0 auto 30px auto;
	font-weight: bold;
}

/*tile*/
#contact::after{
	height: 150px !important;
	background-position: left top;
	left:-50%;
	top:-50px;
}

@media screen and (min-width:480px) {
	#contact::after{
		left:-25%;
		height: 300px !important;
	}
}

/*---------------------------------------
footer
-----------------------------------------*/

footer {
    /*width: 86%;*/
	width:100%;
    margin: 0 auto;
	padding:0 0 120px 0;
    text-align: center;
	color:#fff;
	
	background-image: url("../images/common/bg_footer.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
}


.company_list.type_c{
	/*width:70%;*/
	width:86%;
	padding-top: 80px;
}

.company_list.type_c li{
	width:100%;
	display: flex;
	margin-bottom: 10px;
}

.company_list.type_c .genre{
	font-size:1.6rem;
	color:#E81281;
	background: #fff;
	border-radius: 0;
	width:30%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 5px;
	padding-top: 5px;
	
}

.company_list.type_c .c_name{
	text-align: left;
	color:#fff;
	font-size:1.6rem;
	padding-left: 20px;
	
	padding-bottom: 5px;
	padding-top: 5px;
}

.company_list.type_c li::before{
	content: none;
}

.company_list.type_c .dbl{
	font-size:1.2rem;
	line-height: 1.4;
	text-align: left;
	padding-left: 20px;
	
}

.copyright{
    font-size:1.2rem !important;
    line-height: 1.6;
    padding:10px 0;
    color:#fff !important;
    width:100% !important;
    margin:0px auto !important;
	box-sizing: border-box;
	text-align: center !important;
}

/*pagetop*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 130px;
    right: 1%; 
    z-index: 10;
	margin: 0;
}

.pagetop a {
    text-align: center;
    width: 60px;
    height: 60px; 
    display: block;
}

.pagetop a img{
	width:100%;
	height: auto;
}

.pagetop a:hover {
    display: block;
    opacity: 0.6;
    filter: alpha(opacity=60);
}

.coming_soon {
	color: #E81281 !important;
	font-size: 36px !important;
	font-weight: bold;
	letter-spacing: 6px;
	margin-bottom: 110px;
}

.coming_soon span {
	display: block;
    font-size: 22px;
    letter-spacing: 2px;
}



/*-----------------------------------------------
responsive
-----------------------------------------------*/
@media screen and (max-width:480px) {
	.schedule_list dt::after{
		height: 200%;
	}
	
	.time_table{
		width:80%;
	}
	.target_txt {
		font-size: 16px;
	}
}

@media screen and (min-width:940px) {
	.block p,
	.schedule_list dt,
	.schedule_list dd,
	.balloon,
	.company_list dt,
	.company_list dd strong{
		font-size:2.2rem;
		line-height: 2;
	}

	.block.plan .box_half .row_wrap > figure {
		margin-left: 60px;
		width: 38%;
	}
	
	.cv .row_wrap,
	.block,
	.company_list.type_c{
		max-width: 940px;
	}
	
	.block .header_title{
		margin:80px auto;
	}
	
	/*hamburgermenu*/
	.mean-container a.meanmenu-reveal{
		width:50px;
		height: 70px;
		line-height: 70px;
		padding:5px 15px;
		
	}
	.mean-container a.meanmenu-reveal span:first-child{
		margin-top: 20px;
	}
	.mean-container a.meanmenu-reveal span{
		margin-top: 10px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose{
		width:70px;
		height: 70px;
		line-height: 70px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose > div{
		width: 50px;
	}

	.mean-container a.meanmenu-reveal.meanclose > div.cl01 {
		margin-top:30px;
	}
	
	/*header_menu*/
	header{
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
		width:100% !important;
		height: 100px;
		background: rgba(255,255,255,0);
		padding:10px 0;
		box-sizing: border-box;
		margin:0 auto !important;
		align-items: center;
		-webkit-align-items: center;
	}
	
	header nav ul{
		width:80%;
		margin:0 auto;
	}
	
	header nav ul li{
		width:calc( 100% / 6 );
	}
	
	header nav ul li a{
		font-size:1.4rem;
		line-height: 1.5;
		color:#000;
		font-weight: bold;
		text-align: center;
		padding-left:20px;
		padding-right: 20px;
	}
	
	/*cta*/
	.date p{
		font-size:2.2rem;
	}
	
	.cv_form p{
		color: #fff;
		font-size:2rem;
	}
	
	.cv_form a{
		height: 60px;
		line-height: 60px;
		border-radius:30px;
		font-size:1.8rem;
	}
	
	.cv_form a::before{
		width:20px;
		height: 20px;
		right:30px;
	}
	
	.cv_form p::after{
		width:80px;
		height: 80px;
		background-position: 0 35px;
	}
	
	.btn_dl{
		margin-top:50px;
		margin-bottom: 40px;
	}
	
	.btn_dl a{
		font-size:2rem;
		height: 70px;
		line-height: 70px;
		border-radius:35px;
	}
	
	.btn_dl a::before {
		right:20px;
	}
	
	/*target*/
	.cont_wrap.target .block{
		width:70%;
		max-width:700px;
	}
	
	/*main01*/
	.box_half.plan img:first-child{
		width:65%;
	}
	.box_half.plan img:last-child{
		width:25%;
		bottom:-50px;
		right:70px;
	}
	
	/*profile*/
	.profile_box .header_title img{
		width:30%;
	}
	.profile_name span{
		font-size:2.8rem;
		display: inline;
	}
	
	.profile_name{
		font-size:1.4rem;
	}
	
	.block.plan .box_half > p{
		font-size:1.8rem;
	}
	
	/*main02*/
	.block.main02 .box_half.plan{
		position: relative;
		text-align: right;
	}
	
	.block.main02 .box_half.plan img:first-child{
		/*width:65%;*/
		width:75%;
		
	}
	.block.main02 .box_half.plan span{
		width:24%;
		/*bottom:-150px;*/
		bottom:0;
		left:0;
		position: absolute;
	}
	
	.block.main02 .box_half.plan span img{
		width:100% !important;
		height: auto;
		bottom:0 !important;
	}
	
	.block.main02{
		margin-top: 80px;
		margin-bottom: 80px;
	}
	
	/*company*/
	.company_list{
		margin-top:50px;
		margin-bottom: 50px;
	}
	.company_list a .c_name,
	.company_list .nolink .c_name{
		font-size:2rem;
	}
	
	.company_list a .genre,
	.company_list .nolink .genre{
		font-size:1.8rem;
		line-height: 36px;
		height: 36px;
		border-radius: 18px;
	}
	
	/*schedule*/
	.schedule_list dt{
		width:15%;
	}
	
	.balloon{
		max-width:800px;
	}
	
	.balloon::before, 
	.balloon::after {
		right:100px;
	}
	
	/*commingsoon*/
	/*.floormap_box{
		height: 300px;
	} */
	
	/*access*/
	dl.company_list{
		width:70%;
	}
	.company_list dt{
		line-height: 60px;
		height: 60px;
	}
	.company_list dd{
		font-size:1.5rem;
	}
	
	.time_table th,
	.time_table td{
		font-size:1.8rem;
	}
	
	/*contact*/
	#contact p{
		width: 50%;
		font-size: 1.8rem;
	}
	.company_list.type_c{
		width:46%;
	}
	
	/*tile*/
	.cont_wrap.target::after,
	.block.plan::after,
	.block.main02::after,
	.cont_wrap.company::after,
	.consultation::after,
	#floormap::after,
	#schedule::after,
	#access::after,
	#contact::after{
		background-repeat: repeat;
	}
	
	/*footer*/
	footer {
		background-image: url("../images/common/bg_footer_pc.png");
		padding-bottom: 150px;
		height: 420px;
	}
	
	.company_list.type_c{
		max-width: 740px;
		padding-top: 120px;
		display: flex;
		justify-content: center;
	}
	
	.company_list.type_c li:first-child{
		width:45%;
	}

	.company_list.type_c .genre{
		width:100px;
	}
	
	.company_list.type_c .c_name{
	}
	
	.pagetop{
		bottom:180px;
	}

}


@media screen and (min-width: 1600px) {
	footer {
		height: 500px;
		width: 100%;
		max-width:1920px;
	}
	.company_list.type_c {
		padding-top: 200px;
	}
	
}

/* IEのみ以下のCSSが適用される*/
@media all and (-ms-high-contrast: none){
	
}

/* リンク先の指定がない時*/
.company_list li a[href=""] {
	pointer-events: none;
}
.company_list li a[href=""]:hover {
	opacity: 1;
}
.company_list li a[href=""]::after {
	content: none;
}