@charset "utf-8";
/* CSS Document */
/*----------------------------------------------------------------------------------------------------

    MAIN

-----------------------------------------------------------------------------------------------------*/
#main {
	padding: 0;
}
.bxslider{   
    margin: 0px;
}
.bx-wrapper {
    position: relative;
	width: 100%;
	max-width: 100%!important;
}
.bx-wrapper img {
    width:100%;
}
.logo {
	background: #A11C3F;
	text-align: center;
	padding: 5px 10px;
}
.splogo {
	display: none;
}
#main p {
	position: absolute;
	transform: translate(-50%,50%);
	left: 50%;
	bottom: 30%;
	width: 100%;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	color: #fff;
	line-height: 1.4;
	text-shadow: 0 6px 5px rgba(0,0,0,1);
}
#main span {
	position: relative;
	display: block;
	padding: 0 55px;
	font-size: 18px;
	text-align: center;
	width: 60%;
	margin: 0 auto;
	margin-top: 10px;
}
#main span:before, #main span:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #fff;
}
#main span:before {
	left:0;
}
#main span:after {
	right: 0;
}
@media only screen and ( max-width : 896px ) {
	.splogo {
		display: block;
		width: auto;
		padding: 10px;
	}
	#main p {
		font-size: 5vw;
	}
	#main span {
		width: 90%;
		font-size: 2.5vw;
		font-weight: 500;
	}
}
/*----------------------------------------------------------------------------------------------------

    ABOUT

-----------------------------------------------------------------------------------------------------*/
#about {
	background: url("../img/about_bg.png") no-repeat;
	background-size: cover;
	background-position: top;
}
#about h3 {
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 60px;
	letter-spacing: 1px;
}
#about p {
	font-size: 18px;
	max-width: 670px;
	margin: 0 auto;
	text-align: center;
}
#about h2 {
	padding-top: 120px;
}
#about .bottom {
	margin-bottom: 30px;
}
#about .button {
	position: relative;
	padding-left: 20px;
	border: 1px solid #000;
	padding: 20px 0;
	transition: .5s;
	letter-spacing: 5px;
	margin: 50px auto 30px;
	text-align: center;
}
#about .button:hover {
	background: #000;
	color: #fff;
}
#about .link {
	display: table;
	margin: 0 auto;
	border-bottom: 3px solid #A11C3F;
	color: #A11C3F;
	font-weight: 700;
}
#about .link:hover {letter-spacing: .2em;}
@media only screen and ( max-width : 896px ) {
	#about {
		background-size: contain;
		background-position: 50% 20%;
	}
	#about p {
		font-size: 16px;
		text-align: left;
	}
	#about h2 {
		padding-top: 70px;
	}
}
@media only screen and ( max-width : 480px ) {
	#about h3 {
		font-size: 7vw;
	}
	#about p {
		font-size: 14px;
	}
}
/*----------------------------------------------------------------------------------------------------

    MESSAGE

-----------------------------------------------------------------------------------------------------*/
#ms {
	background: #F3F3F3;
}
#ms .flexbox {
	display: flex;
	justify-content: space-between;
	background: #fff;
	margin-bottom: 30px;
	padding: 95px 50px 0 50px;
	position: relative;
}
#ms .messagebox {
	background: #fff;
	position: relative;
}

#ms .img_l,
#ms .img_r {
	width: 450px;
}
#ms .img_r {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
}
#ms .box_r {
	transition: .5s;
	max-width: 560px;
	padding-left: 10px;
}
#ms .box_l {
	transition: .5s;
	max-width: 560px;
	padding-right: 10px;
}
#ms .box_l h3{
	font-size: 1.2em;
	font-weight: bold;
}
#ms .left {
	margin: 0 0 15px 40px;
}
#ms p {
	line-height: 1.9;
}
#ms .bottom {
	margin-bottom: 20px;
}
#ms .name {
	text-align: right;
	padding: 30px 80px;
}
#ms .center{
	padding: 0 50px;
}
#ms a{
	text-decoration: underline;
	color: #0044CC
	font-weight: bold;
}
/*#ms .flexbox::before {
	content: "";
	border-top: 50px solid #A11C3F;
	border-right: 50px solid transparent;
	position: absolute;
	left: 0;
	top: 0;
}
#ms .flexbox::after {
	content: "";
	border-bottom: 50px solid #A11C3F;
	border-left: 50px solid transparent;
	position: absolute;
	right: 0;
	bottom: 0;
}*/
#ms .messagebox::before {
	content: "";
	border-top: 50px solid #A11C3F;
	border-right: 50px solid transparent;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
#ms .messagebox::after {
	content: "";
	border-bottom: 50px solid #A11C3F;
	border-left: 50px solid transparent;
	position: absolute;
	right: 0;
	bottom: 0;
}
@media only screen and ( max-width : 900px ) {
	#ms .flexbox {
		margin-bottom: 30px;
	}
	#ms .flexbox {
		display:-webkit-box;
		display: -webkit-flex;
		display:-ms-flexbox;
		display: flex;
		-webkit-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		width: 100%;
		margin-bottom: 10px;
		padding: 7%;
	}
	#ms .box_l,#ms .box_r {
		-webkit-box-ordinal-group:2;
		-ms-flex-order:2;
		-webkit-order:2;
		order:2;
		width: 100%;
		margin: 0 auto;
	}
	#ms .img_l,#ms .img_r {
		margin: 0 auto 20px auto;
	}
	#ms img {
		width: 100%;
		height: 250px;
		object-fit: cover;
		object-position: 100% 0%
	}
	#ms .center{
	padding: 0 30px;
}
}
@media only screen and ( max-width : 480px ) {
	#ms .flexbox {
		padding: 20px 10px;
	}
	#ms .img_l,#ms .img_r {
		width: 100%;
	}
	#ms .box_l {
		padding-right: 0;
	}
	#ms .box_r {
		padding-left: 0;
	}
	#ms .left {
		margin-left: 25px;
	}
	#ms .flexbox::before {
		border-top: 25px solid #A11C3F;
		border-right: 25px solid transparent;
	}
	#ms .flexbox::after {
		border-bottom: 25px solid #A11C3F;
		border-left: 25px solid transparent;
	}
	#ms img {
		height: auto;
	}
	#ms .center{
	padding: 0 20px;
}
}
@media only screen and ( max-width : 400px ) {
}
/* ---------------------------------------------------------------------------------------------

　   WORK STYLE

--------------------------------------------------------------------------------------------- */
#work .flexbox {
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
}
#work .flexbox:last-child {
	margin-bottom: 0;
}
#work h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	font-weight: 800;
	margin-bottom: 20px;
}
#work h3 span {
	color: #A11C3F;
	padding-right: 10px;
}
#work .img_l,
#work .img_r {
	width: 640px;
}
#work .img_r {
	float: right;
}
#work .box_l,
#work .box_r {
	position: absolute;
	top: 0;
	transition: .5s;
	max-width: 508px;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#work .box_l {
	left: 0;
}
#work .box_r {
	right: 0;
}
#work .boxmin {
	border: 1px solid #707070;
	border-radius: 15px;
	padding: 25px;
	margin-top: 20px;
}
#work .ttl {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 1;
}
#work .bottom {
	margin-bottom: 20px;
}
#work a {
	text-decoration: underline;
	color: #0044CC;
	font-weight: bold;
}
@media only screen and ( max-width : 900px ) {
	#work .flexbox {
		overflow: hidden;
		margin-bottom: 30px;
	}
	#work .flexbox:last-child {
		margin-bottom: 0;
	}
	#work .img_l,
	#work .img_r {
		float: none;
		margin: 0 auto 20px auto;
	}
	#work .box_l,
	#work .box_r {
		position: inherit;
		margin: 0 auto;
		height: auto;
	    overflow: hidden;
		padding: 0;
	}
	#work .txt_box {
		max-width: 500px;
		margin: 0 auto 20px auto;
	}
	#work .box_r {
		padding-top: 0;
	}
}
@media only screen and ( max-width : 600px ) {
	#work .box_l,
	#work .box_r,
	#work .img_l,
	#work .img_r {
		width: 100%;
	}
	#work .txt {
		letter-spacing: 0;
	}
}
@media only screen and ( max-width : 480px ) {
	#work .boxmin {
		padding: 20px 10px;
	}
}
@media only screen and ( max-width : 400px ) {
	#work h3 {
		font-size: 30px;
	}
}
/* ---------------------------------------------------------------------------------------------

　   interview

--------------------------------------------------------------------------------------------- */
#itv li {
	width: 100%;
	border-top: 4px solid #707070;
	overflow: hidden;
	position: relative;
}
#itv li:last-child {
	border-bottom: 4px solid #707070;
}
#itv .img {
	width: 50%;
	text-align: center;
}
#itv .modal_box img { -moz-transition: -moz-transform 0.5s linear; -webkit-transition: -webkit-transform 0.5s linear; -o-transition: -o-transform 0.5s linear; -ms-transition: -ms-transform 0.5s linear; transition: transform 0.5s linear;}
#itv .modal_box:hover img { -webkit-transform: scale(1.08); -moz-transform: scale(1.08); -o-transform: scale(1.08); -ms-transform: scale(1.08); transform: scale(1.08);}
#itv li:nth-child(odd) .img {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
	float: right;
}
#itv li:nth-child(even) .img {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
	float: left;
}
#itv .txt_box {
	transition: .3s;
	font-size: 13px;
	margin: 0 10px;
	position: absolute;
	left: 33%;
	transform: translate(-50%,50%);
}
#itv li:nth-child(even) .txt_box {
	left: inherit;
	right: 33%;
	transform: translate(50%,50%);
}
#itv .txt {
	font-size: 30px;
	font-weight: 900;
	margin-bottom: 20px;
	max-width: 500px;
	text-shadow: 0 0 10px rgba(255,255,255,0.8);
}
#itv .read {
	background: #818181;
	color: #fff;
	font-weight: 600;
	padding: 13px 25px 13px 45px;
	max-width: 508px;
	display: flex;
	justify-content: space-between;
	position: relative;
	box-sizing: border-box;
	align-items: center;
}
#itv .name {
	font-size: 20px;
}
#itv .button {
	font-size: 18px;
	font-weight: 400;
	border: 2px solid #fff;
	border-radius: 20px;
	padding: 5px 50px 5px 30px;
}
#itv .button::after,
#itv .button::before {
	border-top: 1px solid #fff;
	width: 8px;
	right: 50px;
}
#itv .button::after {
	top: 47%;
	-ms-transform: rotate(20deg);
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg);
}
#itv .button::before {
	bottom: 47%;
	-ms-transform: rotate(-20deg);
	-webkit-transform: rotate(-20deg);
	transform: rotate(-20deg);
}
@media only screen and ( max-width : 1000px ) {
	#itv .img {
		width: 50%;
	}
	#itv .txt {
		font-size: 3vw;
		margin: 0 auto 20px auto;
	}
	#itv .button {
		font-size: 14px;
		padding: 5px 30px 5px 10px;
	}
	#itv .button::after, #itv .button::before {
		right: 40px;
	}
}
@media only screen and ( max-width : 760px ) {
	#itv .txt_box {
		position: inherit;
		left: inherit;
		transform: inherit;
	}
	#itv .txt {
		font-size: 4vw;
	}
	#itv .read {
		margin: 0 auto 20px auto;
	}
	#itv li:nth-child(even) .txt_box {
		left: inherit;
		right: inherit;
		transform: inherit;
	}	
	#itv li:nth-child(odd) .img,
	#itv li:nth-child(even) .img {
		float: none;
		width: 100%;
		margin-bottom: 10px;
		overflow: hidden;
	}
	#itv img {
		width: 80%;
		height: 300px;
		object-fit: cover;
		object-position: 100% 0%
	}
}
@media only screen and ( max-width : 480px ) {
	#itv .read {
		padding: 10px;
	}
	#itv .name {
		font-size: 14px;
	}
	#itv .button::after, #itv .button::before {
		right: 23px;
	}
	#itv img {
		width: 100%;
		height: 150px;
	}
}
/* ---------------------------------------------------------------------------------------------

　   infographics

--------------------------------------------------------------------------------------------- */
#graph .flexbox{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;}
#graph li{
	width: 30%;
    margin-bottom: 4rem;}
#graph li:nth-child(1){
    margin-left: 15%;}
#graph li:nth-child(2){
    margin-right: 15%;}
#graph ul li span{
	display: block;
	text-align: center;
	font-size: 1.6rem;
	font-weight:600;}

@media only screen and ( max-width : 896px ) {
	#graph ul{padding: 0 20px;}
	#graph li {width:45%;}
	#graph li:nth-child(1){margin-left: 0;}
	#graph li:nth-child(2){margin-right: 0;}
}
@media only screen and ( max-width : 480px ) {
	#graph ul{padding: 0;}
	#graph li {
	display: block;
	width:90%;
	margin:0 auto 4rem;}
	#graph li:nth-child(1){margin-left: auto;}
	#graph li:nth-child(2){margin-right: auto;}
}
/* ---------------------------------------------------------------------------------------------

　   ENTRY

--------------------------------------------------------------------------------------------- */
#entry {background: url("../img/entry_bg.png") no-repeat bottom / cover;}