@charset "UTF-8";

.SP {
    display: none;
}

@media screen and (max-width: 1024px){
	footer section.team_icon ul li {
    	padding: 16px;
	}
	footer section.team_icon ul li a img{
    	width: 30px;
    	width: 4vw;
	}
	footer .footer_link {
		min-width:auto;
	}
	footer .footer_link_bg {
		padding:0 4%;
	}
	footer .footer_link .footer_link_right ul li {
	    padding-left: 32px;
	}
}

@media screen and (max-width: 1366px){
	section.introduction:after {
        top: -60px;
        background: url(../img/top/top_person.png) no-repeat;
        background-size: 800px;
        background-position: top center;
    }
    section.top_title .contents .title {
	    background: url(../img/top/top_bg_tools.png) no-repeat;
    	background-position: center 70px;
    	background-size: 100%;
    	width: 90%;
    	margin: auto;
    	padding: 35vh 0 170px;
	}
}

@media screen and (max-width: 1200px){
	section.company .contents_wrap {
	    width: 100%;
    	max-width: 960px;
    	position: relative;
    	padding-bottom: 54px;
	}
	section.company .contents ul li.event_wrap {
	    padding-top: 80px;
    	width: 960px;
	}
	section.company .contents ul li .event_overview {
	    position: relative;
    	width: 960px;
    	margin-top: 100px;
	}
	section.company .contents ul li .event_overview .event_txt {
	    width: 540px;
	}
	section.company .contents ul li .event_detail ul {
	    width: 960px;
	}
	section.company .contents ul li:nth-child(even) .event_overview .event_txt {
	    width: 540px;
	}
}

@media screen and (max-width: 1024px){
	section.company .contents_wrap {
	    width: 100%;
    	max-width: auto;
    	position: relative;
    	padding-bottom: 54px;
	}
	section.company .contents ul li.event_wrap {
	    padding-top: 80px;
    	width: 800px;
    	margin:auto;
	}
	section.company .contents ul li .event_overview {
	    position: relative;
    	width: 800px;
    	margin-top: 100px;
	}
	section.company .contents ul li .event_overview .event_txt {
	    width: 520px;
	}
	section.company .contents ul li .event_overview .event_img img {
    	width: 360px;
    	height: auto;
	}
	section.company .contents ul li .event_detail ul {
	    width: 800px;
	}
	section.company .contents ul li:nth-child(even) .event_overview .event_txt {
	    width: 520px;
	}
	section.company .contents ul li .event_overview .event_person {
	    position: absolute;
	    top: 120px;
	    right: -50px;
	}
	section.company .contents ul li:nth-child(even) .event_overview .event_person {
    	position: absolute;
    	top: 120px;
    	left: -50px;
	}
}

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

    .PC {
        display: none;
    }
    .SP {
        display: block;
    }

	.pc_only{
    	display: none;
	}
	.sp_only, .pc_none{
		display: block;
	}
	.team_icon01 {
    	display: none;
	}
	header nav {
    	padding: 0;
	}
	header nav#menu_sp p{
		height:60px;
		background:#ffffff;
		width:100%;
		position: relative;
		margin:0;
	}
	header nav#menu_sp p .link_top{
		position: absolute;
		top:0;
		left:0;
	}
	header nav#menu_sp p .link_top a{
		display: table;
		width:90px;
		height:60px;
	}
	header nav#menu_sp p .link_top a span{
		display: table-cell;
		vertical-align: middle;
		margin:auto;
	}
	header nav#menu_sp p .sp_menu_btn{
		position: absolute;
		top:0;
		right:0;
	}
	header nav#menu_sp ul{
		width:100%;
		padding:20px;
		background:rgba(0,0,0,0.8);
		display: none;
	}
	header nav#menu_sp ul li{
		text-align: left;
		padding-left: 16px;
		border-left:4px solid #ffffff;
		margin-bottom: 12px;
		display: table;
		min-height: 40px;
	}
	header nav#menu_sp ul li a{
		color:#ffffff;
		display: table-cell;
		vertical-align: middle;
	}
	header nav#menu_sp ul li.link_red{
		background:#c9161d;
		border:none;
		padding:8px 48px;
		margin:0;
		text-align: center;
	}
	section.top_title {
		height:90vh;
    	min-height: 600px;
    	overflow: hidden;
	    padding: 0;
	    border-top:60px solid #ffffff;
	    margin-bottom:-64px;
	}

	section.top_title .title_bg {
    	width: 120%;
    	margin-left: -10%;
	}
	section.top_title .contents .title_copy1 img{
		width:33%;
		height:auto;
		margin-bottom: 40px;
	}
	section.top_title .title_copy2 {
    	width: 64px;
	}
	section.top_title .contents {
	    max-width: none;
    	min-width: auto;
    	min-height: 480px;
        padding-bottom: 160px;
	}

	section.top_title .contents .title span {
	    font-size: 120%;
    	letter-spacing: 0px;
    	margin-bottom:0;
	}
	section.top_title .contents .title h1{
		margin-bottom: 0;
	}
	section.top_title .contents .title h1 img {
		width:50px;
		height:auto;
	}
section.top_title .contents .title p {
    font-size: 100%;
    margin: 0 5% 0;
}
	section.top_title .contents .scroll_btn {
    	left: auto;
    	right: 50%;
    	margin-right: -42px;
    	padding: 0px 12px 24px 12px;
	}
	section.top_title .contents .title_bg {
    	padding: 12px 8%;
	}
	section.top_title .contents .title_bg img{
		width:100%;
		height:auto;
	}
	section.top_title .contents .title_bg h2 {
    	font-size: 140%;
    	margin-top: 20px;
    	margin-bottom: 4px;
	}
	section.top_title .contents .title_bg h2 {
    	color: #000000;
    	font-weight: bold;
    	font-size: 130%;
    	line-height: 150%;
    	margin-top: 10px;
    	margin-bottom: 4px;
    	font-family: 'Noto Sans JP';
	}

section .contents_wrap{
	margin:0;
}
section .contents_wrap article {
    padding: 60px 4% 0;
}
section .contents_wrap h1 .ttl_en{
    display: block;
    margin-bottom: 12px;
}
section .contents_wrap h1 .ttl_en img{
    height:24px;
    width:auto;
}
section .contents_wrap h1 .ttl_jp{
    font-size: 100%;
}
section.top_title .contents .title h1 span {
    margin: 0px 0 30px 0;
    display: block;
}

	/* introduction */

section.introduction {
    background: url(../img/top/intro_bg_top02.png) no-repeat;
    background-size:contain;
    padding: 80px 0;
    margin-top: -35px;
}
section.introduction:after {
    content: "";
    display: block;
    height: 160px;
    width: 100%;
    position: absolute;
    top: -80px;
    background: url(../img/top/top_person.png) no-repeat;
    background-size: contain;
    background-position: top center;
}
section.introduction .contents_wrap article {
    padding: 10px 5% 100px;
}

	/* introduction end */


	/* company */

section.company {
        width: 100%;
        background-size: contain;
        padding: 40px 0 0;
}


section.company .contents {
    margin-top: 0px;
}

section.company .contents ul li.event_wrap {
    padding-top: 20px;
    width: 100%;
}

section.company .contents ul li .event_overview {
    position: relative;
    width: 100%;
    margin-top: 0px;
}
section.company .contents ul li .event_overview .event_img {
    position: relative;
    top: 0px;
    right: 0;
    width:100%;
}
section.company .contents ul li .event_overview .event_img img {
    border-radius: 36px 36px 0 0;
    width: 100%;
}
section.company .contents ul li .event_overview .event_txt {
    width: 100%;
    background: #ffffff;
    border-radius: 0 0 36px 36px;
    padding: 36px 6%;
    margin: 0 auto 0 0;
}
section.company .contents ul li .event_overview .event_txt h2 i {
    width: 120px;
    height: auto;
}
section.company .contents ul li .event_overview .event_txt h2 i img{
    width: 160px;
    height: auto;
}
section.company .contents ul li .event_overview .event_person {
    position: absolute;
    top: auto;
    bottom: -50px;
    right: -20px;
}
section.company .contents ul li .event_overview .event_person img{
	height:120px;
	width:auto;
}
section.company .contents ul li .event_detail ul {
    width: 100%;
}
section.company .contents ul li:nth-child(even) .event_overview .event_img {
    position: relative;
    top: 0px;
    left: 0;
}
section.company .contents ul li:nth-child(even) .event_overview .event_txt {
    width: 100%;
    background: #ffffff;
    border-radius: 0 0 36px 36px;
    padding: 36px 6%;
    margin: 0 0 0 auto;
}
section.company .contents ul li:nth-child(even) .event_overview .event_person {
    position: absolute;
    top: auto;
    left: -20px;
    bottom: -70px;
}
section.company .contents_wrap:before{
	display: none;
}
section.company .contents_wrap:after{
	display: none;
}
section.company .contents ul li .event_detail ul {
    padding-left: 6px;
}
section.company .contents ul li .event_detail ul li {
    width: 100%;
    border-right: 8px solid #ffffff;
}
section.company .contents .event_btn {
    margin: 40px auto 60px;
    text-align: center;
}
section.company .contents .event_btn a {
    display: inline-block;
    border-radius: 120px;
    background: #ff5757;
    box-shadow: 0px 8px 0px rgba(170, 57, 57, 1);
    color: #ffffff;
    font-size: 140%;
    line-height: 100%;
    font-weight: bold;
    padding: 16px 10px 12px;
    width: 90%;
    max-width: 640px;
}
section.company .contents .event_btn a i {
    width: 24px;
    height: 24px;
}

section.company .contents .event_btn_after {
    margin: 40px auto 60px;
    text-align: center;
}
section.company .contents .event_btn_after i {
    display: inline-block;
    border-radius: 80px;
    background: #666666;
    box-shadow: 0px 8px 0px rgba(51, 51, 51, 1);
    color: #ffffff;
    font-size: 140%;
    line-height: 100%;
    font-weight: bold;
    padding: 20px 10px;
    width: 90%;
    max-width: 640px;
}

	/* company end */




	/* detail */

	section.detail article p{
		font-size:90%;
		margin: 12px 0;
		width:100%;
	}
	section.detail {
	    max-width: none;
	    min-width: auto;
	    margin:0px auto;
	}
	section.detail h1 {
	    margin-bottom: 60px;
	}
	section.detail h1 span{
    	font-size: 65%;
	}
	section.detail ul{
	    width: 92%;
	    margin: auto;
	}
	section.detail ul .col-4{
		width:100%;
		margin-bottom: 0px;
		text-align: center;
	}
	section.detail ul .col-4 p{
		text-align: left;
    	display: inline-block;
	}
	section.detail ul .col-6{
		width:100%;
		margin-bottom: 20px;
		text-align: center;
		padding: 0;
	}
	section.detail ul .col-6 p{
		text-align: left;
    	display: inline-block;
	}
	section.detail ul .col-12{
		width:100%;
		margin-bottom: 20px;
		text-align: center;
		padding: 0;
	}
	section.detail article .detail_wrap p.center {
    	font-size: 130%;
	}
	section.detail article {
		padding: 40px 0%;
	}

	/* detail end */


	footer .footer_link_bg {
	    padding: 0 4%;
	    padding: 16px 4%;
	}
	footer .footer_link {
	    max-width: none;
    	min-width: auto;
	}
	footer .footer_link .footer_link_left {
	    vertical-align: top;
	    float:left;
	}
	footer .footer_link .footer_link_right ul li {
	    float:right;		
	}
	footer .footer_link .footer_link_right ul li {
	    display: block;
    	padding-left: 10px;
    	text-align: right;
    	width:100%;
    	line-height: 200%;
	}
	footer .footer_link .footer_link_right p.footer_copyright {
	    display: none;
	}
	footer p.footer_copyright_sp {
	    display: block;
	    font-size: 80%;
	    font-size: 3vw;
	    text-align: right;
	    margin-bottom: 5px;
	}

}

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

	section.top_title .contents .title h1 i {
	    font-size: 90%;
	}
	section.top_title .contents .title {
        width: 100%;
    }
	section.title_lead p {
	    font-size: 90%;
	}
	section.detail article {
    	padding: 10px 0% 40px;
	}
	section.detail h1{
		margin-bottom: 48px;
	}
	section.detail h1 img{
		width:180px;
		height:auto;
	}
	section.company .contents ul li .event_detail ul li dl dt {
	    padding: 20px 0;
	}
	section.company .contents ul li .event_overview .event_txt h2 i img{
	    width: 120px;
    	height: auto;
	}
	section.company .contents ul li .event_overview .event_txt h2 span {
	    padding-left: 16px;
    	font-size: 90%;
	}
	section .contents_wrap h1 .ttl_jp{
	    font-size: 80%;
	}
	section .contents_wrap h1 .ttl_en {
        line-height: 160%;
    }
	section.company .contents_wrap article h1:before{
    	content:"";
    	display: inline-block;
    	width:69px;
    	height:54px;
    	background:url(../img/top/company_ttl_grass.png) no-repeat;
    	background-size: contain;
    	position: absolute;
    	left:-20px;
    	top:20px;
	}
	section.company .contents_wrap article h1:after{
    	content:"";
    	display: inline-block;
    	width:69px;
    	height:54px;
    	background:url(../img/top/company_ttl_grass.png) no-repeat;
    	background-size: contain;
    	position: absolute;
    	right:-20px;
    	top:20px;
	}

	/* questions */

	section .contents_wrap article.questions{
    	margin: 0 auto 30px;
	}
	article.questions ul li{
    	margin-bottom: 30px;
    	padding:30px 24px 24px;
	}
	article.questions ul li dl dt {
	    margin-bottom: 30px;
	}
	article.questions ul li dl dt i{
	    display: table-cell;
    	vertical-align: top;
    	padding-top: 6px;
    	width:36px;
	}
	article.questions ul li dl dt span{
		padding-left: 20px;
	}
	article.questions ul li dl dt i:before{
    	content:"Q";
    	font-size:120%;
    	width:36px;
    	height:36px;
    	line-height:30px;
	}
	article.questions ul li dl dd i{
	    display: table-cell;
    	vertical-align: top;
    	padding-top: 6px;
    	width:36px;
	}
	article.questions ul li dl dd span{
		padding-left: 20px;
	}
	article.questions ul li dl dd i:before{
    	content:"A";
    	font-size:120%;
	    width:36px;
    	height:36px;
    	line-height:30px;
	}

}

@media screen and (max-width: 360px){
	footer .footer_link .footer_link_left {
	    width: 64px;
	}
	footer .footer_link .footer_link_left img{
	    width: 100%;
	    height:auto;
	}
}