@charset "UTF-8";
@import url("https://use.typekit.net/lwv8rdz.css");

/*--------------------------------------------------------------------------------
	reset
--------------------------------------------------------------------------------*/

html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:65%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}



/*--------------------------------------------------------------------------------
	override & common
--------------------------------------------------------------------------------*/

/* override */

a{
	color:#000000;
	text-decoration:none;
	transition: opacity .5s;
}

a:hover {
	opacity: .5;
}

html{
	font-size: 62.5%;
	overflow-x: hidden;
}

body{
	font-family: "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",YuGothic, sans-serif;
	background:#ffffff;
	font-size: 1.4rem;
	line-height:1.7;
}

body *{
	box-sizing:border-box;
}

@media only screen and (min-width: 768px),print {
	body {
		font-size: 1.8rem;
	}
}

.c-font-ss-01{
	font-family: "Avenir", "Avenir Next", Futura, "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}

.c-font-serif{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

li{
	list-style:none;
}

img{
	width:100%;
	height:auto;
	vertical-align:middle;
}

.preload{
	transition: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
}



/* formparts */

input[type="text"],
input[type="email"],
input[type="date"],
input[type="tel"],
select{
/*	border:solid 1px #666666;
	border-radius:6px;*/
	padding:10px;
	width:100%;
	font-size:15px;
	line-height:1.2;
	border:none;
	border-radius:0;
	background:#F0F0F0;
}



textarea{
/*	border:solid 1px #666666;
	border-radius:6px;*/
	padding:10px;
	width:100%;
	height:300px;
	font-size:16px;
	line-height:1.5;
	border:none;
	border-radius:0;
	background:#F0F0F0;
}


/*余白*/

@media only screen and (max-width:949.9px) {
	.c-mt-s {margin-top: 16px;}
	.c-t-sp-0 {margin-top: 0;}
	.c-mt-sp-05 { margin-top: 5px; }
	.c-mt-sp-10 { margin-top: 10px; }
	.c-mt-sp-15 { margin-top: 15px; }
	.c-mt-sp-20 { margin-top: 20px; }
	.c-mt-sp-25 { margin-top: 25px; }
	.c-mt-sp-30 { margin-top: 30px; }
	.c-mt-sp-35 { margin-top: 35px; }
	.c-mt-sp-40 { margin-top: 40px; }
	.c-mt-sp-50 { margin-top: 50px; }
	.c-mt-sp-60 { margin-top: 60px; }
	.c-mt-sp-70 { margin-top: 70px; }
	.c-mt-sp-80 { margin-top: 80px; }
	.c-mt-sp-90 { margin-top: 90px; }
	.c-mt-sp-100 { margin-top: 100px; }
}

@media only screen and (min-width: 768px),print { 
	.c-mt-s {margin-top: 24px;}
	.c-pt-m { padding-top:80px; }
	.c-pb-m { padding-bottom:80px; }
	
	.c-mt-md-0 {margin-top: 0;}
	.c-mt-md-05 {margin-top: 5px;}
	.c-mt-md-10 {margin-top: 10px;}
	.c-mt-md-15 {margin-top: 15px;}
	.c-mt-md-20 {margin-top: 20px;}
	.c-mt-md-25 {margin-top: 25px;}
	.c-mt-md-30 {margin-top: 30px;}
	.c-mt-md-35 {margin-top: 35px;}
	.c-mt-md-40 {margin-top: 40px;}
	.c-mt-md-45 {margin-top: 45px;}
	.c-mt-md-50 {margin-top: 50px;}
	.c-mt-md-60 {margin-top: 60px;}
	.c-mt-md-65 {margin-top: 65px;}
	.c-mt-md-70 {margin-top: 70px;}
	.c-mt-md-80 {margin-top: 80px;}
	.c-mt-md-90 {margin-top: 90px;}
	.c-mt-md-100 { margin-top: 100px; }
	.c-mt-md-110 { margin-top: 110px; }
	.c-mt-md-120 { margin-top: 120px; }
	.c-mt-md-130 { margin-top: 130px; }
}

/* テキスト*/

h1, h2, h3, h4, h5 {
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	font-weight: bold;
}
.c-f-mincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
} 

.c-text-center {
	text-align: center;
}

.c-text-right {
	text-align: right;
}

.c-text-left {
	text-align: justify;
}

.c-text-underline {
	text-decoration: underline;
}

@media (min-width:768px) { 
	.c-text-md-center {
		text-align:center;
	}
}

@media only screen and (min-width: 950px),print { 
	.c-text-lg-center {
		text-align: center;
	}
	
	.c-text-lg-left {
		text-align: justify;
	}
	
	.c-text-lg-right {
		text-align: right;
	}
}

.c-palt {
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}



/*--------------------------------------------------------------------------------
	frame
--------------------------------------------------------------------------------*/

/* .c-wrapper, .w-XXX */

.c-container {
	padding-left: 25px;
	padding-right: 25px;
	box-sizing: content-box;
	margin-left: auto;
	margin-right: auto;
}

.c-w-1060 {
	max-width: 1060px;
}


@media only screen and (min-width: 768px){
	.c-wrapper {
		margin-left: auto;
		margin-right: auto;
	}
}


/*--------------------------------------------------------------------------------
	heading, text
--------------------------------------------------------------------------------*/

/* .c-fs-X */

.c-fs-ss {
	font-size: 78%; /*14*/
}

.c-fs-s {
	font-size: 88%; /*14*/
}

.c-fs-l {
	font-size: 112%; /*18*/
}

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

	.c-fs-md-s {
		font-size: 77.78%; /*14*/
	}

}

.c-fw-bold {
	font-weight: bold;
}

.c-deco-underline {
	text-decoration: underline;
}

/* .c-ttl-01 */

.c-ttl-01  {
	font-size: 20px;
	line-height: 1.25;
	font-weight: bold;
	text-align: center;
	padding-bottom: 25px;
	letter-spacing: 0.05em;
}

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

	.c-ttl-01 {
		font-size: 24px;
		padding-bottom: 40px;
	}

}

/* c-ttl-02 */

.c-ttl-02 {
	margin: 0 0 40px;
}

.c-ttl-02-inner {
	font-size: 2.8rem;
	line-height: 1.4;
	font-weight: bold;
}

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

	.c-ttl-02 {
		width: 100%;
		max-width: 1176px;
		margin: 0 auto 100px;
	}

	.c-ttl-02-inner {
		font-size: 4.0rem;
	}

}

/* c-ttl-03 */

.c-ttl-03 {
	margin-bottom: 40px;
}

.c-ttl-03-inner {
	font-size: 1rem;
	line-height: 1;
}

.c-ttl-03-inner-en {
	font-family: "mic-32-new-rounded-web", "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",YuGothic, sans-serif;
	font-size: 1.4rem;
	line-height: 1.14;
	font-weight: 400;
}

.c-ttl-03-copy {
	font-size: 1.8rem;
	line-height: 1.44;
	font-weight: bold;
	margin-top: 15px;
}

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

	.c-ttl-03 {
		margin-bottom: 70px;
	}

	.c-ttl-03-inner-en {
		font-size: 2.0rem;
	}

	.c-ttl-03-copy {
		font-size: 2.6rem;
		line-height: 1.69;
		margin-top: 20px;
	}

}

/* c-ttl-04 */

.c-ttl-04 {
	margin-bottom: 20px;
}

.c-ttl-04.c-ttl-04--mt {
	margin-top: 36px;
}

.c-ttl-04-inner {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: bold;
}

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

	.c-ttl-04 {
		margin-bottom: 20px;
	}

	.c-ttl-04.c-ttl-04--mt {
		margin-top: 60px;
	}

	.c-ttl-04-inner {
		font-size: 1.8rem;
	}

}

/*c- text */

.c-text {
	font-size: 1.4rem;
	line-height: 1.7;
}

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

	.c-text {
		font-size: 1.8rem;
		line-height: 1.7;
	}

}

.c-text.c-text--sb {
	font-weight: bold;
}

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

	.c-text.c-text--sb {
		font-size: 1.6rem;
	}

}



/* bg */

.c-bg-gray {
	background: #EBEBEB;
}

/* .c-f-din */

.c-f-din {
	font-family: "urw-din", sans-serif;
	font-weight: 400;
	font-style: normal;
}


/* .c-f-din */

.c-att-01 {
	display: flex;
}


/*--------------------------------------------------------------------------------
	btn
--------------------------------------------------------------------------------*/

.c-btn-01 {
	text-align: center;
	margin-top: 30px;    
}

.c-btn-01-link {
	background: #000 !important;
	color: #FFF;
	display: inline-block;
	width: 100%;
	max-width: 315px;
	height: 46px;
	line-height: 46px;
	border-radius: 23px;
}

.c-btn-01--confirm .c-btn-01-link {
	width: 40%;
	max-width: 200px;
	margin-left: 2%;
	margin-right: 2%;
}


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

  .c-btn-01 {
		margin-top: 50px;
	}

}



/*--------------------------------------------------------------------------------
	list
--------------------------------------------------------------------------------*/

/* c-list-01 */

.c-list-01 {
	font-size: 1.4rem;
	line-height: 1.4;
}

.c-list-01 > li {
	position: relative;
	padding: 0 0 0 28px;
}

.c-list-01 > li::before {
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 10px;
	content: "";
	background: url(../../img/common/icon-arrow-02.svg) no-repeat center center / contain;
}

.c-list-01 > li:nth-of-type(n+2) {
	margin-top: 12px;
}

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

	.c-list-01 {
		font-size: 1.8rem;
	}

	.c-list-01 > li {
		padding: 0 0 0 40px;
	}

	.c-list-01 > li::before {
		top: 8px;
		width: 10px;
		height: 12px;
	}

	.c-list-01 > li:nth-of-type(n+2) {
		margin-top: 20px;
	}

}

/* c-list-02 */

.c-list-02 {
	font-size: 1.4rem;
	line-height: 1.4;
}

.c-list-02 > li {
	position: relative;
	padding: 0 0 0 1em;
	margin-top: 0.5em;
}

.c-list-02 > li:nth-of-type(1) {
	margin-top: 0;
}

.c-list-02 > li::before {
	position: absolute;
	top: 0.7em;
	left: 0.5em;
	width: 2px;
	height: 2px;
	content: "";
	background: #000;
	border-radius: 50%;
}

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

	.c-list-02 {
		font-size: 1.8rem;
	}

}

/* c-list-03 */

.c-list-03 {
	font-size: 1.3rem;
	line-height: 1.4;
	margin-top: 20px;
}

.c-list-03 > li {
	position: relative;
	padding: 0 0 0 1em;
	margin-top: 0.5em;
	letter-spacing: -0.05em;
}

.c-list-03 > li:nth-of-type(1) {
	margin-top: 0;
}

.c-list-03 > li::before {
	position: absolute;
	top: 0.6em;
	left: 0.3em;
	width: 3px;
	height: 3px;
	content: "";
	background: #000;
	border-radius: 50%;
}

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

	.c-list-03 {
		font-size: 1.5rem;
		margin-top: 40px;
	}

}



/*--------------------------------------------------------------------------------
	table
--------------------------------------------------------------------------------*/

/* c-table-01 */

.c-table-01-wrapper {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	overflow-x: scroll;
}

.c-table-01 {
	width: 100%;
	min-width: 1020px;
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: bold;
	border-collapse: separate;
	border-spacing: 20px 14px;
}

.c-table-01 thead th {
	padding: 5px 10px;
	background: #8D8D8D;
	color: #fff;
	text-align: center;
}

.c-table-01 thead th:nth-of-type(1) {
	background: none;
}

.c-table-01 tbody th {
	padding: 5px 10px;
	background: #5A5A5A;
	color: #fff;
}

.c-table-01 tbody td {
	padding: 5px 10px;
	background: #EFEFEF;
}

@media only screen and (max-width: 767px) {

	.c-table-01-wrapper.c-table-01-wrapper--noscroll {
		width: auto;
		max-width: initial;
		margin: 0 -14px;
		overflow-x: hidden;
	}

	.c-table-01-wrapper.c-table-01-wrapper--noscroll .c-table-01 {
		min-width: initial;
		border-spacing: 14px 14px;
	}

	.c-table-01-wrapper.c-table-01-wrapper--noscroll .c-table-01 tbody th {
		white-space: nowrap;
	}

	.c-table-01-scrolltext {
		margin-top: 10px;
		padding: 0 20px;
		font-size: 1.0rem;
		line-height: 1.2;
		color: #666;
	}

}

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

	.c-table-01 {
		font-size: 1.6rem;
	}

	.c-table-01 thead th {
		padding: 10px 10px;
	}

	.c-table-01 tbody th {
		padding: 10px 10px;
	}

	.c-table-01 tbody td {
		padding: 10px 10px;
	}

	.c-table-01.c-table-01--type01 tbody td {
		text-align: center;
	}

	.c-table-01-scrolltext {
		display: none;
	}

}

/* c-table-02 */

.c-table-02-wrapper {
	width: 100%;
	max-width: 600px;
	margin: 40px auto 0;
}

.c-table-02-title {
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: 5px;
	padding-left: 5px;
}

.c-table-02 {
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: bold;
}

.c-table-02 tbody th {
	text-align: left;
	vertical-align: top;
	padding: 5px 5px;
}

.c-table-02 tbody td {
	text-align: left;
	vertical-align: top;
	padding: 5px 5px;
}

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

	.c-table-02-wrapper {
		margin: 60px auto 0;
	}

	.c-table-02-title {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}

}



/*--------------------------------------------------------------------------------
	display
--------------------------------------------------------------------------------*/

.c-d-none {
	display:none;
}

.c-d-inline {
	display: inline;
}

.c-d-iblock {
	display: inline-block;
}

.c-flex-reverse {
	flex-direction: row-reverse;
}

@media screen and (min-width:758px) {
	.c-d-md-block {
		display: block;
	}
	.c-d-md-none {
		display: none;
	}
	
	.c-d-md-flex {
		display: flex;
	}
}

@media screen and (min-width:950px) {
	.c-d-lg-block {
		display:block !important;
	}
	
	.c-d-lg-none {
		display: none !important;
	}
	
	.c-d-lg-flex {
		display: flex;
	}
	
	.c-d-lg-inline {
		display: inline;
	}
	
	.c-d-lg-iblock {
		display: inline-block;
	}
}

.c-sp-v {
	display: block;
}

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

	.c-sp-v {
		display: none;
	}

}

.c-pc-v {
	display: none;
}

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

	.c-pc-v {
		display: block;
	}

}


/*--------------------------------------------------------------------------------
	inview
--------------------------------------------------------------------------------*/

.inview-fadein01{
	opacity:0;
	transition:.5s;
}

.inview-fadein01.inview-act{
	opacity:1;
}

.noinview-fadein {
	animation: pageload-fadein .5s ease-in forwards;
}


@keyframes pageload-fadein {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}



/*--------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------*/

.c-header {
	position: fixed;
	width: 100%;
	height: 60px;
	padding: 0 20px;
	z-index:99;
	background: #fff;
}

.c-header-inner {
	width: 100%;
	height: 100%;
	max-width: 1332px;
	margin: 0 auto;
	position: relative;
}

.c-header-logo {
	position: absolute;
	top: 23px;
	left: 0;
	width: 142px;
	font-size: 1rem;
	line-height: 1;
}

.c-header-nav {
	display: none;
}

.c-header-spnav {
	display: none;
}

@media screen and (max-width:767px) {

	.c-header-spnav {
		position: absolute;
		top: 60px;
		left: 0;
		width: 100%;
		height: calc( 100vh - 60px );
		overflow-y: scroll;
		background: #fff;
		font-size: 1.8rem;
		line-height: 2;
		font-family: "mic-32-new-rounded-web", "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",YuGothic, sans-serif;
	}

	.c-header-spnav-list {
		padding: 20px 36px 40px;
	}

	.c-header-spnav-list-item {
		margin-top: 2em;
	}

	.c-header-spnav-list-item:nth-of-type(1) {
		margin-top: 0;
	}

	.c-header-spnav-list-item > ul {
		font-family: "mic-32-new-rounded-web", "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",YuGothic, sans-serif;
	}

	.c-header-spnav-list-item > ul > li {

	}

	.c-header-spnav-list-item > ul > li > a {
		display: block;
		position: relative;
		padding: 0 0 0 20px;

	}

	.c-header-spnav-list-item > ul > li > a:before {
		position: absolute;
		top: 50%;
		left: 0;
		width: 7px;
		height: 1px;
		content: "";
		background: #2E2E2E;
	}

}

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

	.c-header {
		height: 144px;
	}

	.c-header-logo {
		top: 60px;
		width: 206px;
	}

	.c-header-nav {
		display: block;
		position: absolute;
		top: 60px;
		right: 0;
	}

	.c-header-nav-list {
		display: flex;
		font-size: 1.3rem;
		line-height: 23px;
	}

	.c-header-nav-list-item:nth-of-type(n+2) {
		margin-left: 80px;
	}

}
/*
.c-header-inner-nav {
	display: none;
}

.c-header-inner-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 80px 0 0 0;
	background: #FFF;
}

.c-header-inner-nav > ul {
	font-size: 16px;
	line-height: 1.5;
}

.c-header-inner-nav > ul > li {
	margin-left: 30px;
	margin-right: 30px;
	text-align: center;
}
.c-header-inner-nav > ul > li:first-child {
	
}

.c-header-inner-nav > ul > li > a {
	display: block;
	text-align: center;
	color: #000;
	width: 100%;
	padding: 25px 0;
}

.c-header-inner-nav-language-btn {
	padding: 25px 0 25px 22px;
	display: block;
	position: relative;
}

.c-header-inner-nav-language-btn:after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	margin-left: 15px;
	left: calc(50% + 3em);
	transform: translateY(-55%) rotate(45deg);
	transition: 0.5s;
	
}

.c-header-inner-nav-language-btn.is_open:after {
	transform: rotate(225deg);
	top: 0;
}

.c-header-inner-nav-language-ul {
	width: 100%;
	display: none;
}

.c-header-inner-nav-language-ul > li {
	width: 100%;
	padding: 0 0 15px ;
	position: relative;
}

.c-header-inner-nav-language-ul > li:last-child {
	padding: 0 0 25px 0;
}

.c-header-inner-nav-language-ul > li >span:after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1.4em;
	background:url("../../img/common/icn-check.svg") no-repeat center center;
	position: absolute;
	top: 0;
	left: calc(50% + 3em);
}
*/
/* navbtn */

.c-header-navbtn{
	position:fixed;
	top:18px;
	right:18px;
	z-index:110;
}

.c-header-instagram {
	position: absolute;
	top: 18px;
	right: 62px;
}

@media only screen and (min-width: 768px){
	.c-header-navbtn{
		top:25px;
		right:30px;
		display: none;
	}
	
	.c-header-instagram {
		top: 25px;
		right: 87px;
		width: 25px;
		height: 25px;
	}

}

.c-header-navbtn-link{
	overflow: hidden;
	display: block;
	position: relative;
	width: 27px;
	height: 27px;
	cursor: pointer;
}

.c-header-navbtn-link span,
.c-header-navbtn-link:before,
.c-header-navbtn-link:after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left:0;
	/*right: 0;*/
	width: 27px;
	height: 2px;
	margin: auto;
	background: #999;
}

.c-header-navbtn-link:before {
	width: 27px;
}

.c-header-navbtn-link span {
	width: 18px;
}

.c-header-navbtn-link:after {
	width: 9px;
}

/*
.c-header.is-scroll .c-header-navbtn-link span,
.c-header.is-scroll .c-header-navbtn-link:before,
.c-header.is-scroll .c-header-navbtn-link:after{
	background: #999;
}

.c-header.is-scroll.js-act .c-header-navbtn-link span,
.c-header.is-scroll.js-act .c-header-navbtn-link:before,
.c-header.is-scroll.js-act .c-header-navbtn-link:after{
	background: #999;
}
*/

.c-header-navbtn-link span{
	overflow: hidden;
	transition: opacity 150ms 50ms;
}

.c-header-navbtn-link:before{
	transform: translate(0, -10px);
	content: "";
	transition: transform 400ms;
}

.c-header-navbtn-link:after{
	transform: translate(0, 10px);
	content: "";
	transition: transform 400ms;
}

.c-header-navbtn-link.js-act span{
	opacity: 0;
	transition: opacity 150ms;
}

.c-header-navbtn-link.js-act:before{
	transform: rotate(45deg);
	right: 0;
}

.c-header-navbtn-link.js-act:after{
	transform: rotate(-45deg);
	width: 27px;
}



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


.c-footer {
	text-align: center;
	margin: 40px 0 0 0;
	padding: 60px 24px 30px;
	font-family: "mic-32-new-rounded-web", sans-serif;
	font-size: 1.4rem;
}

.c-bg-gray .c-footer {
	margin: 0;
}

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

	.c-footer-txt-02 {
		margin-top: 30px;
	}

}

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

	.c-footer {
		margin: 60px 0 0 0;
		padding: 60px 48px 60px 48px;
	}

	.c-bg-gray .c-footer {
		margin: 0;
	}

	.c-footer-inner {
		display: flex;
		justify-content: space-between;
		max-width: 1332px;
		margin: 0 auto;
	}

}




/*--------------------------------------------------------------------------------
	main
--------------------------------------------------------------------------------*/

.c-main {
	padding: 80px 24px 0;
}

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

	.c-main {
		padding: 190px 48px 0;
	}

}




/*--------------------------------------------------------------------------------
	top
--------------------------------------------------------------------------------*/

/* topttl
=======================================*/

.c-topttl {
	font-size: 2.8rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0 0 15px;
}

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

	.c-topttl {
		width: 100%;
		max-width: 1332px;
		font-size: 4.8rem;
		margin: 0 auto 24px;
	}

}

/* mainv
=======================================*/

.c-mainv {
	padding: 42px 36px 32px;
	border-radius: 8px;
	background: url(../../img/top/img-mainv.jpg) no-repeat center center / cover;
	margin: 0 -12px;
	color: #fff;
}

.c-mainv-ttl {
	margin: 0 0 42px;
}

.c-mainv-ttl-inner-en {
	display: block;
	text-align: center;
	font-family: "mic-32-new-rounded-web", sans-serif;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: 400;
}

.c-mainv-ttl-copy {
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: bold;
	margin-top: 20px;
}

.c-mainv-text {
	font-size: 1.4;
	line-height: 1.7;
}

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

	.c-mainv {
		box-sizing: border-box;
		width: 100%;
		max-width: 1332px;
		padding: 108px 36px 100px 36px;
		border-radius: 16px;
		margin: 0 auto;
	}

	.c-mainv-ttl {
		margin: 0 0 64px;
	}

	.c-mainv-ttl-inner-en {
		font-size: 2.0rem;
	}

	.c-mainv-ttl-copy {
		font-size: 3.6rem;
		margin-top: 48px;
	}

	.c-mainv-text {
		font-size: 1.8;
		text-align: center;
	}

}

/* vision
=======================================*/

.c-vision {
	width: 100%;
	max-width: 1176px;
	padding: 42px 0 0 0;
	margin: 30px auto 0;
	position: relative;
}

.c-vision::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
	background: none;
}

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

	.c-vision {
		padding: 160px 0 40px 0;
	}

}



/* philosophy
=======================================*/

.c-philosophy {
	width: 100%;
	max-width: 1176px;
	padding: 0 0 120px 0;
	margin: 80px auto 0;
	position: relative;
}

.c-philosophy::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc( 100% - 160px );
	height: 1px;
	content: "";
	background: #C9C9C9;
}

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

	.c-philosophy::before {
		width: calc( 100% - 260px );
	}

}

.c-philosophy-box {
	display: flex;
	flex-wrap: wrap;
}

.c-philosophy-box-item {
	width: 100%;
}

.c-philosophy-box-item:nth-of-type(n+2) {
	margin-top: 60px;
}

.c-philosophy-box-item-inner-pic {
	max-width: 320px;
	margin: 0 auto;
}

.c-philosophy-box-item-inner-tbox {
	margin-top: 12px;
}

.c-philosophy-box-item-inner-tbox-01 {
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}

.c-philosophy-box-item-inner-tbox-02 {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 20px;
}

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

	.c-philosophy-box {
		margin: 0 -54px;
	}

	.c-philosophy-box-item {
		width: 33.3333%;
		padding: 0 54px;
	}

	.c-philosophy-box-item:nth-of-type(n+2) {
		margin-top: 0;
	}

	.c-philosophy-box-item-inner-pic {
		max-width: 320px;
		margin: 0 auto;
	}

	.c-philosophy-box-item-inner-tbox {
		margin-top: 40px;
	}

	.c-philosophy-box-item-inner-tbox-01 {
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: bold;
		text-align: center;
	}

	.c-philosophy-box-item-inner-tbox-02 {
		font-size: 1.8rem;
		line-height: 1.7;
		margin-top: 30px;
	}

}

.c-philosophy-btn {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(0, 50%);

}

.c-philosophy-btn a {
	display: inline-block;
	padding: 0 30px 0 0;
	font-size: 1.5rem;
	line-height: 19px;
	position: relative;
}

.c-philosophy-btn a::before {
	position: absolute;
	top: 50%;
	right: 0;
	width: 19px;
	height: 19px;
	transform: translate(0, -50%);
	content: "";
	background: url(../../img/common/icon-arrow-01.svg) no-repeat center center / contain;
}

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

	.c-philosophy-btn a {
		padding: 0 46px 0 0;
		font-size: 2.0rem;
		line-height: 23px;
	}

	.c-philosophy-btn a::before {
		width: 23px;
		height: 23px;
	}

}

/* team
=======================================*/

.c-team {
	width: 100%;
	max-width: 1176px;
	padding: 0 0 120px 0;
	margin: 80px auto 0;
	position: relative;
}

.c-team::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc( 100% - 180px );
	height: 1px;
	content: "";
	background: #C9C9C9;
}

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

	.c-team::before {
		width: calc( 100% - 260px );
	}

}

.c-team-box {
	display: flex;
	flex-wrap: wrap;
	max-width: 220px;
	margin: 0 auto;
}

.c-team-box-item {
	width: 100%;
}

.c-team-box-item:nth-of-type(n+2) {
	margin-top: 36px;
}

.c-team-box-item-inner-pic img {
	border-radius: 10px;
}

.c-team-box-item-inner-tbox {
	margin-top: 16px;
}

.c-team-box-item-inner-tbox-01 {
	font-size: 1.1rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}

.c-team-box-item-inner-tbox-02 {
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
	margin-top: 4px;
}

.c-team-box-item-inner-tbox-03 {
	font-size: 1.3rem;
	line-height: 1.4;
	margin-top: 20px;
}

.c-team-box-item-inner-tbox-modalbtn {
	width: 100%;
	max-width: 320px;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F0F0F0;
	border-radius: 17px;
	position: relative;
	font-size: 1.5rem;
	cursor: pointer;
}

.c-team-box-item-inner-tbox-modalbtn::before {
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(0, -50%);
	width: 12px;
	height: 12px;
	content: "";
	background: url(../../img/common/icn-open.svg) no-repeat center center / contain;
}

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

	.c-team-box {
		max-width: initial;
		margin: 0 -60px;
	}

	.c-team-box-item {
		width: 33.3333%;
		padding: 0 5.1%;
		position: relative;
	}

	.c-team-box-item:nth-of-type(n+2) {
		margin-top: 0;
	}

	.c-team-box-item:nth-of-type(n+2)::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		content: "";
		background: #E5E5E5;
	}

	.c-team-box-item-inner-pic img {
		border-radius: 20px;
	}

	.c-team-box-item-inner-tbox {
		margin-top: 30px;
	}

	.c-team-box-item-inner-tbox-01 {
		font-size: 1.2rem;
		line-height: 1.2;
		font-weight: bold;
		text-align: left;
	}

	.c-team-box-item-inner-tbox-02 {
		font-size: 2.2rem;
		line-height: 1.2;
		text-align: left;
		margin-top: 8px;
	}

	.c-team-box-item-inner-tbox-03 {
		font-size: 1.5rem;
		margin-top: 40px;
	}

	.c-team-box-item-inner-tbox-modalbtn {
		margin-top: 24px;
	}

}

.c-team-btn {
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(0, 50%);
}

.c-team-box-item-inner-tbox .c-list-03 {
	display: none;
}

.c-modal .c-team-box-item-inner-tbox .c-list-03 {
	display: block;
}

.c-modal .c-team-box-item-inner-tbox-modalbtn {
	display: none;
}

@media only screen and (max-width: 767px) {

	.c-modal .c-team-box-item-inner-pic {
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
	}

}

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

	.c-modal .c-team-box-item-inner {
		display: flex;
	}

	.c-modal .c-team-box-item-inner-pic {
		width: 300px;
	}

	.c-modal .c-team-box-item-inner-tbox {
		width: calc( 100% - 300px );
		padding: 0 0 0 60px;
		margin-top: 0;
	}

}

/* record
=======================================*/

.c-record {
	width: 100%;
	max-width: 1176px;
	margin: 80px auto 0;
}

.c-record-box {
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
}

.c-record-box-item {
	width: 100%;
}

.c-record-box-item:nth-of-type(n+2) {
	margin-top: 24px;
}

.c-record-box-item-inner {
	display: block;
}

.c-record-box-item-inner-pic {
	width: 100%;
	padding-top: 50%;
	position: relative;
}

.c-record-box-item-inner-pic::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: #CA0A14;
	border-radius: 16px;
	z-index: -1;
}

.c-record-box-item-inner-pic img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--01 img {
	width: 178px;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--02::before {
	background: #0A2221;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--02 img {
	width: 144px;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--03::before {
	background: #F6F6F6;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--03 img {
	width: 199px;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--04::before {
	background: #F0EDE7;
}

.c-record-box-item-inner-pic.c-record-box-item-inner-pic--04 img {
	width: 173px;
}

.c-record-box-item-inner-tbox {
	margin-top: 18px;
}

.c-record-box-item-inner-tbox-01 {
	font-size: 1.6rem;
	line-height: 1.2;
}

.c-record-box-item-inner-tbox-02 {
	font-size: 1.4rem;
	line-height: 1.2;
	margin-top: 4px;
}

.c-record-box-item-inner-tbox-03 {
	font-size: 1.2rem;
	line-height: 1.5;
	margin-top: 10px;
}

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

	.c-record-box {
		display: flex;
		flex-wrap: wrap;
		margin-left: -28px;
		margin-right: -28px;
		margin-top: 64px;
	}

	.c-record-box-item {
		width: 50%;
		padding: 0 28px;
	}

	.c-record-box-item:nth-of-type(n+2) {
		margin-top: 0;
	}

	.c-record-box-item:nth-of-type(n+3) {
		margin-top: 56px;
	}

	.c-record-box-item-inner-pic.c-record-box-item-inner-pic--01 img {
		width: 286px;
	}

	.c-record-box-item-inner-pic.c-record-box-item-inner-pic--02 img {
		width: 230px;
	}

	.c-record-box-item-inner-pic.c-record-box-item-inner-pic--03 img {
		width: 320px;
	}

	.c-record-box-item-inner-pic.c-record-box-item-inner-pic--04 img {
		width: 278px;
	}

	.c-record-box-item-inner-tbox {
		margin-top: 24px;
	}

	.c-record-box-item-inner-tbox-01 {
		font-size: 2.4rem;
		line-height: 1.2;
	}

	.c-record-box-item-inner-tbox-02 {
		font-size: 1.8rem;
		line-height: 1.2;
		margin-top: 8px;
	}

	.c-record-box-item-inner-tbox-03 {
		font-size: 1.5rem;
		line-height: 1.33;
		margin-top: 15px;
	}

}

/* contact
=======================================*/

.c-contact {
	margin-top: 60px;
}

.c-contact .c-btn-01 {
	margin-top: 0;
}

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

	.c-contact {
		margin-top: 120px;
	}

	.c-contact .c-btn-01 {
		margin-top: 0;
	}

}

/* ovarlay & modal
=======================================*/

.c-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.44);
	z-index: 100;
	display: none;
}

.c-overlay.is-active {
	display: block;
}

.c-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 876px;
	padding: 40px 30px 30px;
	background: #fff;
	border-radius: 16px;
	opacity: 0;
	transition: opacity .7s ease;
	z-index: 101;
	display: none;
}

.c-modal.is-active {
	opacity: 1;
}

.c-modal-inner {
	width: 100%;
	max-height: calc( 90vh - 60px );
	overflow-y: scroll;
}

.c-modal-close {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 14px;
	height: 14px;
	content: "";
	background: url(../../img/common/icn-close.svg) no-repeat center center / contain;
}

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

	.c-modal {
		padding: 80px 70px 60px;
	}

	.c-modal-inner {
		max-height: calc( 90vh - 140px );
	}

	.c-modal-close {
		top: 28px;
		right: 28px;
		width: 18px;
		height: 18px;
		cursor: pointer;
	}

}

/*--------------------------------------------------------------------------------
	subpage
--------------------------------------------------------------------------------*/

/* frame */

.c-subpage {
	background: #EFEFEF;
}

.c-subpage main {
	padding: 0 10px;
}

.c-subpage footer {
	background: none;
}

.c-subpage-wrapper {
	padding: 30px 25px;
	background: #FFF;
	border-radius: 10px;
	max-width: 1064px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.c-subpage-box-01 {
	max-width: 756px;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (min-width: 768px){
	
	.c-subpage-wrapper {
		padding: 60px 80px;
	}

	.c-subpage-box-01 .c-ttl-01 {
		margin-bottom: 50px;
	}
	
}

.c-border-top {
	border-top: 1px solid #CECECE;
}

@media only screen and (min-width: 1100px){
	
	.c-subpage-wrapper {
		padding: 60px 120px;
	}

}


/* heading */

.c-subpage-ttl-01 {
	padding: 20px 5px;
	text-align: left;
}

.c-subpage-ttl-01 img {
	width: 40%;
}

@media only screen and (min-width: 768px){
	
	.c-subpage-ttl-01 {
		padding: 40px 50px 80px 50px;
	}
	
	.c-subpage-ttl-01 img {
		width: 219.62px;
	}
}

