@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div,
dl, dt, dd, ul, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1em;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	border-radius: 0;
}

p {
	line-height: 1.5;
}

em {
	font-style: normal;
}

img {
	border: none;
	vertical-align: bottom;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

button {
	border: none;
	background: none;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

main {
	display: block;
}

/* ---------------
　　　共用
--------------- */

html {
    font-size: 62.5%;
}

body  {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #000;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
	font-family: 'Noto Sans JP', sans-serif;
}

.ft_so {
	font-family: 'Source Sans 3', sans-serif;
}

/* リンクの設定 */

a:link {
	border: none;
	color: #000;
	text-decoration: none;
}

a:visited {
	border: none;
	color: #000;
	text-decoration: none;
}

a:active {
	border: none;
	color: #000;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #000;
	text-decoration: none;
}

a[href^="tel:"] {
	padding-right: 0 !important;
	color: #000;
	text-decoration: none !important;
	background: none !important;
}

a.nolink {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
	color: #C8C8C8!important;
}


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

	a[href^="tel:"] {
	    pointer-events: none;
	}
	
	a.h_ani {
		padding: 2px 4px;
		background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(95,95,95,1) 50%);
		background-position: 0 0;
		background-size: 202% auto;
		transition: .3s;
  	}

	a.h_ani:hover {
		background-position: -99% 0;
		color: #fff !important;		
	}

}

.alpha a:hover > img {
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
	opacity:0.7;
}

.alpha a > img {
	-webkit-transition: all 0.25s ease 0s;
	-moz-transition: all 0.25s ease 0s;
	transition: opacity 0.25s ease 0s;
}

.cf:after {
    content: "";
    display: block;
    clear: both;
}

.sp {
	display: none;
}

.pc {
	display: block;
}

.pc_br {
	display: block;
}

.fit {
	max-width: 100%;
}

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

	img {
		max-width: 100%;
		height: auto;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}
	
	.pc_br {
		display: none;
	}

}

.lg_1 .wrapper {
  margin-top: 90px;
  position: relative;
}

.wrapper {
	overflow: hidden;
}

.entry_edit .wrapper {
	overflow: inherit;
}

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

.header {
	padding: 10px 0 10px 10px;
	display: flex;
	justify-content: space-between;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
	transition: all 0.25s ease 0s;
	background: #fff;
}

.top .header {
	background: none;
}

.header .logo_en {
	width: 78px;
}

.header .logo_mk {
	display: none;
}

.header .logo_name {
	display: none;
}

.header.scroll {
	padding: 0;
}

.header.scroll .logo {
	display: none;
}

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

	.lg_1 .header {
		top: 90px;
	}

	.header {
		padding: 20px;
		display: flex;
		justify-content: space-between;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10;
		transition: all 0.25s ease 0s;
	}
	
	.header .logo {
		position: relative;
	}
	
	.header .logo h1 {
		display: flex;
	}
	
	.header .logo img {
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.header .logo_en {
		width: 156px;
		transition: all 0.25s ease 0s;
	}
	
	.header .logo_mk {
		width: 57px;
		opacity: 0;
		display: block;
		transition: all 0.25s ease 0s;
	}
	
	.header .logo_name {
		margin: 17px 0 0 75px;
		font-size: 1.6rem;
		font-weight: 500;
		opacity: 0;
		display: block;
		transition: all 0.25s ease 0s;
	}
	
	.header.scroll {
		padding: 12px;
		background: #fff;
	}

	.header.scroll .logo {
		display: block;
	}
	
	.header.scroll .logo_en {
		opacity: 0;
	}
	
	.header.scroll .logo_mk,
	.header.scroll .logo_name {
		opacity: 1;
	}

}

#menu_btn {
	width: 60px;
	height: 60px;
	position: relative;
	transition: all 0.25s ease 0s;
}

#menu_btn span {
	text-indent: -9999px;
	display: block;
}

#menu_btn::before {
	top: 28px;
}

#menu_btn span::before {
	top: 18px;
}

#menu_btn::after {
	top: 38px;
}

#menu_btn::before,
#menu_btn::after,
#menu_btn span::before {
	margin: 0 auto;
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	width: 30px;
	height: 2px;
	background-color: #000;
}

.top #menu_btn::before,
.top #menu_btn::after,
.top #menu_btn span::before {
	background-color: #000;
}

.top .scroll #menu_btn::before,
.top .scroll #menu_btn::after,
.top .scroll #menu_btn span::before {
	background-color: #000;
}

.scroll #menu_btn {
	position: fixed;
	right: 0;
	top: 8px;
	background: #fff;
}

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

	#menu_btn {
		margin: 0;
		width: 40px;
		height: 32px;
	}
	
	#menu_btn span::before {
		top: 5px;
		transition: all 0.25s ease 0s;
	}

	#menu_btn::before {
		top: 15px;
	}

	#menu_btn::after {
		top: 25px;
		transition: all 0.25s ease 0s;
	}
	
	#menu_btn:hover span::before {
		top: 0;
	}

	#menu_btn:hover::after {
		top: 30px;
	}
	
	#menu_btn::before,
	#menu_btn::after,
	#menu_btn span::before {
		width: 40px;
		height: 2px;
	}

	.scroll #menu_btn {
		position: relative;
		right: auto;
		top: auto;
		background: inherit;
	}

}

.header_navi .link_bnr {
	display: none;
}

.link_ooh {
	background: #0f0f0f url(../images/common/bnr_ooh_back.png) no-repeat 0 0 / cover;
}

.link_career {
	background: #0f0f0f url(../images/common/bnr_career_back.png) no-repeat 0 0 / cover;
}

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

	.header_navi {
		display: flex;
		align-items: center;
		transition: all 0.25s ease 0s;
	}
	
	.header_navi ul.link_bnr {
		margin: 0 60px 0 0;
		display: flex;
		opacity: 0;
	}
	
	.scroll .header_navi ul.link_bnr {
		opacity: 1;
	}
	
	.header_navi .link_bnr li {
		margin: 0 0 0 30px;
		width: 233px;
		height: 60px;
		overflow: hidden;
		position: relative;
	}
	
	.header_navi .link_bnr li a {
		padding: 20px;
		color: #fff;
		font-size: 1.6rem;
		display: block;
		transition: all 0.25s ease 0s;
		font-weight: 500;
	}
	
	.header_navi .link_bnr li a::after {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		border: 4px solid #606060;
		opacity: 0;
		transition: all 0.25s ease 0s;
	}

	.header_navi .link_bnr li a:hover::after {
		opacity: 1;
	}

}

.logo_w,
.logo_mk_w {
	display: none;
}

/*--------------------------
	navigation
---------------------------*/

.gnavi {
	position: absolute;
	left: 0;
    top: 0;
	width: 100%;
	z-index: 11;
	display: none;
    background: #fff;
}

.gnavi_inner {
	padding: 20px;
	background: url(../images/common/logomark.svg) no-repeat 20px 20px / 57px auto;
}

.gnavi_top {
	margin: 18px 0 0 78px;
	font-size: 2.0rem;
	font-weight: 500;
}

.gnavi_top a {
	display: inline-block;
	background: #fff;
	z-index: 2;
	position: relative;
}

.gnavi_column {
	margin: 50px 0 0;
}

.gnavi_list {
	margin: 0 0 40px;	
}

.gnavi_list:last-child {
	margin-bottom: 0;
}

.gnavi_list li {
	margin: 0 0 20px;
	font-size: 1.6rem;
}

.gnavi_list:last-child li {
	margin-bottom: 10px;
	font-size: 1.4rem;
}

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

	.gnavi {
		position: absolute;
		left: 0;
    	top: 0;
		width: 100%;
		z-index: 11;
		display: none;
    	background: #fff;
	}
	
	.gnavi_inner {
		margin: 150px auto;
		padding: 77px 0 0;
		width: min(95%,900px);
		background: url(../images/common/logomark.svg) no-repeat 0 0 / 57px auto;
	}
	
	.gnavi_top {
		margin: 0;
		position: relative;
		font-size: 2.4rem;
	}
	
	.gnavi_top::before {
		position: absolute;
		content: '';
		width: calc(100% - 70px);
		height: 1px;
		background: #000;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
	}
	
	.gnavi_top a {
		margin-right: 25px;
	}
	
	.gnavi_wrapper {
		display: flex;
		flex-wrap: wrap;
	}

	.gnavi_column {
		margin: 50px 0 0;
		display: flex;
		order: 1;
	}
	
	.gnavi_list {
		margin: 0 90px 0 0;	
	}
	
	.gnavi_list:last-child {
		margin-right: 0;
	}
	
	.gnavi_list li {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}
	
	.gnavi_list:last-child li {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}

	a.mark_ov {
		position: relative;
	}

	a.mark_ov::after {
		position: absolute;
    	content: '';
    	margin: auto;
    	top: 3px;
    	right: -18px;
    	width: 20px;
    	height: 20px;
    	opacity: 0;
    	background: url(../images/common/ico_link_s_b.svg) no-repeat 0 0 / 20px auto;
    	transition: all 0.4s ease;
	}

	a.mark_ov:hover::after {
		opacity: 1;
		right: -24px;
	}

	.gnavi_list:last-child li a.mark_ov::after {
		top: 0;
	}

}

.gnavi .link_bnr {
	margin: 50px 0 0;
}

.gnavi .link_bnr li {
	margin: 0 0 10px;
}

.gnavi .link_bnr li a {
	padding: 25px 30px;
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 2.0rem;
	font-weight: 600;
	position: relative;
}

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

	.gnavi .link_bnr {
		margin: 35px auto 0;
		display: flex;
		justify-content: center;
		order: 2;
	}
	
	.gnavi .link_bnr li {
		margin: 0 20px;
		width: 350px;
	}
	
	.gnavi .link_bnr li a {
		padding: 30px 30px;
		font-size: 2.4rem;
	}
	
	.gnavi .link_bnr li a::after {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		border: 5px solid #606060;
		opacity: 0;
		transition: all 0.25s ease 0s;
	}
	
	.gnavi .link_bnr li a:hover::after {
		opacity: 1;
	}

}

.menu_close {
    width: 30px;
    height: 30px;
    cursor: pointer;
    background: none;
    border: none;
    display: block;
    position: absolute;
    top: 25px;
    right: 15px;
}

.menu_close::before,
.menu_close::after {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #000;
  width: 30px;
  height: 2px;
}

.menu_close::before {
  transform: rotate(-45deg);
}

.menu_close::after {
  transform: rotate(45deg);
}

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

  .menu_close {
      width: 35px;
      height: 35px;
      cursor: pointer;
      top: 35px;
      right: 45px;
  }

}

#sp_menu_back {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.5s ease;
  opacity: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.65);
}

.menu_open #sp_menu_back {
  opacity: 1;
  z-index: 10;
}


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

.footer {
	padding: 0 0 30px;
	text-align: center;
	background: #fff;
}

.footer_logo img {
	margin: 0 auto;
	width: 150px;
}

.footer_logo div {
	margin: 40px 0 15px;
	font-size: 1.8rem;
	font-weight: 600;
}

.footer_address address p {
	margin: 0 0 5px;
	font-size: 1.4rem;
}

.footer_address address p.tel {
	font-weight: 600;
}

.footer_link {
	margin: 90px 0 30px;
}

.footer_link li {
	margin: 0 0 10px;
}

.copyright {
	font-size: 1.0rem;
	font-weight: 600;
}

.footer_logo_w {
	display: none;
}

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

	.footer {
		padding: 0 0 40px;
	}

	.footer_logo img {
		width: 305px;
	}
	
	.footer_logo div {
		margin: 45px 0 35px;
		font-size: 2.4rem;
	}
	
	.footer_address address p {
		margin: 0 0 10px;
		font-size: 1.6rem;
	}
	
	.footer_address address p.tel {
		font-weight: 600;
	}
	
	.footer_link {
		margin: 220px auto 10px;
		max-width: 1100px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.footer_link li {
		margin: 0 15px 20px;
		white-space: nowrap;
	}
	
	.footer_link li a {
		position: relative;
	}
	
	.footer_link li a::after {
		position: absolute;
		content: '';
		margin: auto;
		top: 3px;
		right: -18px;
		width: 20px;
		height: 20px;
		opacity: 0;
		background: url(../images/common/ico_link_s_b.svg) no-repeat 0 0 / 20px auto;
		transition: all 0.4s ease;
	}
	
	.footer_link li a:hover::after {
		opacity: 1;
		right: -24px;
	}
	
	.copyright {
		margin: 0;
	}

}

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

.top .wrapper {
	background: #000;
}

.top_mv {
    position: relative;
	background: #fff;
}

.top_movie {
    width: 100%;
}

.lg_1 .top_mv {
	height: calc(100vh - 90px);
}

.top_mv .btn {
	margin: 0 20px;
	position: absolute;
	bottom: 20px;
	width: calc(100% - 40px);
	border: 1px solid #fff;
}

.top_mv .btn a {
	padding: 18px 0;
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
}

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

	.top_mv {
/*
    	width: 100vw;
    	height: 100vh;
    	overflow: hidden;
*/
	}

	.lg_1 .top_mv {
		height: auto;
	}

	.top_movie {
/*
    	position: absolute;
    	top: 0;
    	left: 50%;
    	transform: translateX(-50%) translateY(0);
    	min-width: 100%;
    	min-height: 100%;
		width: auto;
*/
	}

	.top_mv .btn {
		position: absolute;
		border: none;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
	}

	.top_mv .btn a {
		text-indent: -9999px;
		padding: 0;
		width: 100%;
		height: 100%;
	}

	#btn_stalker {
    	pointer-events: none;
    	position: fixed;
    	top: -60px; 
    	left: -60px;
    	transform: translate(50%,50%);
    	transition: all 0.12s ease-out;
    	z-index: 9999;
    	opacity: 0;
	}

	#btn_stalker.open {
    	opacity: 1;
	}

	#stalker_icon {
    	width: 120px;
    	height: 120px;
    	transform: scale(0);
    	transition: transform 0.1s ease-out;
		background: url(../images/common/ico_link_b_b.svg) no-repeat 0 0 / 120px auto;
	}

	#btn_stalker.open #stalker_icon {
    	transform: scale(1);
	}

	#btn_stalker.bnr #stalker_icon {
		background: url(../images/common/ico_link_b_w.svg) no-repeat 0 0 / 120px auto;
	}

}


.top_first {
	padding: 95px 0 110px;
	background: #fff;
}

.top_first .logo_dentsu {
	width: 134px;
}

.top_first .logo_meitetsu {
	width: 140px;
	position: relative;
	top: -8px;
}

.top_first h2 {
	margin: 0 0 35px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_first h2 span {
	margin: 0 6px;
	width: 50px;
	height: 50px;
	display: inline-block;
	position: relative;
}

.top_first h2 span::before,
.top_first h2 span::after {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 50px;
	height: 1px;
	background: #000;
}

.top_first h2 span::before {
	transform: rotate(-45deg);
}

.top_first h2 span::after {
	transform: rotate(45deg);
}

.top_first p {
	line-height: 2.2;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
}

.top_first .inner > a {
    pointer-events: none;
}

.top_first .btn {
	margin: 25px 20px 0;
	width: calc(100% - 40px);
	border: 1px solid #000;
}

.top_first .btn a {
	padding: 18px 0;
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
}

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

	.top_first {
		padding: 150px 0;
	}

	.top_first .inner {
		margin: 0 auto;
/*		width: calc(100% - 180px);*/
/*		width: min(95%,1620px);*/
		width: 85%;
		
	}

	.top_first a {
		padding: 90px 0;
		display: block;
		border: 7px solid #fff;
		transition: all 0.25s ease 0s;
	}

	.top_first a:hover {
		border: 7px solid #000;
	}
	
	.top_first .logo_dentsu {
		width: 295px;
	}
	
	.top_first .logo_meitetsu {
		width: 297px;
		top: -12px;
	}
	
	.top_first h2 {
		margin: 0 0 75px;
		min-width: 1040px;
	}
	
	.top_first h2 span {
		margin: 0 45px;
		width: 120px;
		height: 105px;
	}
	
	.top_first h2 span::before,
	.top_first h2 span::after {
		width: 140px;
	}
	
	.top_first p {
		line-height: 2.6;
		font-size: 1.7rem;
	}

	.top_first .inner > a {
    	pointer-events: inherit;
	}

}

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

	.top_first .logo_dentsu {
		width: 60%;
	}
	
	.top_first .logo_meitetsu {
		width: 62%;
	}

	.top_first h2 {
		min-width: inherit;
	}
	
	.top_first h2 span {
		margin: 0 3%;
		width: 20%;
	}

	.top_first h2 span::before,
	.top_first h2 span::after {
		width: 100%;
	}

}

.top_pickup {
	padding: 0 0 60px;
	background: #fff;
}

.top_pickup_header {
	margin: 0 20px 50px;
}

.top_pickup_header h2 {
	margin: 0 0 30px;
	width: 127px;
}

.top_pickup_header p {
	font-size: 1.6rem;
}

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

	.top_first + .pin-spacer {
		background: #fff;
	}

	.top_pickup {
		padding: 0 0 150px;
		display: flex;
		overflow: hidden;
	}
	
	.top_pickup_left {
		min-width: 15%;
/*		min-width: 240px;*/
		background: #fff;
	}
	
	.top_pickup_right {
		background: #fff;
	}
	
	.top_pickup_header {
		margin: 0 auto 40px;
		display: flex;
		align-items: end;
	}
	
	.top_pickup_header h2 {
		margin: 0;
		width: 200px;
	}
	
	.top_pickup_header p {
		padding: 0 0 20px 40px;
		font-size: 1.4rem;
	}

}

.top_pickup_list ul {
	padding: 0 20px;
}

.top_pickup_list li {
	margin: 0 0 40px;
	border: 1px solid #000;
	position: relative;
}

.top_pickup_list li > span {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 30px;
	height: 30px;
	z-index: 3;
}

.top_pickup_list li a {
	display: block;
}

.top_pickup_list li a .inner {
	padding: 20px;
	position: relative;
	width: 100%;
}
/*
.top_pickup_list li .noimage {
	height: 153px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_pickup_list li .noimage img {
	margin: 0 auto;
	width: 80px;
}
*/
.top_pickup_list li h3 {
	margin: 18px 0 5px;
	font-size: 1.2rem;
}

.top_pickup_list li h4 {
	font-size: 1.4rem;
}

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

	.top_pickup_list {
		margin-left: 5vw;
	}

	.top_pickup_list ul {
		padding: 0 0 80px;
		display: flex;
		width: calc((45vw + 90px) * 4)
	}
	
	.top_pickup_list li {
		margin: 0 60px 0 0;
		width: 45vw;
		max-width: 530px;
	}
	
	.top_pickup_list li::last-child {
		margin-right: 0:
	}
	
	.top_pickup_list li > span {
		top: -20px;
		left: -20px;
		width: 40px;
		height: 40px;
	}

	.top_pickup_list li a {
		height: 100%;
	}
	
	.top_pickup_list li a .inner {
		padding: 30px;
		height: 100%;
	}
/*
	.top_pickup_list li .noimage {
		margin: 0 auto;
		width: 25%;
		height: 83%;
		max-width: 190px;
	}

	.top_pickup_list li .noimage img {
		width: 100%;
	}
*/
	.top_pickup_list li h3 {
		margin: 20px 0 10px;
		font-size: 1.6rem;
	}
	
	.top_pickup_list li h4 {
		font-size: 1.8rem;
	}

}

.top_pickup_list li.more::before {
	display: none;
}

.top_pickup_list li.more a {
	display: block;
	height: 100%;
}

.top_pickup_list li.more .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 265px;
}

.top_pickup_list li.more h3 {
	font-size: 4.0rem;
	font-weight: 300;
}

.top_pickup_list li.more h3 span {
	margin: 5px 0 0;
	font-size: 1.6rem;
	font-weight: 500;
	display: block;
}

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

	.top_pickup_list li.more .inner {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 100%;
	}
	
	.top_pickup_list li.more h3 {
		font-size: 5.0rem;
	}
	
	.top_pickup_list li.more h3 span {
		margin: 0;
		font-size: 1.8rem;
	}

}

#fake_scrollbar {
	display: none;
}

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

	.fake_scrollbar_outer {
		margin-left: 5vw;
		position: relative;
	}

	.fake_scrollbar_outer::before {
		position: absolute;
		content: '';
		width: 100%;
		height: 1px;
		left: 0;
		top: 5px;
		background: #000;
	}

	#fake_scrollbar {
		display: block;
		overflow-x: scroll;
		height: 10px;
		background: #fff;
		scrollbar-width: thin;
		scrollbar-color: #000 #fff;
	}

	#fake_scrollbar div {
		height: 10px;
	}

	#fake_scrollbar::-webkit-scrollbar {
		height: 10px;
	}

	#fake_scrollbar::-webkit-scrollbar-thumb {
	   background-color: #000;
	}

}

.top_player {
	background: #000;
}

.top_player > .inner {
	margin: 0 20px;
	padding: 100px 0 0;
}

.top_player_header {
	margin: 0 0 70px 0;
}

.top_player_header h2 {
	margin: 0 0 30px;
	width: 295px;
}

.top_player_header p {
	font-size: 1.6rem;
	color: #fff;
}

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

	.top_player > .inner {
		margin: 0 auto;
		padding: 90px 0 50px;
		display: flex;
/*		width: min(95%,1220px);*/
		width: 85%;
		justify-content: center;
	}
	
	.top_player_header {
		margin: 0 15px 0 0;
		display: flex;
	}
	
	.top_player_header h2 {
		margin: 0 60px 0 0;
		width: 80px;
		flex-shrink: 0;
	}
	
	.top_player_header p {
		margin: 100px 0 0;
		font-size: 1.4rem;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-align: left;
	}

}

.top_player_list {
	padding: 0 0 30px;
}

.top_player_list li {
	margin: 0 0 70px;
}

.top_player_list li .player_name {
	padding: 0 0 10px;
}

.top_player_list li h3 {
	margin: 0 0 5px;
	color: #fff;
	font-size: 1.2rem;
}

.top_player_list li h4 {
	font-size: 1.6rem;
	color: #fff;
	font-weight: 500;
}

.top_player_list li h4 span {
	margin: 0 0 5px;
	font-size: 2.2rem;
	display: block;
}

.top_player_list li .player_img {
	position: relative;
}

.top_player_list li figure {
	position: relative;
}

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

	.top_player_list {
		margin: 0 70px 0 0;
		padding: 290px 20px 50px 0;
		height: 830px;
		overflow: hidden;
	}
	
	.top_player_list ul {
		display: flex;
		flex-flow: column;
		height: 3320px;
	}
	
	.top_player_list li {
		margin: 0 0 160px;
	}
	
	.top_player_list li .player_name {
		padding: 0 40px 35px 40px;
		background: #000;
		display: inline-block;
		position: relative;
		z-index: 3;
	}
	
	.top_player_list li h3 {
		margin: 0 0 10px;
		font-size: 1.4rem;
	}
	
	.top_player_list li h4 {
		font-size: 1.8rem;
	}
	
	.top_player_list li h4 span {
		margin: 0 0 10px;
	}
	
	.top_player_list li .player_img {
		margin: -30px 0 40px 80px;
/*		width: 720px;*/
		width: 40vw;
		max-width: 580px;
		aspect-ratio: 144 / 103;
	}

	.top_player_list li .player_img img {
		object-fit: cover;
	}
	
}

.top_player_list li figure span {
	position: absolute;
	content: '';
	top: -15px;
	right: -15px;
	width: 30px;
	height: 30px;
	z-index: 3;
}

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

	.player_index_list li .player_img,
	.player_index_list li .player_img figure {
		position: relative;
	}

	.player_index_list li .player_img::before,
	.player_index_list li .player_img::after,
	.top_player_list li.more::before,
	.top_player_list li.more::after,
	.top_player_list li .player_img::before,
	.top_player_list li .player_img::after {
		position: absolute;
		content: '';
		width: 0;
		height: 2px;
		background: #fff;
		transition: all 0.25s ease 0s;
		z-index: 2;
	}
	
	.player_index_list li .player_img::before,
	.top_player_list li.more::before,
	.top_player_list li .player_img::before {
		top: 0;
		left: 0;
	}
	
	.player_index_list li .player_img::after,
	.top_player_list li.more::after,
	.top_player_list li .player_img::after {
		bottom: 0;
		right: 0;
	}
	
	.player_index_list li figure::before,
	.player_index_list li figure::after,
	.top_player_list li.more a::before,
	.top_player_list li.more a::after,
	.top_player_list li figure::before,
	.top_player_list li figure::after {
		position: absolute;
		content: '';
		width: 2px;
		height: 0;
		background: #fff;
		transition: all 0.25s ease 0s;
		z-index: 2;
	}
	
	.player_index_list li figure::before,
	.top_player_list li.more a::before,
	.top_player_list li figure::before {
		left: 0;
		bottom: 0;
	}
	
	.player_index_list li figure::after,
	.top_player_list li.more a::after,
	.top_player_list li figure::after {
		right: 0;
		top: 0;
	}
	
	.player_index_list li a:hover .player_img::before,
	.player_index_list li a:hover .player_img::after,
	.top_player_list li.more:hover::before,
	.top_player_list li.more:hover::after,
	.top_player_list li a:hover .player_img::before,
	.top_player_list li a:hover .player_img::after {
		width: 100%;
	}
	
	.player_index_list li a:hover figure::before,
	.player_index_list li a:hover figure::after,
	.top_player_list li.more a:hover::before,
	.top_player_list li.more a:hover::after,
	.top_player_list li a:hover figure::before,
	.top_player_list li a:hover figure::after {
		height: 100%;
	}
	
	.top_player_list li figure span {
		top: -20px;
		right: -20px;
		width: 40px;
		height: 40px;
	}

}

.top_player_list li p {
	margin: 15px 0 0 0;
	color: #fff;
	font-size: 1.4rem;
}

.top_player_list li.more {
	border: 1px solid #3c3c3c;
	height: 240px;
	position: relative;
}

.top_player_list li.more a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	position: relative;
}

.top_player_list li.more .inner {
	text-align: center;
}

.top_player_list li.more h3 {
	font-size: 4.0rem;
	color: #fff;
	font-weight: 300;
}

.top_player_list li.more h3 span {
	font-size: 1.6rem;
	font-weight: 500;
	display: block;
}

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

	.top_player_list li p {
		margin: 0 0 0 80px;
		font-size: 1.6rem;
	}
	
	.top_player_list li.more {
		margin: 0 0 0 80px;
/*		width: 720px;*/
		width: 40vw;
	    max-width: 580px;
		height: auto;
		aspect-ratio: 144 / 103;
	}

	.top_player_list li.more h3 {
		font-size: 5.0rem;
	}
	
	.top_player_list li.more h3 span {
		font-size: 1.8rem;
	}

}

.nav-temp {
	visibility: hidden;
}

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

	.nav-temp {
		visibility: visible;
		display: flex;
		align-content: center;
		margin-left: 120px;
		margin-top: 290px;
	}

	.dot-nav {
		display: flex;
		flex-direction: column;
	}

	.dot-nav li {
		list-style: none;
		cursor: pointer;
	}

	.dot-nav li.is-active span {
		background: white;
	}

	.dot-nav li span{
		display: inline-block;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: gray;
		border: 1px solid black;
	}
}

.top_bnr {
	background: #000;
}

.top_bnr .link_bnr li {
	font-size: 2.6rem;
	border-top: 1px solid #222222;
}

.top_bnr .link_bnr li a {
	padding: 60px 20px;
	color: #fff;
	display: block;
	font-weight: 600;
	position: relative;
}

.top_bnr .link_ooh,
.top_bnr .link_career {
	background: none;
}

.top_bnr .link_bnr li.link_ooh a {
	background: #0f0f0f url(../images/common/bnr_ooh_back.png) no-repeat right bottom / auto 100%;
}

.top_bnr .link_bnr li.link_career a {
	background: #0f0f0f url(../images/common/bnr_career_back.png) no-repeat right bottom / auto 100%;
}

.top_bnr .link_bnr li a .arrow_right {
	margin: 0 0 0 6px;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: relative;
	width: 0.5em;
	height: 0.5em;
	transform: translateX(-25%) rotate(45deg);
}

.top_bnr .link_bnr li a .arrow_right::before,
.top_bnr .link_bnr li a .arrow_right::after {
	content: '';
	position: absolute;
	background: currentColor;
	border-radius: 0.1em;
}

.top_bnr .link_bnr li a .arrow_right::before {
	top: 0;
	left: 0;
	right: 0;
	height: 0.06em;
}

.top_bnr .link_bnr li a .arrow_right::after {
	top: 0;
	right: 0;
	bottom: 0;
	width: 0.06em;
}

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

	.top_bnr .link_bnr li {
		font-size: 4.0rem;
	}
	
	.top_bnr .link_bnr li a {
		padding: 95px 0;
		color: #fff;
		display: block;
		font-weight: 600;
		transition: all 0.3s ease;
		position: relative;
	}
	
	.top_bnr .link_bnr li a::before {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: #000;
	}
	
	.top_bnr .link_bnr li a > span {
		margin: 0 15%;
		display: block;
		position: relative;
		z-index: 2;
	}

	.top_bnr .link_bnr li a .arrow_right {
		margin: 0 0 0 15px;
  		width: 0.44em;
  		height: 0.44em;
	}

	.top_bnr .link_bnr li a:hover {
		padding: 220px 0;
	}
	
	.top_bnr .link_bnr li.link_ooh a:hover::before,
	.top_bnr .link_bnr li.link_career a:hover::before {
		display: none;
	}
	
	.top_bnr #stalker_icon {
		background: url(../images/common/ico_link_b_w.svg) no-repeat 0 0 / 120px auto;
	}

}

.top_topics {
	background: #fff;
}

.top_topics > .inner {
	padding: 100px 0 80px;
}

.top_topics_header {
	margin: 0 20px 20px;
}

.top_topics_header h2 {
	margin: 0 0 35px;
	width: 130px;
}

.top_topics_header p {
	font-size: 1.6rem;
}

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

	.top_topics > .inner {
		margin: 0 auto;
		padding: 200px 0;
		width: calc(90% - 40px);
	}
	
	.top_topics_header {
		margin: 0 0 60px;
		display: flex;
		align-items: end;
	}
	
	.top_topics_header h2 {
		margin: 0;
		width: 195px;
	}

	.top_topics_header p {
		padding: 0 0 20px 40px;
		font-size: 1.4rem;
	}
	
}

.top_topics_list {
	margin: 0 20px;
	padding: 15px 0 25px 15px;
	overflow-x: scroll;
}

.top_topics_list ul {
	display: flex;
}

.top_topics_list li {
	margin-right: 20px;
	border: 1px solid #000;
	position: relative;
	width: 85%;
	flex-shrink: 0;
}

.top_topics_list li > span {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 30px;
	height: 30px;
	z-index: 3;
}

.top_topics_list li a {
	display: block;
	position: relative;
	height: 100%;
}

.top_topics_list li a .inner {
	padding: 20px;
	position: relative;
	height: 100%;
}

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

	.top_topics_list {
		margin: 0;
		padding: 0;
		overflow: inherit;
	}

	.top_topics_list ul {
		margin: 0;
		display: grid;
/*		grid-template-columns: repeat(auto-fit, minmax(345px, 1fr));*/
		grid-template-columns: repeat(auto-fit, calc(25% - 30px));
		gap: 40px;
		justify-content: center;
	}

	.top_topics_list li {
		margin-right: 0;
		width: auto;
	}
	
	.top_topics_list li > span {
		top: -10px;
		right: -10px;
		left: auto;
	}

	.top_topics_list li a .inner {
		padding: 30px;
	}

}

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

	.top_topics > .inner {
		width: 90%;
	}

	.top_topics_list ul {
		grid-template-columns: repeat(auto-fit, calc(33% - 18px));
		gap: 30px;
	}

}

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

	.top_pickup_list li a::before,
	.top_pickup_list li a::after,
	.top_topics_list li a::before,
	.top_topics_list li a::after {
		position: absolute;
		content: '';
		width: 0;
		height: 2px;
		background: #000;
		z-index: 2;
		transition: all 0.25s ease 0s;
	}
	
	.top_pickup_list li a::before,
	.top_topics_list li a::before {
		top: 0;
		left: 0;
	}
	
	.top_pickup_list li a::after,
	.top_topics_list li a::after {
		bottom: 0;
		right: 0;
	}
	
	.top_pickup_list li a .inner::before,
	.top_pickup_list li a .inner::after,
	.top_topics_list li a .inner::before,
	.top_topics_list li a .inner::after {
		position: absolute;
		content: '';
		width: 2px;
		height: 0;
		background: #000;
		z-index: 2;
		transition: all 0.25s ease 0s;
	}
	
	.top_pickup_list li a .inner::before,
	.top_topics_list li a .inner::before {
		bottom: 0;
		left: 0;
	}
	
	.top_pickup_list li a .inner::after,
	.top_topics_list li a .inner::after {
		top: 0;
		right: 0;
	}
	
	.top_pickup_list li a:hover::before,
	.top_pickup_list li a:hover::after,
	.top_topics_list li a:hover::before,
	.top_topics_list li a:hover::after {
		width: 100%;
	}
	
	.top_pickup_list li a:hover .inner::before,
	.top_pickup_list li a:hover .inner::after,
	.top_topics_list li a:hover .inner::before,
	.top_topics_list li a:hover .inner::after {
		height: 100%;
	}

}

.top_topics_list li h3 {
	margin: 15px 0 5px;
	font-size: 1.0rem;
}

.top_topics_list h4 {
	font-size: 1.4rem;
}

.top_topics_list li.more::before {
	display: none;
}

.top_topics_list li.more a .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
/*
.top_topics_list li .noimage {
	height: 153px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_topics_list li .noimage img {
	margin: 0 auto;
	width: 80px;
}
*/
.top_topics_list li.more h3 {
	font-size: 4.0rem;
	font-weight: 200;
}

.top_topics_list li.more h3 span {
	padding-top: 5px;
	font-size: 1.4rem;
	display: block;
	text-align: center;
}

@media screen and (min-width: 768px) {
/*
	.top_topics_list li .noimage {
		height: 166px;
	}

	.top_topics_list li .noimage img {
		width: 92px;
	}
*/
	.top_topics_list li h3 {
		margin: 10px 0 5px;
		font-size: 1.4rem;
	}
	
	.top_topics_list h4 {
		font-size: 1.6rem;
	}
	
	.top_topics_list li.more h3 {
		font-size: 5.0rem;
	}
	
	.top_topics_list li.more h3 span {
		font-size: 1.6rem;
	}

}

.top_cookie {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: rgba(0,0,0,0.7);
	display: none;
	z-index: 2;
}

.top_cookie .inner {
	padding: 15px 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top_cookie p {
	margin: 0 10px 0 0;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.3;
}

.top_cookie p a {
	color: #fff;
	text-decoration: underline;
	padding-right: 20px;
	background: url(../images/common/ico_link_ss_w.svg) no-repeat right 5px center / 10px auto;
}

.top_cookie #btn_bookie_close {
	padding: 17px 10px;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	border: 1px solid #fff;
	display: block;
	white-space: nowrap;
}

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

	.top_cookie {
		width: min(90%,1150px);
	}
	
	.top_cookie .inner {
		padding: 25px 30px 30px;
	}
	
	.top_cookie p {
		margin: 0 50px 0 0;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	
	.top_cookie #btn_bookie_close {
		padding: 20px 57px;
		font-size: 1.8rem;
		transition: all 0.25s ease 0s;
	}

	.top_cookie #btn_bookie_close:hover {
		background: #fff;
		color: #000;
	}

}

/*--------------------------
	下層共通
---------------------------*/

.page_title {
	margin: 0 20px 45px;
}

.page_title h1 {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.2;
}

.entry_unit {
	margin: 0 20px;
}

.entry_unit p {
	margin: 0 0 20px;
	font-size: 1.6rem;
	line-height: 1.7;
}

.entry_unit h2 {
	margin: 0 0 50px;
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 500;
}

.entry_unit h3 {
	margin: 0 0 30px;
	padding: 0 0 10px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	border-bottom: 3px solid #000;
}

.entry_unit h3.b_band {
	margin: 50px 0 40px;
	padding: 35px 15px 35px 0;
	background: #000;
	color: #fff;
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: 600;
	position: relative;
	border: none;
}

.entry_unit h3.b_band::after {
	position: absolute;
	content: '';
	background: #000;
	top: 0;
	width: 9999px;
	height: 100%;
	left: -9999px;
}

.entry_unit h3.b_border {
	margin: 20px 10px;
	padding: 25px 30px;
	border: 5px solid #000;
	font-size: 1.8rem;
	line-height: 1.8em;
}

.entry_unit h4 {
	margin: 40px 0 25px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
}

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

	.main.entry > .page_title {
		width: min(90%,1150px);
	}

	.page_title {
		margin: 100px auto;
		max-width: 1150px;
	}
	
	.page_title h1 {
		font-size: 6.0rem;
	}

	.entry_unit {
		margin: 0;
	}

	.entry_unit p {
		margin: 0 0 50px;
		font-size: 1.8rem;
		line-height: 1.7;
	}
	
	.entry_unit h2 {
		margin: 0 0 110px;
		font-size: 5.0rem;
	}

	.entry_unit h3 {
		margin: 0 0 60px;
		padding: 0 0 20px;
		font-size: 3.0rem;
	}

	.entry_unit h3.b_band {
		margin: 70px 0;
		padding: 50px 20px 50px 0;
		font-size: 3.0rem;
	}
	
	.entry_unit h3.b_border {
		margin: 50px auto;
		padding: 45px 130px;
		text-align: center;
		border: 5px solid #000;
		font-size: 2.0rem;
		transform: translate(-50%,-50%);
		position: relative;
		top: 50%;
		left: 50%;
		display: inline-block;	
	}

	.entry_unit h4 {
		margin: 60px 0;
		font-size: 2.4rem;
	}

}

.entry_unit p a {
	text-decoration: underline;
	padding-right: 20px;
	background: url(../images/common/ico_link_ss_b.svg) no-repeat right 5px center / 10px auto;
}

.entry_unit p a[target="_blank"] {
	padding-right: 25px;
	background: url(../images/common/ico_blank_s_b.svg) no-repeat right 5px center / 17px auto;
}

.entry_unit p a.nomark,
.entry_unit p a.nomark[target="_blank"] {
	padding-right: 0;
	background: none;
}

.entry_unit ul {
	margin: 0 0 30px;
	padding: 0;
}

.entry_unit ul li {
	margin: 0 0 15px;
	padding: 0 0 0 30px;
	font-size: 1.6rem;
	position: relative;
}

.entry_unit ul li::before {
	position: absolute;
	content: '';
	left: 0;
	top: 4px;
	width: 20px;
	height: 20px;
	border: 7.5px solid #000;
}

.entry_unit ol {
	margin: 0 0 30px;
	padding: 0 0 0 20px;
	counter-reset: item;
	list-style-type: none;
}

.entry_unit ol li {
	margin: 0 0 15px;
	padding-left: 10px;
	text-indent: -10px;
	font-size: 1.6rem;
	line-height: 1.4;
	position: relative;
}

.entry_unit ol li:before {
  counter-increment: item;
  content: counter(item);
  font-weight: bold;
  position: relative;
  left: -15px;
}

.entry_unit p.caption {
	margin: 5px 0 0;
}

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

	.entry_unit ul {
		margin: 0 0 50px;
	}
	
	.entry_unit ul li {
		margin: 0 0 20px;
		padding: 0 0 0 35px;
		font-size: 1.8rem;
	}
	
	.entry_unit ul li::before {
		top: 0;
		bottom: 0;
		margin: auto;
		width: 25px;
		height: 25px;
		border: 10px solid #000;
	}
	
	.entry_unit ol {
		margin: 0 0 50px;
	}
	
	.entry_unit ol li {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}

	.entry_unit p.caption {
		margin: 10px 0 0;
	}

}

.entry_unit p.link_normal a {
	text-decoration: none;
	background-position: right center;
}

.entry_unit p.link_out a {
	text-decoration: none;
	padding-right: 25px;
	background-position: right center;
}

.entry_unit p.btn_link ,
.entry_unit p.btn_out {
	margin-bottom: 30px;
}

.entry_unit p.btn_link a,
.entry_unit p.btn_out a {
	padding: 12px 40px 12px 15px;
	border: 2px solid #000;
	text-decoration: none;
	background-position: right 15px center;
	display: inline-block;
}

.entry_unit p.btn_link a:hover {
	color: #fff;
	background: #000 url(../images/common/ico_link_ss_w.svg) no-repeat right 20px center / 10px auto;
}

.entry_unit p.btn_out a:hover {
	color: #fff;
	background: #000 url(../images/common/ico_blank_s_w.svg) no-repeat right 20px center / 10px auto;
}

.entry_unit p em {
	font-weight: bold;
}

.entry_unit p strong {
	font-weight: bold;
}

.entry_unit .p_right {
	text-align: right;
}

.entry_unit .p_center {
	text-align: center;
}

.entry_unit p.p_clear {
	text-indent: -9999px;
	overflow: hidden;
	line-height: 20px;
}

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

	.entry_unit p.btn_link ,
	.entry_unit p.btn_out {
		margin-bottom: 50px;
	}

	.entry_unit p.link_normal a:hover,
	.entry_unit p.link_out a:hover {
		text-decoration: underline;
	}
	
	.entry_unit p.btn_link a,
	.entry_unit p.btn_out a {
		padding: 18px 45px 18px 20px;
		background-position: right 20px center;
		transition: all 0.25s ease 0s;
	}
	
	.entry_unit p.btn_link a:hover {
		color: #fff;
		background: #000 url(../images/common/ico_link_ss_w.svg) no-repeat right 20px center / 10px auto;
	}
	
	.entry_unit p.btn_out a:hover {
		color: #fff;
		background: #000 url(../images/common/ico_blank_s_w.svg) no-repeat right 20px center / 10px auto;
	}
	
	.entry p.p_clear {
		line-height: 30px;
	}

}

.entry_unit table {
	margin: 0 0 30px;
	width: 100%;
}

.entry_unit table th {
	padding: 22px 25px;
	border: 2px solid #000;
	white-space: nowrap;
	font-size: 1.6rem;
	font-weight: 500;
}

.entry_unit table td {
	border: 2px solid #000;
	padding: 20px 25px;
	font-size: 1.6rem;
}

.entry_unit .table_ptn1 table th {
	background: #000;
	color: #fff;
	border-right: 2px solid #fff;
}

.entry_unit .table_ptn1 table th:last-child {
	border-right: 2px solid #000;
}

.entry_unit .table_ptn2 table th {
	padding: 30px 0 20px;
	font-size: 1.6rem;
	position: relative;
	text-align: left;
	font-weight: 500;
	vertical-align: top;
	white-space: nowrap;
	border: none;
	display: block;
}

.entry_unit .table_ptn2 table tr:first-child th {
	border-top: 2px solid #000;
}

.entry_unit .table_ptn2 table td {
	padding: 0 0 30px;
	font-size: 1.6rem;
	border-bottom: 2px solid #000;
	border-top: none;
	border-left: none;
	border-right: none;
	display: block;
}

.entry_unit .table_ptn2 table tr:last-child  td {
	border-bottom: 2px solid #000;
}

.entry_unit table td ul,
.entry_unit table td ol {
	margin-bottom: 0;
}

.entry_unit table td li {
	margin-bottom: 15px;
}

[class^=column-table] .entry-container {
    margin-bottom: 50px;
    overflow-x: auto;
}

.acms-table-scrollable td {
	white-space: inherit;
	min-width: 250px;
}

.entry_unit table caption {
	margin: 10px 0 0;
	text-align: right;
	font-size: 1.6rem;
	caption-side: bottom;
}

.entry_unit table table {
	margin: 0;
	width: auto;
}

.entry_unit table table th {
	border: none !important;
	font-weight: normal !important;
	padding: 0 0 10px !important;
	white-space: inherit !important;
}

.entry_unit table table td {
	border: none !important;
	padding: 0 0 20px !important;
}

.entry_unit table table th::before,
.entry_unit table table th::after,
.entry_unit table table td::before,
.entry_unit table table td::after {
	display: none;
}

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

	.entry_unit table {
		margin: 0 0 100px;
	}
	
	.entry_unit table td {
		padding: 25px;
	}
	
	.entry_unit .table_ptn2 table th {
		padding: 50px;
		font-size: 1.8rem;
		border: none;
		display: table-cell;
	}

	.entry_unit .table_ptn2 table tr:first-child th {
		border-top: none;
	}

	.entry_unit .table_ptn2 table th::before {
		position: absolute;
		content: '';
		left: 0;
		top: -2.5px;
		width: 100%;
		height: 5px;
	 	background: #000;
	}
	
	.entry_unit .table_ptn2 table td {
		padding: 50px 20px 50px 50px;
		font-size: 1.8rem;
		border-top: 2px solid #000;
		border-bottom: none;
		border-left: none;
		border-right: none;
		display: table-cell;
	}
	
	.entry_unit .table_ptn2 table tr:last-child th::after {
		position: absolute;
		content: '';
		left: 0;
		bottom: -2.5px;
		width: 100%;
		height: 5px;
	 	background: #000;
	}
	
	.entry_unit .table_ptn2 table tr:last-child  td {
		border-bottom: 2px solid #000;
	}

	[class^=column-table] .entry-container {
    	margin-bottom: 0;
    	overflow-x: inherit;
	}
	
	.acms-table-scrollable td {
		min-width: inherit;
	}

	.entry_unit table table th {
		padding: 0 0 30px !important;
	}
	
	.entry_unit table table td {
		padding: 0 0 30px 50px !important;
	}

}

/*--------------------------
	Our uniqueness
---------------------------*/
/*
.uniqueness .entry_unit {
	margin: 0;
}
*/
.uniqueness_sec {
	margin: 0;
}

.uniqueness_no {
	margin: 0 0 10px;
	padding: 8px 20px;
	text-align: right;
	background: #000;
	display: inline-block;
	width: 87px;
	font-size: 1.8rem;
	color: #fff;
}

.uniqueness_sec h3.b_band {
	margin: 0 0 40px 20px;
	font-size: 2.2rem;
}

.uniqueness_sec h3.b_band.band_right {
	padding: 40px 80px 40px 30px;
}

.uniqueness_sec h3.b_band.band_right::after {
	display: none;
}

.uniqueness_2column {
	margin: 0 20px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

@media screen and (min-width: 768px) {
/*
	.uniqueness .entry_inner {
		width: min(90%,1370px);
	}
*/
	.uniqueness_sec {
		margin: 0 0 200px;
	}
	
	.uniqueness_no {
		margin: 0 0 20px;
		padding: 17px 20px;
		width: 150px;
	}
	
	.uniqueness_sec h3.b_band {
		margin: 0 0 80px 50px;
		font-size: 4.0rem;
	}
	
	.uniqueness_sec h3.b_band.band_right {
		padding: 50px;
	}
	
	.uniqueness_sec h3.b_band.band_right::after {
		display: block;
		left: inherit;
		right: -9999px;	
	}
	
	.uniqueness_2column {
		margin: 0;
		flex-wrap: nowrap;
		flex-direction: inherit;
	}

}

.uniqueness_sec01 {
	margin-bottom: 20px;
}

.uniqueness_sec01 .uniqueness_2column > div {
		order: 2;
}

.uniqueness_sec01 .uniqueness_2column figure {
	margin: 0 0 20px;
	order: 1;
}

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

	.uniqueness_sec01 {
		margin-bottom: 100px;
	}
	
	.uniqueness_sec01 .uniqueness_2column > div {
		margin: 0 100px;
		order: 1;
	}
	
	.uniqueness_sec01 .uniqueness_2column figure {
		margin: -210px 0 0;
		order: 2;
		z-index: 2;
	}

	.uniqueness_sec01 .img_dentsu {
		width: 480px;
		flex-shrink: 0;
	}
	
	.uniqueness_sec01 .img_dentsu img {
		width: 100%;
	}

}

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

	.uniqueness_sec01 .uniqueness_2column figure {
		margin-top: -50px;
		width: 40%;
	}

	.uniqueness_sec01 .img_dentsu img {
		width: 100%;
	}
	
}

.uniqueness_sec02 .uniqueness_no {
	text-align: left;
	float: right;
}

.uniqueness_sec02 h3.b_band {
	margin-right: 20px;
	padding-left: 30px;
	padding-right: 80px;
	clear: both;
}

.uniqueness_sec02 .uniqueness_2column figure {
	margin: 0 0 20px;
}


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

	.uniqueness_sec02 h3.b_band {
		margin-right: 50px;
		padding-right: 120px;
		text-align: right;
	}

	.uniqueness_sec02 .uniqueness_2column figure {
		margin: -210px 0 0;
		z-index: 2;
		position: relative;
	}
	
	.uniqueness_sec02 .img_meitetsu img {
		width: 470px;
		flex-shrink: 0;
	}
	
	.uniqueness_sec02 .uniqueness_2column > div {
		margin: 0 100px 0 50px;
	}

}

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

	.uniqueness_sec02 .uniqueness_2column figure {
		margin-top: -50px;
		width: 40%;
		flex-shrink: 0;
	}
	
	.uniqueness_sec02 .img_meitetsu img {
		width: 100%;
	}

}

.uniqueness_sec03 h3.b_band.band_right {
	padding-right: 20px;
}

.uniqueness_sec03 .uniqueness_1column {
	margin-bottom: 50px;
	background: url(../images/uniqueness/img2_sp.jpg) no-repeat 0 0 / 100% auto;
}

.uniqueness_sec03 .uniqueness_1column figure {
	margin: -100px 0 0;
	display: block;
}

.uniqueness_sec03 .uniqueness_1column p {
	margin: 20px 20px 0;
	background: #fff;
}

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

	.uniqueness_sec03 h3.b_band.band_right {
		padding-right: 50px;
	}

	.uniqueness_sec03 .uniqueness_1column {
		margin: -140px calc(50% - 50vw) 0;
		padding: 510px 0 0;
		width: 100vw;
		height: 685px;
		background: url(../images/uniqueness/img2.jpg) no-repeat center center / cover;
		display: flex;
	}
	
	.uniqueness_sec03 .uniqueness_1column .inner {
		margin: 0 auto;
		width: min(90%,1260px);
	}

	.uniqueness_sec03 .uniqueness_1column figure {
		display: none;
	}

	.uniqueness_sec03 .uniqueness_1column p {
		margin: 0 0 0 auto;
		padding: 80px 0 80px 80px;
		width: 645px;
		position: relative;
	}

	.uniqueness_sec03 .uniqueness_1column p::after {
		position: absolute;
		content: '';
		background: #fff;
		top: 0;
		width: 80px;
		height: 100%;
		right: -80px;
	}

}

.uniqueness_sec04 .uniqueness_no {
	text-align: left;
	float: right;
}

.uniqueness_sec04 h3.b_band {
	margin-right: 20px;
	padding-left: 20px;
	padding-right: 100px;
	clear: both;
}

.uniqueness_sec04 .uniqueness_2column figure {
	margin: -110px -20px 20px;
	position: relative;
	z-index: -1;
}

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

	.uniqueness_sec04 h3.b_band {
		margin-right: 0;
		padding-left: 510px;
		padding-right: 20px;
	}
	
	.uniqueness_sec04 .uniqueness_2column figure {
		margin: -364px 0 0 -75px;
		width: 555px;
		flex-shrink: 0;
		z-index: 2;
	}
	
	.uniqueness_sec04 .uniqueness_2column > div {
		margin: 0 90px;
	}

}

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

	.uniqueness_sec04 h3.b_band {
		padding-left: 50%;
	}

	.uniqueness_sec04 .uniqueness_2column figure {
		width: 47%;
	}

}


/*--------------------------
	player一覧
---------------------------*/

.player_index .logo_en,
.player_index .logo_mk {
	display: none;
}

.player_index .logo_w {
	display: block;
	width: 78px;
}

.player_index .header .logo_name,
.player_index .main,
.player_index .main a,
.player_index .footer_logo div,
.player_index .footer_address address p,
.player_index .footer_address address p a,
.player_index .footer_link li a,
.player_index .copyright {
	color: #fff;
}

.player_index #menu_btn::before,
.player_index #menu_btn::after,
.player_index #menu_btn span::before {
	background: #fff;
}

.player_index .scroll #menu_btn::before,
.player_index .scroll #menu_btn::after,
.player_index .scroll #menu_btn span::before {
	background: #000;
}

.player_index .path li::before {
	border-color: #fff;
}

.player_index .header,
.player_index.wrapper,
.player_index .footer {
	background: #000;
}

.player_index .footer_logo_b {
	display: none;
}

.player_index .footer_logo_w {
	display: block;
}

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

	.player_index .logo_w {
		width: 156px;
		transition: all 0.25s ease 0s;
	}
	
	.player_index .logo_mk_w {
		width: 57px;
		opacity: 0;
		display: block;
		transition: all 0.25s ease 0s;
	}

	.player_index .header.scroll .logo_w {
		opacity: 0;
	}
	
	.player_index .header.scroll .logo_mk_w {
		opacity: 1;
	}

	.player_index .scroll #menu_btn::before,
	.player_index .scroll #menu_btn::after,
	.player_index .scroll #menu_btn span::before {
		background: #fff;
	}

}

.player_index_list {
	margin: 0 20px 0 5px;
	padding-bottom: 0;
	overflow: inherit;
}

.player_index_list ul {
	display: block;
}

.player_index_list ul li {
	margin: 0 0 40px 15px;
	width: calc(100% - 15px);
	position: relative;
}

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

	.player_index_list {
		margin: 0;
		overflow: inherit;
	}

	.player_index_list ul {
		grid-template-columns: repeat(auto-fit, calc(33% - 24px));
		display: grid;
		gap: 40px;

	}

	.player_index_list ul li {
		margin: 0 0 40px;
	}

}

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

	.player_index_list ul {
		grid-template-columns: repeat(auto-fit, calc(33% - 18px));
		gap: 30px;
	}

	.player_index_list ul li {
		margin: 0 0 30px;
	}

}

.player_index_list li > span {
	position: absolute;
	top: -15px;
	left: -15px;
	width: 30px;
	height: 30px;
	z-index: 3;
}

.player_index_list li h3 {
	margin: 0;
	padding: 12px 15px 0 0;
	font-size: 1.4rem;
	background: #000;
	display: inline-block;
	position: relative;
	top: -25px;
	z-index: 2;
}

.player_index_list li h4 span {
	padding-right: 15px;
	font-size: 1.6rem;
	font-weight: 500;
}

.player_index_list li h4 {
	margin: -14px 0 10px;
	font-size: 1.2rem;
}

.player_index_list li p {
	font-size: 1.6rem;
	line-height: 1.6;
}

.player.index .index_pager {
	margin-top: 20px;
}

.player.index .index_pager li a {
	border-color: #fff;
}

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

	.player_index_list li > span {
		top: -10px;
		right: -10px;
		left: auto;
	}

	.player_index_list li h4 {
		margin: -10px 0 15px;
	}

	.player.index .index_pager li a {
		transition: all 0.25s ease 0s;
	}

	.player.index .index_pager li a:hover {
		color: #000;
		background: #fff;
	}

	.player.index .index_pager li.page_back a::after,
	.player.index .index_pager li.page_forward a::after {
		background: url(../images/common/ico_link_ss_b.svg) no-repeat 0 0 / 9px 14px;
	}
}

/*--------------------------
	player
---------------------------*/

.entry.main {
	margin: 135px 0 100px;
}

.entry_head {
	margin: 0 20px 45px;
}

.title_sub {
	margin: 0 0 25px;
	display: flex;
	align-items: center;
}

.title_sub p {
	width: 115px;
}

.title_sub ul {
	margin: 0 0 0 8px;
	padding: 2px 0 2px 8px;
	border-left: 2px solid #000;
	display: flex;
	flex-wrap: wrap;
}

.title_sub li {
	font-size: 1.4rem;
}

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

	.entry.main {
		margin: 300px 0 250px;
	}
	
	.entry_inner {
		margin: 0 auto;
		width: min(90%,1150px);
	}
/*
	.inner .entry_inner {
		width: auto;
	}
*/
	.entry_head {
		margin: 0 0 115px;
	}
	
	.title_sub {
		margin: 0 0 45px;
	}
	
	.title_sub p {
		width: 152px;
	}
	
	.title_sub ul {
		margin: 0 0 0 30px;
		padding: 4px 0 4px 30px;
	}
	
	.title_sub li {
		font-size: 1.6rem;
	}

}

.entry_head h1 {
	font-size: 3.0rem;
	line-height: 1.3;
	font-weight: 600;
}

.name_head {
	padding: 20px;
	background: #000;
	position: relative;
	display: inline-block;
}

.name_head > span {
	position: absolute;
	width: 30px;
	height: 30px;
	top: -10px;
	right: -10px;
}

.name_head p {
	color: #fff;
	font-size: 1.2rem;
}

.name_head h2 {
	color: #fff;
	font-size: 2.0rem;
	line-height: 1.9;
	font-weight: 500;
}

.name_head h2 div {
	display: block;
	font-size: 1.6rem;
}

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

	.entry_head h1 {
		font-size: 6rem;
	}
	
	.name_head {
		padding: 35px 35px 35px 0;
	}
	
	.name_head::after {
		position: absolute;
		content: '';
		background: #000;
		top: 0;
		width: 9999px;
		height: 100%;
		left: -9999px;
	}
	
	.name_head > {
		width: 40px;
		height: 40px;
		top: -20px;
		right: -20px;
	}
	
	.name_head p {
		font-size: 1.4rem;
	}
	
	.name_head h2 {
		font-size: 2.2rem;
		line-height: 1.7;
	}
	
	.name_head h2 div {
		font-size: 1.8rem;
	}

}

.player_main_img {
	margin: -20px 0 35px;
}

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

	.player_main_img {
		margin: -60px 0 120px;
	}

	.player_main_img img {
		width: 100%;
	}

}

.profile_box {
	margin: 50px 0;
}

.profile_box .profile_left {
	margin: 0 20px 20px;
}

.profile_box .profile_right {
	padding: 40px 0 1px 20px;
	background: #000;
	position: relative;
}

.profile_box .profile_right::after {
	position: absolute;
	content: '';
	background: #000;
	top: 0;
	width: 9999px;
	height: 100%;
	right: -9999px;
}

.profile_box .profile_right h3 {
	margin: 0 0 30px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
}

.profile_box .profile_right h4 {
	margin: 0 0 30px;
	padding: 0;
	font-size: 1.6rem;
	color: #fff;
	line-height: 1.6;
}

.profile_box .profile_right p {
	margin: 0 0 40px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.6;
}

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

	.profile_box {
		margin: 50px 0 200px;
		padding: 90px 0 90px 90px;
		display: flex;
		background: #000;
		position: relative;
	}
	
	.profile_box::after {
		position: absolute;
		content: '';
		background: #000;
		top: 0;
		width: 9999px;
		height: 100%;
		right: -9999px;
	}
	
	.profile_box .profile_left {
		margin: 0;
		order: 2;
	}
	
	.profile_box .profile_right {
		margin: 0 50px 0 0;
		padding: 0;
		order: 1;
	}
	
	.profile_box .profile_right::after {
		display: none;
	}

	.profile_box .profile_right h3 {
		margin: 0 0 50px;
		padding: 0;
		font-size: 3.0rem;
	}
	
	.profile_box .profile_right h4 {
		font-size: 1.8rem;
	}

	.profile_box .profile_right p {
		margin: 0 0 80px;
		font-size: 1.6rem;
	}

	.profile_box .profile_right *:last-child {
		margin-bottom: 0;
	}

}

.contat_column {
	margin: 40px 0 0;
	padding: 50px 40px 60px;
	background: #000;
	text-align: center;
}

.contat_column p {
	margin: 0 0 30px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 1.8rem;
}

.contat_column p.contact_btn {
	margin: 0 auto;
	max-width: 500px;
}

.contat_column p.contact_btn a {
	padding: 20px 10px;
	background: #fff;
	color: #000;
	display: block;
	font-size: 2.2rem;
	font-weight: 500;
}

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

	.contat_column {
		margin: 150px 0 0;
		padding: 90px 0 100px;
	}
	
	.contat_column p {
		margin: 0 0 30px;
		font-size: 1.8rem;
	}
	
	.contat_column p.contact_btn a {
		padding: 30px 20px;
		font-size: 2.6rem;
		border: 3px solid #fff;
		transition: all 0.25s ease 0s;
	}

	.contat_column p.contact_btn a:hover {
		background: #000;
		color: #fff;
	}

}

.entry_select_link {
	margin: 60px 20px 0;
	padding: 45px 40px 25px;
	border: 3px solid #000;
}

.entry_select_link h3 {
	margin: 0 0 35px;
	padding: 0;
	font-size: 1.6rem;
	font-weight: 600;
}

.entry_select_link ul {
	margin: 0 0 0 10px;
}

.entry_select_link li {
	margin: 0 0 15px;
	font-size: 1.5rem;
}

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

	.entry_select_link {
		margin: 120px auto 0;
		padding: 40px 45px 20px;
		border: 5px solid #000;
		width: min(90%,1150px);
	}
	
	.entry_select_link h3 {
		font-size: 1.8rem;
	}
	
	.entry_select_link ul {
		margin: 0;
		display: flex;
		flex-wrap: wrap;
	}
	
	.entry_select_link li {
		margin: 0 40px 20px 0;
		font-size: 1.6rem;
	}

	.entry_select_link li a.mark_ov::after {
		top: 0;
	}

}

.path {
	margin: 60px 20px 100px;
}

.path ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.path li {
	margin: 0 10px 20px 0;
	padding: 0 0 0 30px;
	position: relative;
	font-size: 1.4rem;
	font-weight: 500;
}

.path li::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	top: 5px;
	left: 0;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
}

.path li:first-child::before {
	display: none;
}

.path li:first-child {
	padding-left: 0;
}

.path li:last-child {
	margin-right: 0;
}


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

	.path {
		margin: 120px 0 0;
		text-align: center;
	}
	
	.path ul {
		justify-content: center;
	}

	.path li {
		margin: 0 35px 0 0;
		padding: 0 0 0 60px;
		font-size: 1.6rem;
		white-space: nowrap;
	}
	
	.path li::before {
		width: 18px;
		height: 18px;
		top: 4px;
	}
	
}

/*--------------------------
	Topics一覧
---------------------------*/

.index.main {
	margin: 140px auto 80px;
}

.index.main .page_title {
	margin-bottom: 30px;
}

.topics_index {
	margin: 0 20px 0 5px;
	padding-bottom: 0;
	overflow: inherit;
}

.topics_index ul {
	display: block;
}

.topics_index ul li {
	margin: 0 0 30px;
	width: 100%;
}

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

	.index.main .page_title {
		margin-bottom: 100px;
/*		width: min(90%,1150px);*/
	}

	.topics_index {
		margin: 0;
		overflow: inherit;
	}
	
	.topics_index ul {
		grid-template-columns: repeat(auto-fit, calc(33% - 24px));
		display: grid;
		gap: 40px;

	}

	.topics_index ul li {
		margin: 0;
	}

}

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

	.topics_index ul {
		grid-template-columns: repeat(auto-fit, calc(33% - 18px));
		display: grid;
		gap: 30px;
	}

}


/*--------------------------
	pager
---------------------------*/

.index_pager {
	margin: 50px 20px;
}

.index_pager ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.index_pager .page_back,
.index_pager .page_forward {
	display: block;
	width: 70px;
}

.index_pager .page_back a,
.index_pager .page_forward a {
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid #000;
}

.index_pager .page_back img {
	transform: rotate(-180deg);
}

.index_pager .page_back img,
.index_pager .page_forward img {
	width: 9px;
}

.index_pager li {
	display: none;
}

.index_pager li.cur {
	display: block;
	border: none;
	padding: 12px 15px;
}

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

	.index.main {
		margin: 300px auto 250px;
		width: min(90%,1150px);
	}
	
	.index_pager {
		margin: 80px 0 170px;
	}
	
	.index_pager ul {
		justify-content: center;
	}
	
	.index_pager .page_back {
		margin-right: 145px;
	}
	
	.index_pager .page_forward {
		margin-left: 145px;
	}
	
	.index_pager li {
		margin: 0 5px;
		display: block;
	}
	
	.index_pager li a {
		padding: 12px;
		display: block;
		text-align: center;
		border: 2px solid #000;
		transition: all 0.25s ease 0s;
		position: relative;
	}

	.index_pager li.page_back a::after,
	.index_pager li.page_forward a::after {
		position: absolute;
		content: '';
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 9px;
		height: 14px;
		margin: auto;
		display: none;
		background: url(../images/common/ico_link_ss_w.svg) no-repeat 0 0 / 9px 14px;
	}

	.index_pager li a:hover {
		background: #000;
		color: #fff;
	}

	.index_pager li.page_back a:hover img,
	.index_pager li.page_forward a:hover img {
		display: none;
	}

	.index_pager li.page_back a:hover::after,
	.index_pager li.page_forward a:hover::after {
		display: block;
	}
	
	.index_pager li.cur {
		border: none;
		padding: 12px 15px;
	}

}

/*--------------------------
	Topics詳細
---------------------------*/

.main.topics.entry {
	margin: 130px auto 90px;
}

.topics_tag {
	margin: 0 20px 15px;
	display: flex;
	align-items: center;
}

.topics_tag h3 {
	font-size: 1.8rem;
	font-weight: 600;
}

.topics_tag ul {
	margin: 0 0 0 10px;
	padding: 0 0 0 10px;
	display: flex;
	flex-wrap: wrap;
	border-left: 2px solid #000;
}

.topics_tag li {
	margin: 2px 0;
	font-size: 1.4rem;
}

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

	.main.topics.entry {
		margin: 300px auto 250px;
	}
	
	.main.topics.entry .inner {
		margin: 0 auto;
/*		width: min(90%,1150px);*/
	}
	
	.topics_tag {
		margin: 0 0 50px;
	}
	
	.topics_tag h3 {
		font-size: 2.6rem;
	}
	
	.topics_tag ul {
		margin: 0 0 0 30px;
		padding: 0 0 0 30px;
	}
	
	.topics_tag li {
		margin: 5px 0;
		font-size: 1.6rem;
	}

}

.topics_header {
	margin: 0 20px 50px;
}

.topics_header > p {
	margin: 0 0 20px;
	padding: 2px 5px;
	font-weight: 500;
	display: inline-block;
	font-size: 1.4rem;
}

.topics_header .page_title {
	margin: 0 0 15px;
}

.topics_header .page_title h1 {
	font-size: 2.6rem;
}

.topics_header .title_info {
	padding: 18px;
	background: #000;
	font-size: 1.4rem;
	line-height: 1.2;
}

.topics_header .title_info dt {
	color: #fff;
}

.topics_header .title_info dd {
	margin: 10px 0 0;
	color: #fff;
}

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

	.topics_header {
		margin: 0 auto 120px;
		width: min(90%,1150px);
	}
	
	.topics_header > p {
		margin: 0 0 15px;
		padding: 5px 10px;
		font-size: 1.6rem;
	}
	
	.topics_header .page_title {
		margin: 0 0 30px;
	}
	
	.topics_header .page_title h1 {
		font-size: 4.0rem;
	}
	
	.topics_header .title_info {
		padding: 25px 20px;
		font-size: 1.6rem;
	}
	
	.topics_header .title_info dd {
		margin: 0 0 0 20px;
		padding: 0 0 0 20px;
	}

}

.topics_main_img {
	margin: 0 0 50px;
}

.topics_point_box {
	margin: 0 20px 40px;
	padding: 0 20px 10px;
	border: 2px solid #000;
}

.topics_point_box .point_list {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.topics_point_box .point_list li {
	margin: 30px 0;
}

.topics_point_box .point_no {
	margin: 0 40px 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	display: flex;
	align-items: center;
}

.topics_point_box .point_no span {
	padding: 0 0 0 5px;
	font-size: 4.0rem;
}

.topics_point_box .point_text {
	margin: 5px 0 0;
	font-size: 1.6rem;
	font-weight: 500;
}

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

	.topics_main_img {
		margin: 0 auto 120px;
		text-align: center;
		width: min(90%,1150px);
	}
	
	.topics_point_box {
		margin: 0 0 120px;
		padding: 20px 50px;
		border: 3px solid #000;
	}
	
	.topics_point_box .point_list li {
		margin: 25px 0;
		display: flex;
		align-items: center;
	}
	
	.topics_point_box .point_no {
		margin: 0 40px 0 0;
		font-size: 1.8rem;
	}
	
	.topics_point_box .point_no span {
		font-size: 6.0rem;
	}
	
	.topics_point_box .point_text {
		margin: 0;
		font-size: 1.8rem;
	}

}

/*--------------------------
	採用情報
---------------------------*/

.recruit_index_column {
	margin: 0 0 50px;
}

.recruit_index_column h2 {
	margin-bottom: 35px;
}

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

	.recruit_index_column {
		margin: 0 0 100px;
	}
	
	.recruit_index_column h2 {
		margin-bottom: 50px;
	}

}

/*--------------------------
	アクセス
---------------------------*/

.access_area {
	margin: 0 0 50px;
}

.access_map {
	margin: 0 0 15px;
}

.access_area h2 {
	margin-bottom: 30px;
}

.access_map iframe {
	border: none;
	width: 100%;
	height: 260px;

}

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

	.access_area {
		margin: 0 0 100px;
	}
	
	.access_map {
		margin: 0 0 25px;
	}
	
	.access_area h2 {
		margin-bottom: 60px;
	}
	
	.access_map iframe {
		height: 400px;
	
	}

}

/*--------------------------
	お問い合わせ
---------------------------*/

.contct_page_box {
	margin: 40px 0 50px;
	padding: 30px 30px 25px;
	border: 5px solid #000;
}

.contct_page_box h2 {
	margin: 0 0 20px;
	padding: 0 0 15px;
	font-size: 1.8rem;
	line-height: 1.4;
	border-bottom: 1px solid #000;
}

.contct_page_box p {
	margin: 0 0 5px;
	font-size: 1.6rem;
	line-height: 1.6;
}

.contct_page_box p.tel {
	padding: 0 0 0 25px;
	font-size: 3.0rem;
	font-weight: 700;
	background: url(../images/common/ico_tel.svg) no-repeat 0 center / 18px auto;
}

.contct_page_box p.tel_hour {
	font-size: 1.6rem;
	font-weight: 500;
}

.contct_page_box p.tel_hour span {
	font-size: 1.2rem;
	font-weight: 400;
	display: block;
}

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

	.contact .page_title {
		width: min(90%,1150px);
	}

	.contct_page_box {
		margin: 80px 0 100px;
		padding: 60px 60px 45px;
	}
	
	.contct_page_box h2 {
		margin: 0 0 30px;
		padding: 0 0 25px;
		font-size: 2.4rem;
	}
	
	.contct_page_box p {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}
	
	.contct_page_box p.tel {
		padding: 0 0 0 25px;
		display: inline;
		font-size: 4.0rem;
		vertical-align: middle;
	}
	
	.contct_page_box p.tel_hour {
		margin: 0 0 0 15px;
		font-size: 1.8rem;
		display: inline;
		vertical-align: middle;
	}
	
	.contct_page_box p.tel_hour span {
		font-size: 1.4rem;
		vertical-align: middle;
		display: inline;
	}

}

/*--------------------------
	共通カラム
---------------------------*/

.column_clear {
	margin: 0;
	clear: both;
}

[class*="column-image-"] {
	margin-bottom: 20px;	
}

.column_pc {
	display: none;
}

.column_sp {
	display: block;
}

.column3_left,
.column3_center,
.column3_right,
.column2_left730,
.column2_right360,
.column2_left360,
.column2_right730 {
	margin: 0 0 25px;
}

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

	.column_clear {
		margin: 0;
	}

	[class*="column-image-"] {
		margin-bottom: 50px;	
	}

	.column2_left1 {
		margin: 0 50px 80px 0;
		float: left;
		width: calc(50% - 25px);
	}
	
	.column2_right1 {
		margin: 0 0 80px;
		float: right;
		width: calc(50% - 25px);
	}

	.column_pc {
		display: block;
	}
	
	.column_sp {
		display: none;
	}

	.column2_left360 {
		margin: 0 60px 60px 0;
		width: calc(33% - 30px);
		float: left;
	}

	.column2_right730 {
		margin: 0 0 60px;
		width: calc(66% - 30px);
		float: left;
	}

	.column2_left730 {
		margin: 0 60px 60px 0;
		width: calc(66% - 30px);
		float: left;
	}

	.column2_right360 {
		margin: 0 0 60px;
		width: calc(33% - 30px);
		float: left;
	}

	.column3_left {
		margin: 0 50px 50px 0;
		float: left;
		width: calc(33% - 33px);
	}

	.column3_center {
		margin: 0 0 50px;
		float: left;
		width: calc(33% - 33px);
	}

	.column3_right {
		margin: 0 0 50px 50px;
		float: left;
		width: calc(33% - 33px);
	}

	.column3_left [class*="column-image-"],
	.column3_center [class*="column-image-"],
	.column3_right [class*="column-image-"],
	.column2_left730 [class*="column-image-"],
	.column2_right360 [class*="column-image-"],
	.column2_left360 [class*="column-image-"],
	.column2_right730 [class*="column-image-"] {
		margin-bottom: 0;
	}

}

/*----------------------
	CMS
-----------------------*/

#adminBox, .acms-admin-box {
    margin-bottom: 0;
	height: 90px;
	width: 100%;
}	

.lg_1 #adminBox {
	position: fixed;
	top: 0;
	z-index: 100;
}

.entryFormLiteEditor em {
	font-weight: bold;
	font-style: italic;
}

.entryFormLiteEditor a {
	padding: 0 15px 0 0;
	color: #333 !important;
	display: inline-block;
	background: url(../images/common/link_gr.png) no-repeat right center;
	background-size: 9px auto;
}

.comPostWrapper {
  position: sticky;
  bottom: 0;
  z-index: 100016;
}

/*20200924 IE11 表示崩れハック*/
.recruit .wrapper .page_inner h2:first-child {
line-height: 1.3;
}


.titleWrapper {
	margin: 0 auto;
	padding: 50px 0 30px;
	width: min(90%,1150px);
	font-size: 1.8rem;
	line-height: 1.8;
}
