@charset "utf-8";

main > .mv {
	position: relative;
	width: 100%;
	height: 58.5vw;
	margin-bottom: 6.6vw;
	background: url("../images/mv.jpg") center no-repeat;
	background-size: cover;
}

main > .mv::before {
	position: absolute;
	bottom: -6.6vw;
	left: 0;
	right: 0;
	content: "";
	width: 40.5vw;
	height: 52.4vw;
	margin: 0 auto;
	background: url("../images/mv_photo.png") bottom no-repeat;
	background-size: contain;
	display: block;
	z-index: 1;
}

main > .mv .title {
	position: absolute;
	top: 17.3vw;
	left: 11.4vw;
	padding-top: 15px;
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
	z-index: 2;
}

main > .mv .title h1 {
	position: relative;
	color: #1f2840;
	font-size: 46px;
	font-weight: 700;
	line-height: 1em;
	letter-spacing: -0.05em;
	white-space: nowrap;
}

[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1.8em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.35em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
	letter-spacing: 0.4em;
}

main > .mv .title p.read {
	font-size: 24px;
	font-weight: 500;
	margin-top: 0.5em;
	line-height: 1.5em;
	white-space: nowrap;
}

main > .mv .title p.link {
	margin-top: 30px;
	width: 21.7vw;
}

main > .mv .title p.link a.btn {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.btn-scroll {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	padding: 70px 0 95px;
	letter-spacing: 0.26em;
	text-align: center;
}

.btn-scroll a:hover {
	text-decoration: none;
}

@media screen and (min-width: 1400px) {

	main > .mv .title {
		width: 31.1vw;
	}

	main > .mv .title h1 {
		font-size: 3.3vw;
	}

	[data-ruby]::before {
		font-size: 1.2vw;
		letter-spacing: 0.4em;
	}

	main > .mv .title p.read {
		font-size: 1.7vw;
	}

}

@media screen and (max-width: 1030px) {

	main > .mv .title {
		right: 3.4vw;
	}

	main > .mv::before,
	main > .mv::after {
		left: 1.4vw;
		width: 40.5vw;
	}

}

@media screen and (max-width: 768px) {

	main > .mv {
		width: 100%;
		height: 196vw;
		margin-bottom: 14vw;
		background: url("../images/mv_sp.jpg") bottom no-repeat;
		background-size: cover;
	}

	main > .mv::before {
		position: absolute;
		bottom: 246px;
		left: 3%;
		content: "";
		width: 94%;
		height: 108vw;
		background: url("../images/mv_photo.png") bottom no-repeat;
		background-size: contain;
		display: block;
		z-index: 2;
	}

	main > .mv .title {
		top: inherit;
		bottom: -8.5vw;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		padding: 15px 30px 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	main > .mv .title h1 {
		font-size: 34px;
	}

	main > .mv .title h1 span.name {
		font-size: 63px;
	}

	main > .mv .title p.read {
		font-size: 19px;
	}

	main > .mv .title p.link {
		width: 100%;
	}

	.btn-scroll {
		font-size: 13px;
		padding: 35px 0 60px;
	}

}

@media screen and (max-width: 410px) {

	main > .mv .title {
		bottom: -3.5vw;
		max-width: 375px;
	}

	main > .mv .title h1 {
		font-size: 26px;
	}

	main > .mv .title h1 span.name {
		font-size: 50px;
	}

	main > .mv .title p.read {
		font-size: 16px;
	}

}



/* -----------------------------------------------------------------------------
 concept
----------------------------------------------------------------------------- */
section.concept {
	position: relative;
	width: 100%;
}

section.concept::after {
	position: absolute;
	right: 0;
	top: -3.07vw;
	content: "";
	width: 42.6vw;
	height: 35vw;
	background: url("../images/concept_img.jpg") no-repeat;
	background-size: contain;
	display: block;
}

section.concept .inner {
	width: 100%;
	max-width: 1054px;
	min-height: 31.9vw;
	margin: 0 auto;
	padding: 0 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.concept .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.concept .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.concept .inner p {
	font-size: 16px;
	max-width: 500px;
	margin-top: 25px;
}


@media screen and (max-width: 1054px) {

	section.concept .inner {
		padding: 0 calc(42.6vw + 27px) 0 27px;
	}

}

@media screen and (max-width: 769px) {

	section.concept::after {
		position: relative;
		left: 27px;
		width: calc(100% - 27px);
		height: 68.8vw;
		background-size: 100% auto;
	}

	section.concept .inner {
		padding: 0 27px 0 27px;
	}

	section.concept .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.concept .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.concept .inner p {
		padding-bottom: 25px;
	}

}



/* -----------------------------------------------------------------------------
 choice
----------------------------------------------------------------------------- */
section.choice {
	position: relative;
	width: 100%;
	margin-top: 100px;
	padding-bottom: 80px;
	overflow: hidden;
	z-index: 1;
}

section.choice .inner {
	width: 100%;
	max-width: 1054px;
	margin: 0 auto;
	padding: 65px 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.choice .inner::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: calc(50vw + 378px);
	height: 63.3%;
	background-color: #f1f1f1;
	display: block;
	z-index: -1;
}

section.choice .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.choice .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.choice .inner p {
	font-size: 16px;
	max-width: 740px;
	margin-top: 25px;
}

section.choice .col3 {
	position: relative;
	width: 100%;
	max-width: 1054px;
	margin: 35px auto 0;
	padding: 0 27px 0 27px;
	display: flex;
	justify-content: space-between;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 2;
}

section.choice .col3::after {
	position: absolute;
	right: -170px;
	top: -367px;
	content: "";
	width: 486px;
	height: 392px;
	background: url("../images/choice_img.svg") bottom no-repeat;
	background-size: contain;
	display: block;
	z-index: -1;
}

section.choice .col3 .box {
	width: 30.3%;
	padding: 30px;
	background-color: #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.choice .col3 .box .logo {
	text-align: center;
}

section.choice .col3 .box h2 {
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	margin: 15px 0;
}

section.choice .col3 .box p {
	font-size: 14px;
}

section.choice .col3 .box ul {
	font-size: 14px;
	font-weight: bold;
	margin: 15px 0 0 0;
}

section.choice .col3 .box.crew ul {
	color: #00a0c6;
}

section.choice .col3 .box.link ul {
	color: #3339c7;
}

section.choice .col3 .box.tree ul {
	color: #fc8725;
}

section.choice > .link {
	width: 297px;
	margin: 30px auto 0;
}


@media screen and (max-width: 1054px) {

	section.choice .inner {
		padding: 65px calc(35.5vw + 27px) 0 27px;
	}

	section.choice .inner::before {
		width: calc(100vw - 157px);
	}

}


@media screen and (max-width: 769px) {

	section.choice {
		padding-bottom: 60px;
	}

	section.choice::after {
		position: relative;
		left: 27px;
		width: calc(100vw - 27px);
		height: 68.8vw;
		background-size: 100% auto;
	}

	section.choice .inner {
		padding: 45px 27px 0 27px;
	}

	section.choice .inner::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 70.9vw;
		height: calc(100% - 212px);
		background-color: #f1f1f1;
		display: block;
		z-index: -1;
	}

	section.choice .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.choice .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.choice .inner p {
		padding-bottom: 25px;
	}

	section.choice .col3 {
		position: relative;
		width: 100%;
		margin: 59.2vw auto 0;
		padding: 0 27px 0 27px;
		display: block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		z-index: 2;
	}

	section.choice .col3::after {
		position: absolute;
		left: 0;
		right: 0;
		top: -59.2vw;
		content: "";
		width: 85.6vw;
		height: 75.7vw;
		margin: 0 auto;
		background: url("../images/choice_img_sp.svg") bottom no-repeat;
		background-size: 100% auto;
		display: block;
		z-index: -1;
	}

	section.choice .col3 .box {
		width: 100%;
		padding: 30px;
		margin-bottom: 30px;
	}

	section.choice .col3 .box:last-child {
		margin-bottom: 0;
	}

	section.choice .col3 .box h2 {
		font-size: 18px;
		margin: 15px 0 5px;
	}

	section.choice > .link {
		width: auto;
		margin: 30px 27px 0;
	}

}



/* -----------------------------------------------------------------------------
 expressions
----------------------------------------------------------------------------- */
section.expressions {
	position: relative;
	width: 100%;
	padding-bottom: 80px;
	background-color: #f1f1f1;
	z-index: 1;
}

section.expressions .inner {
	width: 100%;
	max-width: 1054px;
	margin: 0 auto;
	padding: 65px 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.expressions .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.expressions .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.expressions .inner p {
	font-size: 16px;
	max-width: 740px;
	margin-top: 25px;
}

section.expressions .col2 {
	position: relative;
	width: 100%;
	max-width: 1054px;
	margin: 35px auto 0;
	padding: 0 27px 0 27px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 2;
}

section.expressions .col2::after {
	position: absolute;
	top: -216px;
	right: 83px;
	content: "";
	width: 310px;
	height: 256px;
	background: url("../images/expressions_img.svg") bottom no-repeat;
	background-size: contain;
	display: block;
	z-index: -1;
}

section.expressions .col2 .box {
	width: 47.7%;
	padding: 17px 40px 40px;
	background-color: #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.expressions .col2 .box:nth-child(1),
section.expressions .col2 .box:nth-child(2) {
	margin-bottom: 5%;
}

section.expressions .col2 .box .img {
	text-align: center;
}

section.expressions .col2 .box .img img {
	width: 126px;
	height: 110px;
}

section.expressions .col2 .box h2 {
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	margin: 15px 0;
	letter-spacing: -0.05em;
}

section.expressions .col2 .box p {
	font-size: 14px;
}

section.expressions .col2 .box .cap {
	font-size: 12px;
	margin: 5px 0 0 1em;
	text-indent: -1em;
	line-height: 1.4em;
}

section.expressions .col2 .box.crew ul {
	color: #00a0c6;
}

section.expressions .col2 .box.link ul {
	color: #3339c7;
}

section.expressions .col2 .box.tree ul {
	color: #fc8725;
}

section.expressions > .link {
	width: 297px;
	margin: 30px auto 0;
}

@media screen and (max-width: 769px) {

	section.expressions {
		padding-bottom: 60px;
	}

	section.expressions::after {
		position: relative;
		left: 27px;
		width: calc(100vw - 27px);
		height: 68.8vw;
		background-size: 100% auto;
	}

	section.expressions .inner {
		padding: 45px 27px 0 27px;
	}

	section.expressions .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.expressions .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.expressions .inner p {
		padding-bottom: 25px;
	}

	section.expressions .col2 {
		position: relative;
		width: 100%;
		margin: 51.7vw auto 0;
		padding: 0 27px 0 27px;
		display: block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		z-index: 2;
	}

	section.expressions .col2::after {
		position: absolute;
		left: 0;
		right: 0;
		top: -46.7vw;
		content: "";
		width: 66.6vw;
		height: 55.2vw;
		margin: 0 auto;
		background: url("../images/expressions_img.svg") bottom no-repeat;
		background-size: 100% auto;
		display: block;
		z-index: -1;
	}

	section.expressions .col2 .box {
		width: 100%;
		padding: 20px;
		margin-bottom: 30px;
	}

	section.expressions .col2 .box:last-child {
		margin-bottom: 0;
	}

	section.expressions .col2 .box > div {
		margin-bottom: 15px;
		display: flex;
	}

	section.expressions .col2 .box .img img {
		width: 60px;
		height: auto;
	}

	section.expressions .col2 .box h2 {
		font-size: 18px;
		margin: 0 0 0 10px;
		line-height: 1.4em;
		display: flex;
		align-items: center;
	}

	section.expressions > .link {
		width: auto;
		margin: 30px 27px 0;
	}

}



/* -----------------------------------------------------------------------------
 function
----------------------------------------------------------------------------- */
section.function {
	position: relative;
	width: 100%;
	padding: 60px 0 100px;
	overflow: hidden;
}

section.function::after {
	position: absolute;
	top: 35px;
	right: 0;
	content: "";
	width: 46.1vw;
	height: 33vw;
	background: url("../images/function_img.jpg") no-repeat;
	background-size: contain;
	display: block;
}

section.function .inner {
	width: 100%;
	max-width: 1054px;
	min-height: 31.9vw;
	margin: 0 auto;
	padding: 0 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.function .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.function .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.function .inner p {
	font-size: 16px;
	max-width: 500px;
	margin-top: 25px;
}

section.function .inner p.link {
	margin-top: 50px;
}

section.function .inner p.link a {
	max-width: 298px;
}


@media screen and (max-width: 1054px) {

	section.function .inner {
		padding: 0 calc(44.6vw + 27px) 0 27px;
	}

}

@media screen and (max-width: 769px) {

	section.function {
		padding: 60px 0 60px;
	}

	section.function::after {
		display: none;
	}

	section.function .inner {
		padding: 0 27px 0 27px;
	}

	section.function .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.function .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.function .inner h2::after {
		position: relative;
		content: "";
		width: calc(100vw - 27px);
		height: 68.8vw;
		background-size: 100% auto;
		background: url("../images/function_img.jpg") no-repeat;
		background-size: contain;
		display: block;
	}

	section.function .inner p {
		margin-top: 0;
		padding-bottom: 0;
	}

	section.function .inner p.link {
		margin-top: 30px;
	}

	section.function .inner p.link a {
		max-width: 100%;
	}

}



/* -----------------------------------------------------------------------------
 function2
----------------------------------------------------------------------------- */
section.function2 {
	position: relative;
	width: 100%;
	min-height: 29.7vw;
	padding: 0 0 80px 0;
	overflow: hidden;
}

section.function2 .inner::before {
	position: absolute;
	top: 100px;
	right: 0;
	content: "";
	width: calc(50vw + 375px);
	height: 100%;
	background-color: #f1f1f1;
	display: block;
	z-index: -1;
}

section.function2::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 42.6vw;
	height: 29.7vw;
	background: url("../images/function2_img.jpg") no-repeat;
	background-size: contain;
	display: block;
}

section.function2 .inner {
	width: 100%;
	max-width: 1054px;
	margin: 0 auto;
	padding: 0 27px 0 527px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.function2 .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.function2 .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.function2 .inner p {
	font-size: 16px;
	max-width: 500px;
	margin-top: 25px;
}

section.function2 .inner p.link {
	margin-top: 50px;
}

section.function2 .inner p.link a {
	max-width: 298px;
}


@media screen and (max-width: 1054px) {

	section.function2 .inner {
		padding: 0 27px 0 calc(50% + 27px);
	}

}

@media screen and (max-width: 769px) {

	section.function2 {
		padding: 60px 0 60px;
	}

	section.function2::before {
		position: absolute;
		top: 0;
		right: 0;
		content: "";
		width: 70.9vw;
		height: 100%;
		background-color: #f1f1f1;
		display: block;
		z-index: -1;
	}

	section.function2::after {
		display: none;
	}

	section.function2 .inner {
		padding: 0 27px 0 27px;
	}

	section.function2 .inner::before {
		display: none;
	}

	section.function2 .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.function2 .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.function2 .inner h2::after {
		position: relative;
		left: -27px;
		content: "";
		width: calc(100% + 27px);
		height: 68.8vw;
		margin-top: 25px;
		background: url("../images/function2_img.jpg") no-repeat;
		background-size: 100% auto;
		display: block;
	}

	section.function2 .inner p {
		margin-top: 0;
		padding-bottom: 0;
	}

	section.function2 .inner p.link {
		margin-top: 30px;
	}

	section.function2 .inner p.link a {
		max-width: 100%;
	}

}



/* -----------------------------------------------------------------------------
 blog
----------------------------------------------------------------------------- */
section.blog {
	position: relative;
	width: 100%;
	margin-top: 100px;
	padding-bottom: 80px;
	overflow: hidden;
	z-index: 1;
}

section.blog .inner {
	width: 100%;
	max-width: 1054px;
	margin: 0 auto;
	padding: 65px 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.blog .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.blog .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.blog .inner p {
	font-size: 16px;
	max-width: 740px;
	margin-top: 25px;
}

section.blog .col3 {
	position: relative;
	width: 100%;
	max-width: 1054px;
	margin: 35px auto 0;
	padding: 0 5px 0 5px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 2;
}

section.blog .col3::after {
	position: absolute;
	top: -210px;
	right: 0;
	content: "";
	width: 285px;
	height: 230px;
	background: url("../images/blog_img.svg") bottom no-repeat;
	background-size: contain;
	display: block;
	z-index: -1;
}

section.blog .col3 .box {
	padding: 0 22px;
	background-color: #fff;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.blog .col3 .box a {
	display: block;
}

section.blog .col3 .box p {
	font-size: 14px;
	margin-top: 15px;
}

section.blog .col3 .box .img {
	width: 100%;
	height: 66.6%;
	margin-top: 0;
	text-align: center;
	overflow: hidden;
}


section.blog .col3 .box .img img {
	width: 100%;
	height: auto;
}

section.blog .col3 .box .img img {
  transition-duration: 0.3s;
}

section.blog .col3 .box a:hover .img img{
  transform: scale(1.2);
  transition-duration: 0.3s;
}

section.blog .col3 .box h2 {
	font-size: 14px;
	font-weight: 500;
	margin: 15px 0;
}

section.blog .col3 .box p.cat span {
    display: inline-block;
	font-size: 14px;
    line-height: 1.5;
    border: 1px solid #3238c6;
    border-radius: 2em;
    padding: 0.2em 1em 0.1em;
	display: inline-block;
}

.slick-list {
	overflow: visible;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 32%;
    display: block;
    width: 43px;
    height: 43px;
    padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
    cursor: pointer;
    color: #0000;
    outline: none;
	z-index: 10;
	transition: .3s;
}

.slick-prev,
.slick-prev:focus {
	left: 5px;
	background: #3238c6 url("../shared/images/btn_slide_prev.svg") center no-repeat;
	background-size: contain;
}

.slick-next,
.slick-next:focus {
	right: 5px;
	background: #3238c6 url("../shared/images/btn_slide_next.svg") center no-repeat;
	background-size: contain;
}

.slick-prev:hover {
	background: #1e282d url("../shared/images/btn_slide_prev.svg") center no-repeat;
	background-size: contain;
}

.slick-next:hover {
	background: #1e282d url("../shared/images/btn_slide_next.svg") center no-repeat;
	background-size: contain;
}

.slick-prev:before, .slick-next:before {
	display: none;
}

section.blog > .link {
	width: 297px;
	margin: 30px auto 0;
}


@media screen and (max-width: 1054px) {

	section.blog .inner {
		padding: 65px calc(35.5vw + 27px) 0 27px;
	}

	section.blog .inner::before {
		width: calc(100vw - 157px);
	}

}


@media screen and (max-width: 769px) {

	section.blog {
		position: relative;
		margin-top: 34.7vw;
		padding-bottom: 60px;
		overflow: visible;
	}

	section.blog::after {
		position: absolute;
		right: 0;
		top: -41.9vw;
		content: "";
		width: 50.9vw;
		height: 49vw;
		margin: 0;
		background: url("../images/blog_img_sp.svg") bottom no-repeat;
		background-size: 100% auto;
		display: block;
		z-index: -1;
	}

	section.blog .inner {
		padding: 0 27px 0 27px;
	}

	section.blog .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.blog .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.blog .inner p {
		padding-bottom: 25px;
	}

	section.blog .col3 {
		position: relative;
		width: 100%;
		margin: 0 auto 0;
		padding: 0 40px;
		display: block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		overflow: hidden;
		z-index: 2;
	}

	section.blog .col3::after {
		display: none;
	}

	section.blog .col3 .box {
		width: 100%;
		margin-bottom: 30px;
		padding: 0 8px;
	}

	section.blog .col3 .box:last-child {
		margin-bottom: 0;
	}


	section.blog .col3 .box h2 {
		font-size: 14px;
		margin: 10px 0 5px;
	}

	section.blog .col3 .box p.cat span {
		font-size: 12px;
	}

	.slick-prev {
		left: 19px;
	}

	.slick-next {
		right: 19px;
	}

	section.blog > .link {
		width: auto;
		margin: 30px 27px 0;
	}

}



/* -----------------------------------------------------------------------------
 company
----------------------------------------------------------------------------- */
section.company {
	width: 100%;
	background: url("../images/company_bg.jpg") center no-repeat;
	background-size: cover;
}

section.company .inner {
	width: 100%;
	max-width: 1054px;
	margin: 0 auto;
	padding: 65px 27px 80px;
	display: flex;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.company .inner .left,
section.company .inner .right {
	color: #fff;
}

section.company .inner .left {
	width: calc(100% - 297px);
}

section.company .inner .left .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.company .inner .left p {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

section.company .inner .right {
	width: 297px;
	display: flex;
	align-items: flex-end;
}

section.company .inner .right .link {
	width: 100%;
}

@media screen and (max-width: 769px) {

	section.company {
		background: url("../images/company_bg_sp.jpg") center no-repeat;
		background-size: cover;
	}

	section.company .inner {
		padding: 45px 27px 60px;
		display: block;
	}

	section.company .inner .left,
	section.company .inner .right {
		width: 100%;
	}

	section.company .inner .left .en {
		font-size: 13px;
	}

	section.company .inner .left p {
		font-size: 26px;
		letter-spacing: normal;
		white-space: normal;
	}

	section.company .inner .right {
		margin-top: 32px;
		width: 100%;
	}

}



/* -----------------------------------------------------------------------------
 news
----------------------------------------------------------------------------- */
section.news {
	position: relative;
	width: 100%;
	overflow: hidden;
}

section.news .inner {
	width: 100%;
	max-width: 1054px;
	margin: 70px auto 75px;
	padding: 0 27px 0 27px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.news .inner .en {
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.26em;
}

section.news .inner h2 {
	font-size: 32px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	letter-spacing: -0.05em;
}

section.news .inner .list {
	margin-top: 30px;
}

section.news .inner .list article {
	margin-bottom: 30px;
	display: flex;
}

section.news .inner .list article .date {
	font-size: 14px;
	margin-right: 50px;
}

section.news .inner .list article .cat  {
	font-size: 14px;
	margin-right: 50px;
}

section.news .inner .list article .cat span {
    display: inline-block;
	min-width: 120px;
    line-height: 1.5;
    border: 1px solid #cfd2d3;
    border-radius: 2em;
    padding: 0.2em 1em 0.1em;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

section.news .inner .list article h4 {
	font-size: 14px;
	font-weight: normal;
}

section.news .inner .list .link {
	font-size: 14px;
	text-align: right;
}

section.news .inner .list .link a {
	color: #3036bc;
	text-decoration: underline;
}

section.news .inner .list .link a:hover {
	text-decoration: none;
}

@media screen and (max-width: 769px) {

	section.news::after {
		position: relative;
		left: 27px;
		width: calc(100vw - 27px);
		height: 68.8vw;
		background-size: 100% auto;
	}

	section.news .inner {
	    margin: 40px auto 50px;
		padding: 0 27px 0 27px;
	}

	section.news .inner .en {
		font-size: 13px;
		margin-bottom: 0.5em;
	}

	section.news .inner h2 {
		font-size: 26px;
		line-height: 1.4em;
	}

	section.news .inner .list {
		margin-top: 15px;
		width: 100%;
	}

	section.news .inner .list article {
		margin-bottom: 30px;
		flex-flow: row wrap;
	}

	section.news .inner .list article .date {
		margin-right: 30px;
	}

	section.news .inner article h4  {
		width: 100%;
		margin-top: 10px;
	}

}
