@import url("animate.css");
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap');

html {
    font-size: 62.5%;
    height: auto;
    position: relative;    
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
    font-feature-settings: 'palt';
    width: 100%;
    position: relative;  
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
}

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

.clearfix::after {
  content:'';
  display:block;
  clear:both;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  width: 100%;
  height: auto;
}

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  cursor: pointer;
  color: #b4a00d;    
}

a:focus {
  outline: 0;
}

a:hover, a:active {
  outline: 0;
  color: #b4a00d;
	text-decoration: underline;
}

a img {
  border: 0;
}

img{
    outline:none;
    border-style:none;
	width: 100%;
    backface-visibility: hidden;
	vertical-align: bottom;
	font-size: 0;
	line-height: 0;
}

hr {
	width: 100%;
	border: none;
    border-top: 2px dotted #f39800;
	margin-top: 4rem;
	margin-bottom: 4rem;
}

h1, h2, h3, h4, h5, h6, p, span, a {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  vertical-align: initial;    
}

h1, h2, h3, h4, h5, h6{
  font-weight: 700;
}

.justify{
    text-align: justify;
}

small{
  font-size: 80%;    
}

ul,li{ margin:0 0 0 1.5rem; list-style-type:disc; font-size: 1.5rem;}

li{
	margin-bottom: 1rem;
}

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

.flex{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.btn{
	color: #b4a00d;
	background: #fff;
	border: solid 1px #b4a00d;
	padding: 1.2rem 3rem;
	border-radius: 100vh;
	display: inline-block;
}

.btn:hover{
	color: #fff;
	background-color: #b4a00d;
	text-decoration: none;
}

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


body{
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.2em;
    font-weight: 400;
    color: #595757;
    letter-spacing: .05rem;
    line-height: 1.8;   
}

body:before{

}

h1{
    font-size: 3.2rem;
    margin-bottom: rem;
}

h2{
    font-size: 2.8rem;
	line-height: 1;
    margin-bottom: 3rem;
	padding-bottom: 0.8rem;
	color: #f39800;
	border-bottom: solid 1px #f39800;
}

h3{
    font-size: 2.4rem;
	color: #f39800;
    margin-bottom: 1rem;
	padding-left: 3rem;
	position: relative;
}

h3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f101";
  font-weight: 900;
  position: absolute;
  font-size: 1em;/*サイズ*/
  left: 0;
  top: 0;
  color: #f39800;
}

h4{
    font-size: 2rem;
	color: #979797;
    margin-bottom: 0.3rem;    
}

h5{
    font-size: 1.6rem;
    margin-bottom: 0.3rem;
}

p{
	font-size: 1.5rem;   
}



main, .global-nav-item-list, footer .section-inner{
    width: 94%;
	max-width: 960px;
    margin: 0 auto;
	position: relative;
}

main{
	padding-top: 13rem;
	position: relative;
	min-height: 100vh;
	padding-bottom: 17rem;
}

#wrapper {
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 100%;
}

section{
    padding-top: 4rem;
}

.section-inner {
	position: relative;
}

.img-border{
	border: 1px solid #e3e3e3;
}


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

header{
	position: fixed;
	z-index: 100;
}

.logo img{
	height: 8rem;
	width: auto;
}

.global-nav {
	height: 12rem;
	padding: 2rem 0;
	border-bottom: solid 1px #f29600;
	background-color: #fff;
}	
	
.global-nav-item > a {
    font-family: 'Lato', sans-serif;
    font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
    color: #595757;
	
}

.global-nav-item a:hover{
	color: #f39800;
}
	
.group_logo {
	width: auto;
	height: 3rem;   
	position: absolute;
	top: 0;
	right: 0;
}	


@media (min-width: 992px) {

/** グローバルナビリスト (1階層目) */

.global-nav-item-list {
    display: flex;
    justify-content: space-between;
}

/** グローバルナビ項目 (1階層目) */

.global-nav-item {
	display: flex;
    position: relative;
	height: 3.4rem;
	margin-top: 5.5rem;
}

.global-nav-item > a {
    display: block;
	position: relative;
    width: 100%;
	line-height: 2;
    text-decoration: none;
    transform: rotate(0.05deg);
}


.global-nav-sub-item-list {
	position: absolute;
	top: 100%;
	width: calc(100% + 1rem);
	min-width: 150px;
	left: 50%;
	background: white;
	overflow: hidden;
	opacity: 0;
	transform: translateX(-50%);
	transition: 0.2s opacity;
	pointer-events: none;
	z-index: 100;
	padding-top: 1rem;
}

.global-nav-item:hover > .global-nav-sub-item-list,.global-nav-sub-item-list:hover {
	opacity: 1;
	pointer-events: all;
	

}

    /** グローバルナビ項目 (2階層目) */

.global-nav-sub-item > a {

	color: #f39800;
	display: flex;
    align-items: center;
    position: relative;
	border-top: 1px solid #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.6rem;	
    padding: 15px 30px 15px 20px;
    text-align: left;
	text-decoration: none;
	transform: rotate(0.05deg);
	border: 1px solid #f39800;
    }
	
.global-nav-sub-item_2{
	margin-top: -1px;
		
}	
	
.global-nav-sub-item > a::before {

        box-sizing: border-box;
        content: "";
        display: block;
        margin-right: 5px;
        width: 10px;
        height: 10px;
        border: solid #f29600;
        border-width: 0 3px 3px 0;
        transform-origin: center;
        transform: translateX(-25%) rotate(-45deg);

    }

.global-nav-sub-item:first-child > a {
    border-top: 1px solid #f39800;
}
	

.global-nav-sub-item > a:hover{
	background: #f39800;
	color: #fff;
}
	
.global-nav-sub-item > a:hover:before {

        
	box-sizing: border-box;
	content: "";
	display: block;
	margin-right: 5px;
	width: 10px;
	height: 10px;
	border: solid #fff;
	border-width: 0 3px 3px 0;
	transform-origin: center;
	transform: translateX(-25%) rotate(-45deg);
}

.global-nav-toggle, .SP-logo {
	display: none;
}	

}


@media (max-width: 991px) {

/** グローバルナビリスト (1階層目) */
.global-nav {
	height: 75px;
	padding: 15px 0;
}	
	
.global-nav-sub-item > a {

	border: none;
    }	
	
.logo{
	display: none;
}

.SP-logo {
	height: 45px;
}		

.SP-logo img{
	height: 45px;
	width: auto;
	padding-left: 4%;
}	

.group_logo {
	width: auto;
	height: 2.5rem;
	top: 2rem;
	left: 3rem;
	z-index: 200;
	position: relative;
}		

.global-nav-item-list {    
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 100%;    
	margin: auto;
	padding-top: 75px;
	padding-bottom: 75px;
    overflow: auto;
    z-index: 100;
    background: rgba(255, 255, 255, 0.95);
    transition: 0.2s all;
    pointer-events: none;
	border-left: 2px solid #f39800;
}

.global-nav.open .global-nav-item-list {
	pointer-events: all;
	left: 70%;
}
	
@media screen and (min-width:576px) and ( max-width:767px) {
	
.global-nav.open .global-nav-item-list {
	left: 55%;    
}	
	
}

/** グローバルナビ項目 (1階層目, 2階層目) のリンク */

.global-nav-item a {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        position: relative;
        width: 100%;
        padding: 1.5rem 3rem;
        text-decoration: none;
        transform: rotate(0.05deg);
        transition: 0.2s all;

    }


.global-nav-item > a::before,.global-nav-sub-item-list.open a::before {

        box-sizing: border-box;
        content: "";
        display: block;
        margin-right: 10px;
        width: 10px;
        height: 10px;
        border: solid #f29600;
        border-width: 0 3px 3px 0;
        transform-origin: center;
        transform: translateX(-25%) rotate(-45deg);
        transition: 0.1s all;
}

.global-nav-item > a.open::before {    
	transform: translate(-25%, -2.5px) rotate(45deg);
}

.global-nav-sub-item a {
    padding: 1rem 0 1rem 4.5rem;
	color: #595757;
	font-family: 'Lato', sans-serif;
	font-size: 1.6rem;	
}
	
.global-nav-sub-item a:hover {
	color: #f39800;

    }	

    /** グローバルナビリスト (2階層目) */

.global-nav-sub-item-list:not(.open),.global-nav-sub-item-list:not(.open) * {

        overflow: hidden;
        opacity: 0;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-top-width: 0;
        border-bottom-width: 0;
        color: transparent;
        line-height: 0;
        transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;

    }

.global-nav-sub-item-list.open, .global-nav-sub-item-list.open * {

        transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;

    }



    /** トグルボタン */

.global-nav-button {
        box-sizing: border-box;
        position: fixed;
        top: 15px;
        right: 15px;
        width: 45px;
        height: 45px;
        background: #f29600;
        z-index: 101;
        cursor: pointer;

}

.global-nav-button-icon {

        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: calc(100% - 18px);
        height: 2px;
        margin-left: 9px;
        background: white;
        z-index: 100;
}

.global-nav-button-icon::before {

        position: relative;
        top: -8px;
        display: block;
        content: "";
        height: 2px;
        background: white;
        transition: 0.1s all;

}

.global-nav-button-icon::after {

        position: relative;
        top: 6px;
        display: block;
        content: "";
        height: 2px;
        background: white;
        transition: 0.1s all;

}

.global-nav-button.open .global-nav-button-icon {

	background: transparent;

}

.global-nav-button.open .global-nav-button-icon::before {

    top: -6px;
	transform: translateY(6px) rotate(45deg);

}

.global-nav-button.open .global-nav-button-icon::after {
	top: 3px;
	transform: translateY(-5px) rotate(-45deg);
}

}

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

.topic{
	margin-bottom: 2rem;
}

.fas{
	color: #b4a00d;
}

#top-banner img{
	margin-bottom: 1.5rem;
}


#top-news{
	width: 60%;
}

#top-banner{
	width: 35%;
}



/* ------- news ------- */

.news-article{
    position: relative;
    border-bottom: dashed 1px #e3e3e3;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }

 #news-release{
	width: 100%;
}


/* ------- actor ------- */

#actor h2{
	margin-bottom: 1rem;
}

#actor>#wrapper>.section-inner{
	width: 30%;
}

#actor h5{
	text-align: center;
	margin-top: 1rem;
}

.profile h5{
	color: #979797;
}

.profile h5 span{
	color: #595757;
	font-size: 80%;
}

/* ------- talent ------- */

#talent h2{
	margin-bottom: 1rem;
}

#talent-profile>#wrapper>.section-inner{
	width: 40%;
}

#talent>#wrapper>.section-inner{
	width: 30%;
}


#talent h5{
	text-align: center;
	margin-top: 1rem;
}

.img_wrap{
	margin-top: 3rem;
}

.img_wrap a{
	text-decoration: none;
	color: #595757;
}

.img_wrap img{
  width: 100%;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.5;
  transition-duration: 0.3s;
}

.profile-photo{
	width: 35%;
	margin-top: 1rem;
}

.profile{
	width: 60%;
	margin-top: 1rem;
	text-align: justify;
}

.profile-photo .btn{
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	line-height: 1.2;
	font-size: 1.8rem;
	margin-top: 2rem;
	padding: 1.8rem;
	text-align: center;
	border-radius: 0;
}

.profile-photo .btn a:hover{
	color: #fff;
	text-decoration: none;
}

.profile h3 {
  padding-left: 0;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.profile h3:before {
  content: none;
}

.profile h4 {
	position: relative;
	color: #f39800;
	padding-left: 2.5rem;
	margin-bottom: 1rem;
}

.profile h4:before {
  font-family: "Font Awesome 5 Free";
  content: "\f101";
  font-weight: 600;
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0.1rem;
  color: #f39800;
}

.profile h5{
	margin-top: 1rem;
	margin-bottom: 0;
}


.profile h5 span{
	font-family: 'Montserrat', sans-serif;
	margin-top: 1rem;
}


.profile hr{
	border: none;
    border-top: 2px dotted #f39800;
	margin-top: 3rem;
	margin-bottom: 3rem;
}

/* ------- music publishing ------- */

h3 span{
	font-size: 75%;
	
}

h4{
}

/* ------- company ------- */

#company h5{
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}


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

footer{
    padding-top: 3rem;
    padding-bottom: 3rem;
	margin-top: 5rem;
	background-color: #f39800;
	position: absolute;
    bottom: 0;
}

footer a, footer a:hover, footer a:active{
    color: #fff;
}

footer p{
	color: #fff;
	text-align: right;

}




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

html{
    font-size: 58%;
}   		

main, .global-nav-item-list, footer .section-inner{
    width: 92%;
}	
	
h1{
    font-size: rem;
}     
    
h2{
    font-size: rem;    
}
    
h3{
    font-size: rem;    
}    
    
h4{
    font-size: rem;     
}    
    
h5{
    font-size: rem;
}    
	
main{
	padding-top: 8rem;
	padding-bottom: 15rem;
}	
    
    
}
    
@media screen and (max-width: 767px) {

html{
    font-size: 55%;
}   	
    
h1{
    font-size: rem;
}     
    
h2{
    font-size: rem;    
}
    
h3{
    font-size: rem;    
}    
    
h4{
    font-size: rem;     
}    
    
h5{
    font-size: rem;
}    
	
#wrapper {
    display:inherit;
}	


    
#top-news{
	width: 100%;
	position: relative;
}

#top-banner{
	width: 100%;
}
	
#top-banner .section-inner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}	
	
#top-banner .banner{
	width: 48%;
	
}	
	
#news-talent, #news-release{
	width: 100%;
}	
	
#actor #wrapper, #talent #wrapper,#actor-profile #wrapper, #talent-profile #wrapper{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}		
	
#actor>#wrapper>.section-inner,#talent>#wrapper>.section-inner{
	width: 48%;
}	
    
}

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

html{
    font-size: 55%;
} 
	
.global-nav.open .global-nav-item-list {
	left: 35%;    
}	

main{
	padding-top: 8rem;
	padding-bottom: 18rem;
}		

h1{
    font-size: rem;
}     
    
h2{
    font-size: rem;    
}
    
h3{
    font-size: rem;    
}    
    
h4{
    font-size: rem;     
}    
    
h5{
    font-size: rem;
}   
	
.profile-photo{
	width: 100%;
	margin-top: 1rem;
	margin-bottom: 2rem;
	text-align: center;
}
	
.profile-photo img{
	width: 60%;
	margin: 0 auto;
}	

.profile{
	width: 100%;
	margin-top: 1rem;
	text-align: justify;
}	
    
footer{
    
} 

    
hr {
  margin: rem 0;
}
    
}

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

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

html{
    font-size: 0.4em;
}
    
}