@charset "utf-8";

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}


/*====================================================================================

SP用（bleak_point:640px）

====================================================================================*/

@media screen and (max-width:640px){
	
	
	.sp_none {
		display: none;
	}
	
	#wrapper_top {
		color: #333;
		text-align: justify;
		overflow: hidden;
	}
	
	.h_wrapper_r1_top {
		position: relative;
	}
	.PAGE_TOP_r1_top {
		z-index: 10000;
	}
	.PAGE_TOP_r1_top h1.header_logo_r1_top {
		height: 44px;
		position: absolute;
		z-index: 10000;
		left: 50%;
		transform: translateX(-50%);
		top: 15px;
	}
	.PAGE_TOP_r1_top h1.header_logo_r1_top img {
		height: 100%;
		width: auto;
	}
	
	.PAGE_TOP_r1_top .top_header_gnav {
		display: none;
	}
	
	
	.h_wrapper_r1_top .top_main_vc_wrap {
		width: 100%;
		position: relative;
	}
	.h_wrapper_r1_top .top_main_vc_wrap::before {
		content: '';
		width: 100%;
		height: 200px;
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		background: url("../img/top_main_shin_bg01.svg") top left repeat-x;
		background-size: 960px 100px;
		z-index: 9999;
	}
	.h_wrapper_r1_top .top_main_vc_wrap::after {
		content: '';
		width: 100%;
		height: 400px;
		position: absolute;
		display: block;
		bottom: 0;
		left: 0;
		background: url("../img/top_main_shin_bg02.svg") bottom left repeat-x;
		background-size: 960px 200px;
		z-index: 9999;
	}
	.h_wrapper_r1_top .top_main_vc_wrap .top_main_vc_slider li {
		width: 100%;
		height: auto;
		max-height: 100vh;
		overflow: hidden;
		position: relative;
	}
	.h_wrapper_r1_top .top_main_vc_wrap .top_main_vc_slider li img {
		width: 100%;
		height: auto;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.top_main_vc_wrap h2 {
		width: 80%;
		position: absolute;
		bottom: 110px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10000;
	}
	.top_main_vc_wrap h2 img {
		width: 100%;
		height: auto;
	}
	
	.top_main_vc_wrap .scl_ani_top {
		position: absolute;
		width: 16px;
		height: 170px;
		bottom: 15px;
		right: 10px;
		z-index: 10000;
		text-align: center;
		opacity: 0.8;
	}
	.top_main_vc_wrap .scl_ani_top img {
		width: 100%;
		height: auto;
	}
	.top_main_vc_wrap .scl_ani_top::after {
		content: '';
		display: block;
		width: 14px;
		height: 14px;
		background: #ED2965;
		border-radius: 50%;
		position: absolute;
		bottom: 77px;
		left: 50%;
		transform: translate(-50%,50%);
		animation: rotetion_sp 3.0s infinite;
	}
	
	
	.work_list_btn_top {
		width: 100px;
		position: fixed;
		z-index: 10000;
		right: 0;
		bottom: 0;
		color: #fff;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-weight: 500;
		cursor: pointer;
	}
	.work_list_btn_top::before {
		content: '';
		display: block;
		width: 100px;
		height: 100px;
		background: #F03E67;
		border-top-left-radius: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
		box-shadow: -5px -5px 6px rgba(0,0,0,0.16);
	}
	.work_list_btn_top span {
		display: block;
		width: 80px;
		height: 80px;
		position: absolute;
		bottom: 10px;
		right: 10px;
		text-align: right;
		box-sizing: border-box;
		padding-top: 64px;
		line-height: 1em;
	}
	.work_list_btn_top::after {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 45px;
		right: 12px;
	}
	.work_list_btn_top span::before {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 25px;
		right: 2px;
	}
	.work_list_btn_top span::after {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 45px;
		right: 2px;
	}
	
	.work_list_btn_top .work_cate_list_top {
		display: none;
		position: relative;
		background: #fff;
		z-index: 10000;
		font-size: 14px;
		text-align: left;
		line-height: 1em;
		font-weight: 400;
		width: 200px;
		border-radius: 10px;
		box-shadow: -2px -2px 6px rgba(0,0,0,0.16);
		margin-bottom: 110px;
		margin-left: -110px;
	}
	.work_list_btn_top:hover .work_cate_list_top {
		display: block;
	}
	.work_cate_list_top li {
		background: url("../img/interview_icon_02@2x.png") left no-repeat;
		background-size: 14px 14px;
		margin: 0 15px;	
		border-bottom: 1px #EBEBEB dashed;
	}
	.work_cate_list_top li:last-child {
		border-bottom: none;
	}
	.work_cate_list_top li a {
		display: block;
		padding: 15px 0 15px 19px;
		transition: all 0.5s;
	}
	.work_cate_list_top li a:hover {
		color: #18AAEB;
	}
	
	
	.in_wrap {
		width: calc(100% - 30px);
		margin: auto;
	}

	/*=======================================================================
	トップページコンテンツCSS
	=======================================================================*/
	.top_block_shin_01 {
		background: #FF6C77;
		background: linear-gradient(0deg,rgba(255, 108, 119, 1) 0%, rgba(255, 245, 240, 1) 100%);
		padding: 460px 0 80px 0;
		position: relative;
	}

	.top_block_shin_01 img.ph01 {
		position: absolute;
		top: 80px;
		left: 0;
		width: 60%;
	}
	.top_block_shin_01 img.ph02 {
		position: absolute;
		top: 40px;
		right: 0;
		width: 50%;
	}
	.top_block_shin_01 .box01 {
		position: relative;
		text-align: center;
		background: url("../img/top_shin_img_07@2x.png") no-repeat center;
		background-size: 100% auto;
		margin-bottom: 50px;
	}
	.top_block_shin_01 .box01 h2 {
		font-size: 6.7vw;
		font-weight: 500;
		line-height: 1em;
		margin-bottom: 55px;
		text-align: center;
		letter-spacing: 0.1em;
		text-shadow: 0px 0px 4px rgba(250,217,213,0.8)
	}
	.top_block_shin_01 .box01 .txt {
		font-size: 14px;
		font-weight: 300;
		line-height: 2em;
		margin-bottom: 25px;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1em;
	}
	.top_block_shin_01 .box01 .txt:last-child {
		margin-bottom: 0;
	}
	
	.top_block_shin_01 .box02 {
		position: relative;
	}
	.top_block_shin_01 .box02 video {
		width: calc(100% - 40px);
		height: calc((100vw - 30px - 40px) * 0.5688);
		margin-bottom: 20px;
	}
	.top_block_shin_01 .box02 h2 {
		position: absolute;
		top: 0;
		right: 0;
		width: 20px;
		padding-left: 10px;
		border-left: 1px #fff solid;
	}
	.top_block_shin_01 .box02 h2 img {
		width: 100%;
		height: auto;
	}
	.top_block_shin_01 .box02 .img {
		width: 120px;
		float: right;
		margin-left: 15px;
		margin-bottom: 10px;
	}
	.top_block_shin_01 .box02 .img img {
		width: 100%;
		height: auto;
	}
	
	.top_block_shin_01 .box02 .txt {
		color: #fff;
		font-size: 14px;
		font-weight: 300;
		margin-bottom: 15px;
		line-height: 2em;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.03em;
	}
	.top_block_shin_01 .box02 .txt span {
		font-size: 18px;
		padding-top: 5px;
		display: block;
	}
	
	.top_block_shin_02 .in_wrap {
		margin: 0 0 0 0;
		width: 100%;
		box-sizing: border-box;
	}
	.top_block_shin_02 {
		background: url("../img/top_shin_img_26@2x.jpg") no-repeat center;
		background-size: cover;
		padding: 40px 15px 0 15px;
	}
	.top_block_shin_02 h2 {
		height: 34px;
		margin-bottom: 15px;
		text-align:left;
		mix-blend-mode: overlay;
	}
	.top_block_shin_02 h2 img {
		height: 100%;
		width: auto;
		
	}
	.top_block_shin_02 p.sub_txt {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0.1em;
		margin-bottom: 25px;
		line-height: 1em;
		text-align: left;
	}
	.top_block_shin_02 .txt01 {
		font-size: 14px;
		font-weight: 300;
		text-align: left;
		line-height: 2em;
	}
	.top_block_shin_02 ol {
		margin-bottom: 60px;
	}
	.top_block_shin_02 ol li.box {
		margin-top: 30px;
		padding-top: calc((100vw - 30px) * 0.6125 + 20px + 25px);
		position: relative;
	}
	.top_block_shin_02 ol li.box:nth-child(n+2){
		margin-top: 50px;
	}
	.top_block_shin_02 ol li.box::before {
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1em;
		line-height: 1em;
		position: absolute;
		top: 0;
		left: 0;
	}
	.top_block_shin_02 ol li.box:nth-child(1)::before {content: 'Staff first 01';}
	.top_block_shin_02 ol li.box:nth-child(2)::before {content: 'Staff first 02';}
	.top_block_shin_02 ol li.box:nth-child(3)::before {content: 'Staff first 03';}

	.top_block_shin_02 ol li.box h3 {
		font-size: 20px;
		line-height: 1em;
		letter-spacing: 0.1em;
		font-weight: 500;
		margin-bottom: 15px;
	}
	.top_block_shin_02 ol li.box .txt {
		line-height: 2em;
		letter-spacing: 0.1em;
		font-size: 14px;
		font-family: "Noto Serif JP", serif;
	}
	.top_block_shin_02 ol li.box .link {
		margin-top: 15px;
		float: right;
	}
	.top_block_shin_02 ol li.box .link a {
		display: block;
		width: 200px;
		line-height: 44px;
		border-radius: 22px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat 162px center;
		background-size: 28px 28px;
		padding-left: 20px;
		box-sizing: border-box;
		font-weight: 500;
		font-size: 14px;
	}
	.top_block_shin_02 ol li.box:nth-child(1){
		background: url("../img/top_shin_img_10sp@2x.png") no-repeat center 25px;
		background-size: 100% auto;
	}
	.top_block_shin_02 ol li.box:nth-child(2){
		background: url("../img/top_shin_img_11sp@2x.png") no-repeat center 25px;
		background-size: 100% auto;
	}
	.top_block_shin_02 ol li.box:nth-child(3){
		background: url("../img/top_shin_img_12sp@2x.png") no-repeat center 25px;
		background-size: 100% auto;
	}
	
	
	.top_block_shin_02 ol li.box ul {
		display: flex;
		flex-wrap: wrap;
		margin-top: 15px;
	}
	.top_block_shin_02 ol li.box ul li {
		margin-right: 5px;
		color: #F45088;
		border: 1px #F45088 solid;
		border-radius: 6px;
		line-height: 1.2em;
		padding: 5px 10px;
		margin-top: 5px;
		font-size: 12px;
	}
	
	.top_block_shin_02 ul.date_list {
		display: flex;
		flex-wrap: wrap;
	}
	.top_block_shin_02 ul.date_list li {
		width: 48%;
		margin-bottom: 15px;
		margin-right: 4%
	}
	.top_block_shin_02 ul.date_list li:nth-child(even){
		margin-right: 0;
	}
	.top_block_shin_02 ul.date_list li img {
		width: 100%;
		height: auto;
	}
	.top_block_shin_02 div.img {
		width: 48%;
		text-align: center;
		float: right;
		transform: translateY(-100%);
		margin-top: -15px;
	}
	.top_block_shin_02 div.img img {
		width: 37.6%;
		height: auto;
		margin-bottom: 10px;
	}
	.top_block_shin_02 div.img .link a {
		display: block;
		width: 100%;
		line-height: 44px;
		border-radius: 22px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat;
		background-position: calc(100% - 10px);
		background-size: 28px 28px;
		padding-left: 15px;
		box-sizing: border-box;
		font-weight: 500;
		text-align: left;
		margin: auto;
		font-size: 14px;
	}
	
	
	.top_block_shin_03 {
		margin: 0px 15px 80px 15px;
		clear: both;
	}
	.top_block_shin_03 h2 {
		height: 30px;
		margin-bottom: 15px;
		mix-blend-mode: overlay;
	}
	.top_block_shin_03 h2 img {
		height: 100%;
		width: auto;
		mix-blend-mode: overlay;
	}
	.top_block_shin_03 .sub_txt {
		font-size: 16px;
        font-weight: 400;
        letter-spacing: 0.1em;
        margin-bottom: 25px;
        line-height: 1em;
        text-align: left;
	}
	.top_block_shin_03 ol {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.top_block_shin_03 ol li {
		width: 48%;
	}
	.top_block_shin_03 ol li:nth-child(odd){
		margin-top: 60px;
	}
	
	.top_block_shin_03 ol li img {
		width: 100%;
	}
	.top_block_shin_03 ol li .ph {
		margin-bottom: 20px;
	}
	.top_block_shin_03 ol li h3 {
		font-size: 14px;
		font-weight: 500;
		border-radius: 4px;
		margin-bottom: 5px;
		line-height: 24px;
		font-family: "Noto Serif JP", serif;
	}
	.top_block_shin_03 ol li .name,
	.top_block_shin_03 ol li .work{
		font-size: 12px;
		line-height: 1.5em;
	}
	.top_block_shin_03 .box {
		text-align: center;
		position: relative;
	}
	.top_block_shin_03 .box::before {
		content: '';
		display: block;
		width: calc(100% + 30px);
		height: calc(100%);
		background: url("../img/top_shin_img_32@2x.jpg") no-repeat center;
		background-size: cover;
		position: absolute;
		bottom: -80px;
		left: -15px;
		z-index: -1;
	}
	.top_block_shin_03 .box video {
		width: 90%;
		height: calc((100vw - 30px) * 90% * 56.25%);
		margin-bottom: 20px;
	}
	.top_block_shin_03 .box .txt {
		font-size: 14px;
		line-height: 2em;
		margin-bottom: 20px;
		font-family: "Noto Serif JP", serif;
		text-align: left;
		letter-spacing: 0.06em;
	}
	
	.top_block_shin_03 .box .link a {
		display: block;
		width: 200px;
		line-height: 48px;
		border-radius: 24px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat 162px center;
		background-size: 28px 28px;
		padding-left: 20px;
		box-sizing: border-box;
		font-weight: 500;
		text-align: left;
		margin: auto;
		font-size: 14px;
	}
	
	
	
}

@keyframes rotetion_sp {
		0% {
			bottom: 77px;
		}
		100% {
			bottom: 0px;
		}
	}


/*====================================================================================

PC用（bleak_point:641px）

====================================================================================*/

@media screen and (min-width:641px){
	
	#wrapper_top {
		color: #333;
		min-width: 1120px;
		text-align: justify;
		overflow: hidden;
	}
	
	.h_wrapper_r1_top {
		position: relative;
	}
	.PAGE_TOP_r1_top {
		height: 56px;
		width: calc(100% - 100px);
		position: absolute;
		top: 50px;
		left: 50px;
		z-index: 10000;
	}
	.PAGE_TOP_r1_top h1.header_logo_r1_top {
		height: 56px;
	}
	.PAGE_TOP_r1_top h1.header_logo_r1_top img {
		height: 100%;
		width: auto;
	}
	
	.PAGE_TOP_r1_top .top_header_gnav {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.PAGE_TOP_r1_top .top_header_gnav ol {
		display: flex;
	}
	.PAGE_TOP_r1_top .top_header_gnav ol li {
		margin-left: 30px;
	}
	.PAGE_TOP_r1_top .top_header_gnav ol li:first-child {
		margin-left: 0;
	}
	
	.PAGE_TOP_r1_top .top_header_gnav ol li a {
		display: block;
		line-height: 24px;
		padding-bottom: 13px;
		font-size: 16px;
		font-weight: 500;
		position: relative;
	}
	
	.PAGE_TOP_r1_top .top_header_gnav ol li a:hover {
		color: #17AAEB;
		transition: all 0.5s;
	}
	.PAGE_TOP_r1_top .top_header_gnav ol li a::after {
		content: '';
		display: block;
		background: #17AAEB;
		width: 0%;
		height: 3px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.PAGE_TOP_r1_top .top_header_gnav ol li a:hover::after {
		width: 100%;
		transition: all 0.5s;
	}
	
	.PAGE_TOP_r1_top .top_header_gnav ol li.on a {
		color: #17AAEB;
	}
	.PAGE_TOP_r1_top .top_header_gnav ol li.on a::after {
		content: '';
		display: block;
		background: #17AAEB;
		width: 100%;
		height: 3px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	
	
	.h_wrapper_r1_top .top_main_vc_wrap {
		width: 100%;
		position: relative;
	}
	.h_wrapper_r1_top .top_main_vc_wrap::before {
		content: '';
		width: 100%;
		height: 200px;
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		background: url("../img/top_main_shin_bg01.svg") top left repeat-x;
		background-size: 1920px 200px;
		z-index: 9999;
	}
	.h_wrapper_r1_top .top_main_vc_wrap::after {
		content: '';
		width: 100%;
		height: 400px;
		position: absolute;
		display: block;
		bottom: 0;
		left: 0;
		background: url("../img/top_main_shin_bg02.svg") bottom left repeat-x;
		background-size: 1920px 400px;
		z-index: 9999;
	}
	.h_wrapper_r1_top .top_main_vc_wrap .top_main_vc_slider li {
		width: 100%;
		height: auto;
		max-height: 100vh;
		overflow: hidden;
		position: relative;
	}
	.h_wrapper_r1_top .top_main_vc_wrap .top_main_vc_slider li img {
		min-width: 1920px;
		width: 100%;
		height: auto;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.top_main_vc_wrap h2 {
		width: 576px;
		position: absolute;
		bottom: 156px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10000;
	}
	.top_main_vc_wrap h2 img {
		width: 100%;
		height: auto;
	}
	
	.top_main_vc_wrap .scl_ani_top {
		position: absolute;
		width: 20px;
		height: 220px;
		bottom: -98px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10000;
		text-align: center;
		opacity: 0.4;
	}	 
	.top_main_vc_wrap .scl_ani_top::after {
		content: '';
		display: block;
		width: 14px;
		height: 14px;
		background: #ED2965;
		border-radius: 50%;
		position: absolute;
		bottom: 98px;
		left: 50%;
		transform: translate(-50%,50%);
		animation: rotetion 3.0s infinite;
	}
	
	
	.work_list_btn_top {
		width: 100px;
		position: fixed;
		z-index: 10000;
		right: 0;
		bottom: 0;
		color: #fff;
		font-size: 16px;
		letter-spacing: 0.1em;
		font-weight: 500;
		cursor: pointer;
	}
	.work_list_btn_top::before {
		content: '';
		display: block;
		width: 100px;
		height: 100px;
		background: #F03E67;
		border-top-left-radius: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
		box-shadow: -5px -5px 6px rgba(0,0,0,0.16);
	}
	.work_list_btn_top span {
		display: block;
		width: 80px;
		height: 80px;
		position: absolute;
		bottom: 10px;
		right: 10px;
		text-align: right;
		box-sizing: border-box;
		padding-top: 64px;
		line-height: 1em;
	}
	.work_list_btn_top::after {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 45px;
		right: 12px;
	}
	.work_list_btn_top span::before {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 25px;
		right: 2px;
	}
	.work_list_btn_top span::after {
		content: '';
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		display: block;
		position: absolute;
		bottom: 45px;
		right: 2px;
	}
	
	.work_list_btn_top .work_cate_list_top {
		display: none;
		position: relative;
		background: #fff;
		z-index: 10000;
		font-size: 14px;
		text-align: left;
		line-height: 1em;
		font-weight: 400;
		width: 200px;
		border-radius: 10px;
		box-shadow: -2px -2px 6px rgba(0,0,0,0.16);
		margin-bottom: 110px;
		margin-left: -110px;
	}
	.work_list_btn_top:hover .work_cate_list_top {
		display: block;
	}
	.work_cate_list_top li {
		background: url("../img/interview_icon_02@2x.png") left no-repeat;
		background-size: 14px 14px;
		margin: 0 15px;	
		border-bottom: 1px #EBEBEB dashed;
	}
	.work_cate_list_top li:last-child {
		border-bottom: none;
	}
	.work_cate_list_top li a {
		display: block;
		padding: 15px 0 15px 19px;
		transition: all 0.5s;
	}
	.work_cate_list_top li a:hover {
		color: #18AAEB;
	}
	
	
	.in_wrap {
		width: 1080px;
		margin: auto;
	}

	/*=======================================================================
	トップページコンテンツCSS
	=======================================================================*/
	.top_block_shin_01 {
		background: #FF6C77;
		background: linear-gradient(0deg,rgba(255, 108, 119, 1) 0%, rgba(255, 245, 240, 1) 100%);
		padding: 160px 0 100px 0;
		position: relative;
	}

	.top_block_shin_01 img.ph01 {
		position: absolute;
		top: 100px;
		left: 0;
		width: 520px;
	}
	.top_block_shin_01 img.ph02 {
		position: absolute;
		top: 100px;
		right: 0;
		width: 529px;
	}
	.top_block_shin_01 .box01 {
		position: relative;
		padding: 110px 0 75px 0;
		text-align: center;
		background: url("../img/top_shin_img_07@2x.png") no-repeat center;
		background-size: 550px 510px;
		margin-bottom: 180px;
	}
	.top_block_shin_01 .box01 h2 {
		font-size: 40px;
		font-weight: 500;
		line-height: 1em;
		margin-bottom: 55px;
		text-align: center;
		letter-spacing: 0.1em;
		text-shadow: 0px 0px 4px rgba(250,217,213,0.8)
	}
	.top_block_shin_01 .box01 .txt {
		font-size: 18px;
		font-weight: 500;
		line-height: 2em;
		margin-bottom: 25px;
		text-shadow: 1px 1px 4px rgba(250,217,213,0.8)
	}
	.top_block_shin_01 .box01 .txt:last-child {
		margin-bottom: 0;
	}
	
	.top_block_shin_01 .box02 {
		position: relative;
	}
	.top_block_shin_01 .box02 video {
		width: 940px;
		height: 540px;
		margin-bottom: 30px;
	}
	.top_block_shin_01 .box02 h2 {
		position: absolute;
		top: 0;
		right: 0;
		width: 40px;
		padding-left: 45px;
		border-left: 1px #fff solid;
	}
	.top_block_shin_01 .box02 h2 img {
		width: 100%;
		height: auto;
	}
	.top_block_shin_01 .box02 .img {
		width: 250px;
		position: absolute;
		right: 0;
		top: 400px;
	}
	.top_block_shin_01 .box02 .img img {
		width: 100%;
		height: auto;
	}
	
	.top_block_shin_01 .box02 .txt {
		color: #fff;
		font-size: 20px;
		font-weight: 600;
		margin-bottom: 15px;
		line-height: 1.5em;
	}
	.top_block_shin_01 .box02 .txt span {
		font-size: 34px;
		padding-top: 5px;
		display: block;
	}
	
	
	.top_block_shin_02 {
		background: url("../img/top_shin_img_26@2x.jpg") no-repeat center;
		background-size: cover;
		padding: 100px 0;
	}
	.top_block_shin_02 h2 {
		height: 74px;
		margin-bottom: 25px;
		text-align: center;
	}
	.top_block_shin_02 h2 img {
		height: 100%;
		width: auto;
	}
	.top_block_shin_02 p.sub_txt {
		font-size: 24px;
		font-weight: 500;
		letter-spacing: 0.1em;
		margin-bottom: 50px;
		line-height: 1em;
		text-align: center;
	}
	.top_block_shin_02 .txt01 {
		font-size: 18px;
		font-weight: 500;
		text-align: center;
		line-height: 2em;
	}
	.top_block_shin_02 ol {
		margin-bottom: 100px;
	}
	.top_block_shin_02 ol li.box {
		margin-top: 50px;
		width: 540px;
		padding-top: 130px;
	}
	.top_block_shin_02 ol li.box:nth-child(odd){
		padding-right: 540px;
	}
	.top_block_shin_02 ol li.box:nth-child(even){
		padding-left: 540px;
	}
	.top_block_shin_02 ol li.box h3 {
		font-size: 40px;
		letter-spacing: 0.04em;
		line-height: 1em;
		font-weight: 500;
		margin-bottom: 50px;
	}
	.top_block_shin_02 ol li.box .txt {
		line-height: 36px;
		letter-spacing: 0.1em;
	}
	.top_block_shin_02 ol li.box .link {
		margin-top: 50px;
	}
	.top_block_shin_02 ol li.box .link a {
		display: block;
		width: 200px;
		line-height: 48px;
		border-radius: 24px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat 162px center;
		background-size: 28px 28px;
		padding-left: 20px;
		box-sizing: border-box;
		font-weight: 500;
	}
	.top_block_shin_02 ol li.box:nth-child(1){
		background: url("../img/top_shin_img_10@2x.png") no-repeat right top;
		background-size: 740px 450px;
	}
	.top_block_shin_02 ol li.box:nth-child(2){
		background: url("../img/top_shin_img_11@2x.png") no-repeat left top;
		background-size: 740px 450px;
	}
	.top_block_shin_02 ol li.box:nth-child(3){
		background: url("../img/top_shin_img_12@2x.png") no-repeat right top;
		background-size: 740px 450px;
	}
	
	
	.top_block_shin_02 ol li.box ul {
		display: flex;
		flex-wrap: wrap;
		margin-top: 15px;
	}
	.top_block_shin_02 ol li.box ul li {
		margin-right: 10px;
		color: #F45088;
		border: 1px #F45088 solid;
		border-radius: 10px;
		line-height: 38px;
		padding: 0 10px;
		letter-spacing: 0.1em;
		margin-top: 10px;
	}
	
	.top_block_shin_02 ul.date_list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 6.7%;
	}
	.top_block_shin_02 ul.date_list li {
		width: 23%;
		margin-bottom: 40px;
		margin-right: 2.666%
	}
	.top_block_shin_02 ul.date_list li:nth-child(4),
	.top_block_shin_02 ul.date_list li:nth-child(8){
		margin-right: 0;
	}
	.top_block_shin_02 ul.date_list li img {
		width: 100%;
		height: auto;
	}
	.top_block_shin_02 div.img {
		width: 20%;
		text-align: center;
		float: right;
		margin-right: 6.7%;
		transform: translateY(-100%);
		margin-top: -40px;
	}
	.top_block_shin_02 div.img img {
		width: 37.6%;
		height: auto;
		margin-bottom: 10px;
	}
	.top_block_shin_02 div.img .link a {
		display: block;
		width: 200px;
		line-height: 48px;
		border-radius: 24px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat 162px center;
		background-size: 28px 28px;
		padding-left: 20px;
		box-sizing: border-box;
		font-weight: 500;
		text-align: left;
		margin: auto;
	}
	
	
	.top_block_shin_03 {
		margin: 100px 6.7% 0 6.7%;
	}
	.top_block_shin_03 h2 {
		height: 72px;
		margin-bottom: 20px;
	}
	.top_block_shin_03 h2 img {
		height: 100%;
		width: auto;
	}
	.top_block_shin_03 .sub_txt {
		font-size: 24px;
		line-height: 1em;
		letter-spacing: 0.1em;
		margin-bottom: 45px;
	}
	.top_block_shin_03 ol {
		display: flex;
		justify-content: space-between;
		margin-bottom: 30px;
	}
	.top_block_shin_03 ol li {
		width: 23%;
	}
	.top_block_shin_03 ol li:nth-child(1){
		margin-top: 120px;
	}
	.top_block_shin_03 ol li:nth-child(3){
		margin-top: 50px;
	}
	.top_block_shin_03 ol li:nth-child(4){
		margin-top: 120px;
	}
	
	.top_block_shin_03 ol li img {
		width: 100%;
	}
	.top_block_shin_03 ol li .ph {
		margin-bottom: 25px;
	}
	.top_block_shin_03 ol li h3 span {
		display: inline-block;
		background: #259AE3;
		color: #fff;
		font-size: 1.04vw;
		font-weight: 600;
		border-radius: 4px;
		margin-bottom: 5px;
		padding: 0 7px;
		line-height: 34px;
	}
	.top_block_shin_03 ol li h3 {
		margin-bottom: 20px;
	}
	
	.top_block_shin_03 .box {
		text-align: center;
		position: relative;
		margin: 0 -7.5978%;
	}
	.top_block_shin_03 .box::before {
		content: '';
		display: block;
		width: 100%;
		height: calc(100% - 120px);
		background: url("../img/top_shin_img_32@2x.jpg") no-repeat center;
		background-size: cover;
		position: absolute;
		bottom: -100px;
		left: 0;
		z-index: -1;
	}
	.top_block_shin_03 .box video {
		width: 800px;
		height: 450px;
		margin-bottom: 40px;
	}
	.top_block_shin_03 .box .txt {
		font-size: 18px;
		line-height: 2em;
		margin-bottom: 30px;
	}
	
	.top_block_shin_03 .box .link a {
		display: block;
		width: 200px;
		line-height: 48px;
		border-radius: 24px;
		background: #FFC422 url("../img/top_shin_icon_01@2x.png") no-repeat 162px center;
		background-size: 28px 28px;
		padding-left: 20px;
		box-sizing: border-box;
		font-weight: 500;
		text-align: left;
		margin: auto;
	}
	
	
	.pc_none { display: none;}
	
}

@keyframes rotetion {
		0% {
			bottom: 98px;
		}
		100% {
			bottom: 0px;
		}
	}


/*=======================================================================
clear　clearfix
=======================================================================*/
.clear {
	clear: both;
	visibility: visible;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

/* 作成しアップロード後に[overflow:hidden;]は削除（DWデザインビュー用の為） */
.clearfix {
  display: block;
}
	
