/*################################################################# */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600&family=Mulish:ital,wght@1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Akshar:wght@300..700&display=swap');
@import compass
/*	################################################################
	1. GENERAL STRUCTURES
################################################################# */
	* {
		margin: 0;
		padding: 0px;
	}
	html{
		font-size: 62.5%;
	}
body {
/* 画像ファイルの指定 */
	margin: 0;
	height: 100%;
	color: #222;
  font-size: 1.6rem;
/*	text-align: justify;*/
	font-family:   Noto Sans JP,ヒラギノ角ゴシック,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,ＭＳ Ｐゴシック,MS PGothic,sans-serif
;
	background-color: #F8F8F8;
  overscroll-behavior-x: none;


	}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
  padding: 0;
  font-family:  Noto Sans JP,ヒラギノ角ゴシック,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,ＭＳ Ｐゴシック,MS PGothic,sans-serif
;}

*:focus {
outline: none;
}

p {
	padding: 0;
	font-family:   Noto Sans JP,ヒラギノ角ゴシック,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,ＭＳ Ｐゴシック,MS PGothic,sans-serif
;
	font-weight: 350;
	font-size: 1.4rem;
	color: #444;
  letter-spacing: 0.125rem;
	line-height: 2.8rem;
}
img {
	height: auto;
}
a {
	padding: 0;
	margin: 0;
	color: #D0C181;
}
a:hover,
a:focus {

}
.xs { font-size: xx-small } /* 小2 */
.xm { font-size: x-small }  /* 小1 */
.sm { font-size: small }    /* 小 */
.md { font-size: medium }   /* 標準 */
.la { font-size: large }    /* 大 */
.xr { font-size: x-large; line-height: 3.6rem; }  /* 大1 */
.xl { font-size: xx-large; line-height: 1.0em;  } /* 大2 */
.sr { font-size: smaller }  /* 一段階小さい */
.gray { color:#aaa;}
.red{ color:red;}
.gold{color: #D0C182;}
.org a {color: #e35b00;}
.em { font-weight: bold;}
.op{opacity: 30%;}

::-moz-selection  {
	color: #fff;
	text-shadow:none;
	background:#2B2E31;
}


/*  ################################################################
  MAP
################################################################# */
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/*	################################################################
HEADER
################################################################# */
header{
  background-color: #000;
/*  padding: 100px 0;*/
  position: relative;
  height: 100vh
}

header h2{
  font-family: "Akshar", sans-serif;
  font-weight: 600;
  font-size: 6vw;
  line-height: 6vw;
  color: #D0C181;
  margin-bottom: 30px;
}


header h3{
  font-size: 2vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: left;
  line-height:3vw;
  color: white;
  margin-bottom: 30px;
}

@media screen and (max-width:1200px) {
header h2{
  font-size: 6vw;
  line-height: 6vw;
}
header h3{
  font-size: 3vw ;
  line-height: 3vw;
}
}

@media screen and (max-width:992px) {
header h2{
  font-size: 8vw;
  line-height: 8vw;
}
header h3{
  font-size: 3vw;
  line-height: 4vw;
}
}

@media screen and (max-width:768px) {
  header h2{
  font-size: 12vw;
  line-height: 12vw;
}
header h3{
  font-size: 4vw;
  line-height: 6vw;
}
}


/*  ################################################################
LOGO
################################################################# */
.logo_symb{
position: fixed;
 z-index: 99999;
 padding-top: 15px;
  padding-left: 30px;
}

.logo_blend{
  position: fixed;
 mix-blend-mode: difference;
 z-index: 99999;
 padding-top: 15px;
  padding-left: 30px;
}

@media screen and (max-width:768px) {
.logo_symb{
 padding-top: 10px;
 padding-left: 15px;
}

.logo_blend{
  padding-top: 10px;
  padding-left: 15px;
}
}

/*VIDEO*/

.clearfix:after, .p-section:after, .p-section2:after, .p-message__profile:after, .p-access__text li:after {
  content: "";
  display: block;
  clear: both;
}

.p-video-container {
  position: absolute;
  inset: 0;            /* top/right/bottom/left:0 の省略 */
  width: 100%;         /* 100vw はスクロールバー分で横ズレすることがある */
  height: 100vh;       /* 旧ブラウザ用フォールバック */
  height: 100dvh;      /* モダン環境：見えている“動的”ビューポート高 */
  overflow: hidden;
  z-index: 0;
  min-height: auto;
}

@media (max-width: 768px) {
  .p-video-container {
    min-height: inherit;
  }
}

.p-video-container video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-section {
  height: 100vh;
  height: 100dvh;      /* ← これが効く環境ではこちらが採用される */
  min-height: auto;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .p-section {
    height: auto;
    min-height: inherit;
  }
}

#top {
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
@media (max-width: 768px) {
  #top {
    height: 100vh;
  }
}

.p-logo {
  position: absolute;
  left: 30%;
  top: 80%;
  transform: translate(-30%, -80%);
}
.p-logo p{
  color: white;
  font-weight: bold;
  }
/* inner centering */
.c-middle {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .c-middle {
    position: static;
    transform: none;
  }
}
@media (max-width: 768px) {
  .p-section {
    height: auto;
    min-height: inherit;
  }
.p-section2 {
    height: auto;
    min-height: inherit;
}
}

/*  ################################################################
OUR MISSION
################################################################# */
.mission{
  background: #FFF;
  color: #000;

}

.mission h3{
  color: #000;
  font-size: 3.6rem;
  line-height: 5rem;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}

.mission h4{
  color: #000;
  font-size: 1.8rem;
  line-height: 3rem;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}

/* 行全体に“基準の高さ”を与える（縦セン基準） */
.mission .row{
  min-height: 65dvh;            /* 画面高ベースにしたい時 */
}

/* 親でセンタリング */
.mission_left{
  position: relative;
  padding: 30px 50px 0 50px;
  display: grid;
  place-items: center;            /* 縦横センター */
}

/* 子は普通のブロックでOK（absolute不要） */
.mission_left_box{
  width: min(90%, 760px);         /* お好みで */
}


.mission_left p{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.8rem;
}

.mission_right{
  background: url(../../assets/img/img05.jpg);
   /*background: url(../../assets/img/video.mp4);*/
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 65vh;
  margin-right: -15px;

  }

  @media screen and (max-width:992px) {
  .mission_left{
  padding: 30px 0px 60px 0px;
}
}

  @media screen and (max-width:768px) {
    .mission h3{
  font-size: 3rem;
  line-height: 4rem;
  }
  .mission_left{
  padding: 30px 0px 60px 0px;
}
}

  /*  ################################################################
VISIONS
################################################################# */
.vision{
  background: #FFF;
  color: #000;

}

.vision h3{
  color: #000;
  font-size: 3.6rem;
  line-height: 5rem;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}

.vision h4{
  color: #000;
  font-size: 1.8rem;
  line-height: 3rem;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
}

.vision_left{
  background: url(../../assets/img/img01.jpg);
   /*background: url(../../assets/img/video.mp4);*/
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 65vh;
  margin-right: -30px;
  margin-left: -30px;
}
.vision .row{
  min-height: 65dvh;            /* 画面高ベースにしたい時 */
}

/* 親でセンタリング */
.vision_right{
  position: relative;
  padding: 0 40px;
  display: grid;
  place-items: center;            /* 縦横センター */
}

/* 子は普通のブロックでOK（absolute不要） */
.vision_right_box{
  width: min(90%, 760px);         /* お好みで */
}

.vision_right p{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.4rem;
}

  @media screen and (max-width:992px) {
  .vision_right{
  padding: 30px 0px 60px 0px;
}
}

  @media screen and (max-width:768px) {
    .vision h3{
  font-size: 3rem;
  line-height: 4rem;
  }
  .vision_left{
  position: relative;
  padding: 60px 30px;
  margin-right: 0px;
  margin-left: 0px;
  border-radius:30px;
}
.vision_right{
  padding: 30px 0 60px 0px;
}
  }



/*  ################################################################
ページトップ
################################################################# */
.pagetop {
    display: none;
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 9999;
}
.pagetop a {
    display: block;
    background-color: #222;

    text-align: center;
    color: #FFF;
    font-size: 14px;
    text-decoration: none;
    padding: 7px 16px;
  filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
    border-radius: 50%;
}
.pagetop a:hover {
    display: block;
    background-color: #555;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding: 7px 16px;
  filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
@media only screen and (max-width:767px){
  .pagetop {
    bottom: 15px;
}
}



/*タイトル*/
.title h2 {
 /* display: inline-block;*/
  position: relative;
  font-size: 4.5rem;
  line-height: 36px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 60px;
  z-index: 1;
  color: #333;
  letter-spacing: 0.15rem;
}
.title h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 2px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #D0C181; /*下線の色*/
}

/*タイトル*/
.title2 h2 {
 /* display: inline-block;*/
  position: relative;
  font-size: 4.5rem;
  line-height: 36px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 60px;
  z-index: 1;
  color: #fff;
  letter-spacing: 0.15rem;
}
.title2 h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 2px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #D0C181; /*下線の色*/
}


.category{
  position: relative;
}

.category .label{
 position: absolute;
  top: 0px;
  left: 0px;
  padding: 10px 20px;
  color: #FFFFFF;
  background: rgb(0, 0, 0, 100%);
}



/*  ################################################################
WORKS
################################################################# */
.works{
  background: linear-gradient(#F0F4F5, #FFFFFF);
  padding: 80px 0 50px 0;
  text-align: left;
}

.works a{
  color: #FFF;
}

 .works h3{
  font-size: 18px;
  line-height: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  text-align: left;
 }


 .works_single h3{
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.6em;
 }

.works_img{
  position: relative;
  height: 200px;
}

.works_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.works_img_wp {
  position: relative;
  width: 100%;
  text-align: center;
  min-height: 500px;
}

.works_img_wp img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

.works_img_single {
  position: relative;
  width: 100%;
  text-align: center;
}

.works_img_single img {
  width: 100%;
}

 .works_img_single h3{
  font-size: 24px;
  line-height: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  text-align: left;
 }

.tag{
  position: absolute;
  left: 5px;
  top: 5px;
}

.works_box_w{
  background-color: white;
  padding: 15px;
  color: #000;
  margin-bottom: 30px;
  height: 200px;
}


  .works_box_w p{
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 15px;
  color: #aaa;
  text-align: left;
 }

.works_ah{
  min-height: 500px;
}

/*tag*/
.tag_casting{
  background-color: #f60b6e;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_contents{
  background-color: #6cb92c;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_event{
  background-color: #00c6ff;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_promotion{
  background-color: #e9730a;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}

.tag_cm{
  background-color: #019A44;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_diversity{
  background-color: #009F97;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_live{
  background-color: #0168B8;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_management{
  background-color: #1D2088;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}

.tag_media{
  background-color: #E60012;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_music-video{
  background-color: #940684;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}
.tag_dance-production{
  background-color: #FFF100;
  color: #000;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}

.tag_coordinate{
  background-color: #AA8031;
  color: #FFF;
  padding: 5px 10px 5px 10px;
  font-size: 11px;
  font-weight: bold;
}

/*  ################################################################
サービス
################################################################# */
.service{
  background: linear-gradient(#F0F4F5, #FFFFFF);
  padding: 80px 0;
}
.service_box {
  position: relative; /* 数字を基準に配置するため */
  background: white;
  padding: 35px;
    box-shadow: 4px 4px 10px rgba(0,0,0,0.1);
    height: 300px;
    border-radius:15px;
    transform: rotate(-3deg);
}

.service_box h3 {
  color:#D0C182;
  font-size: 2.4rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}



.big_number {
  position: absolute;
  top: 10px;   /* 上からの距離 */
  right: 15px; /* 右からの距離 */
  font-size: 72px;
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  color: rgba(0,0,0,0.1); /* 薄くして背景的に見せる */
  pointer-events: none; /* クリック等に干渉しない */
}

@media screen and (max-width:992px) {
  .service_box {
    height: auto;
    transform: rotate(0deg);
}
}

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

  font-size: 3.0rem;

}

}



/*  ################################################################
マネージメント
################################################################# */
.management{
  /*background: linear-gradient(#F0F4F5, #FFFFFF);*/
  background-color: #F0F4F5;
  padding: 80px 0;
}

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

}


/*  ################################################################
パートナー
################################################################# */
.partner{
  /*background: linear-gradient(#F0F4F5, #FFFFFF);*/
   background-color: #FFF;
  padding: 80px 0;
}

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

}


/*  ################################################################
スタッフ
################################################################# */
.staff{
  background: linear-gradient(#F0F4F5, #FFFFFF);
  padding: 80px 0;
  font-family: "'Montserrat', Noto Sans JP", sans-serif;
}
.staff_profile{
  height: 300px;
  min-height: 100px;
}
.staff_profile h3{
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.125rem;
  color: #555;
}
.staff_profile p{
  font-size: 10px;
  font-weight: 400;
}

.staff_profile span{
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0.125rem;
  line-height: 2.8rem;
  color: #888;
}

.staffcol {
 padding-top: 60px;
}


@media screen and (max-width:768px) {
.staffcol {
 clear: left;
}
}

/*  ################################################################
COMPANY
################################################################# */
.company{
  background: linear-gradient(#F0F4F5, #FFFFFF);
  padding: 80px 0;
}
.staffcol {
 padding-top: 60px;
}


@media screen and (max-width:768px) {
.staffcol {
 clear: left;
}
}


/* table01 */
#table01 tr {
  border-bottom: 1px solid #DDDDDD;
}

#table01 th,
#table01 td {
  padding: 24px 0;
  border: none;
}

#table01 th {
  width: 30%;
  font-size: 16px;
  font-weight: 600;
  font-family: "'Montserrat', Noto Sans JP", sans-serif;
}

#table01 td {
  font-size: 14px;
  font-weight: 400;
  font-family: "'Montserrat', Noto Sans JP", sans-serif;
}

/* sp */
@media only screen and (max-width: 480px) {
  #table01 th,
  #table01 td {
    width: 100%;
    display: block;
  }

  #table01 th {
    width: 100%;
  }

  #table01 td {
    padding-top: 0;
  }
}
/*  ################################################################
コンタクト
################################################################# */

.contact{
  background: linear-gradient(#F0F4F5, #FFFFFF);
  padding: 80px 0;
}

.contact h3{
  color: #000;
  font-size: 3.6rem;
  line-height: 5rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}
.contact p{
  color: #333;
  text-align: center;
}
.contact a{
  color: #FFF;

}



  @media screen and (max-width:768px) {
    .contact h3{
  font-size: 3rem;
  line-height: 4rem;
  }
}







.clearleft{
  clear: left;
}

/* IE6 */
ul.center li {
  _display: inline; /* IE6がdisplay: inline-block;に対応していないので */
}

/* IE7 */
*:first-child+html ul.center li {
  display: inline; /* IE7がdisplay: inline-block;に対応していないので */
}


/*  ################################################################
READ MORE
################################################################# */
.read-more-2 {
    position: relative;
}

.read-more-2 p {
    display: -webkit-box;
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6; /* 開く前に見せたい行数を指定 */
}

.read-more-2:has(:checked) p {
    display: block;
}

.read-more-2 p::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #F0F4F5);
    content: '';
}

.read-more-2:has(:checked) p::after {
    content: none;
}

.read-more-2 label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #bdb076;
    font-size: .8em;
}

.read-more-2 label:hover {
    color: #000000;
    text-decoration: underline;
    cursor: pointer;
}

.read-more-2:has(:checked) label {
    display: none;
}

.read-more-2 label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #b6bdc3;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.read-more-2 input {
    display: none;
}



/*	################################################################
SLIDER
################################################################# */
.wrap {
	margin: 0;
}

.wrap img{
width: 100%;
}
#slide_wrap {
  position: relative;
  overflow: hidden;
}
#slide_wrap .slide_item {
  opacity: 0;
  transform: scale(1);
  transition: opacity 2s linear, transform 7.5s linear;
  position: relative;
}
#slide_wrap .slide_item:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}
#slide_wrap .slide_item.show_ {
  opacity: 1;
}
#slide_wrap .slide_item.zoom_ {
  transform: scale(1.1);
}
#slide_wrap .slide_item img {
  display: block;
}

/*  ################################################################
  GOOGLE FORM
################################################################# */
 .form-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-top: 100%;
  }
  .responsive-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none;
  }

/*	################################################################
	FOOTER SECTION
################################################################# */
/* Footer */
footer{
	background-color: #000;
	color: white;
  padding: 100px 0;
}
footer p{
	color: #FFF;
  font-size: 11px;
}

footer a{
  color: #FFF;

}

/*  ################################################################
MENU FULL
################################################################# */

input {
  display: none;
}
/*LOGO*/
.pclogo {
  position: fixed;
    z-index: 999999999999;
  top: 0px;
  left: 0px;
  display: block;
  cursor: pointer;
}
/*menuコンテンツ*/
.cp_fullscreenmenu .menu {
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  background-image: linear-gradient(to top, rgba(30,30,30,0.9) 0%, rgba(0,0,0,1) 100%);
  z-index: 9999;
}
.cp_fullscreenmenu .menu ul {
  position: absolute;
  top: 170px;
  left: 50%;
  margin: 0;
  padding: 0;
  list-style-type: none;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.cp_fullscreenmenu .menu ul li {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  opacity: 0;
}
.cp_fullscreenmenu .menu ul li a {
  font-family: 'Montserrat', serif;
  font-size: 1.4em;
  font-weight: 600;
  display: block;
  padding: 10px 0;
  transition: all 0.2s ease-in-out;
  text-align: left;
  text-decoration: none;
  color: #ffffff;
}

.cp_fullscreenmenu .menu ul li a:hover {
  color: rgba(100,100,100 ,1);
}
/*クリックしたらメニューが開閉の動作*/
.cp_fullscreenmenu #toggle:checked ~ .menu {
  visibility: visible;
  opacity: 1;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul {
  top: 70px;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  opacity: 1;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(1) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.05s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(2) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.1s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(3) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.15s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(4) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.2s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(5) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.25s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(6) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.3s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(7) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.35s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(8) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.4s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(9) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.45s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(10) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.5s;
}
.cp_fullscreenmenu #toggle:checked ~ .menu ul li:nth-child(11) {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.3, 1.0) 0.55s;
}

.cp_fullscreenmenu #toggle:checked + label.hamburger .bar {
  background-color: rgba(255,255,255 ,1);
}
.cp_fullscreenmenu #toggle:checked + label.hamburger .bar:nth-child(2) {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
  opacity: 0;
}
.cp_fullscreenmenu #toggle:checked + label.hamburger .bar:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
          transform: translateY(10px) rotate(45deg);
}
.cp_fullscreenmenu #toggle:checked + label.hamburger .bar:nth-child(3) {
  -webkit-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}

/*ハンバーガー*/
.cp_fullscreenmenu .hamburger {
  position: fixed;
    z-index: 99999;
  top: 10px;
  right: 30px;
  display: block;
  cursor: pointer;
}
.cp_fullscreenmenu .hamburger .bar {
  width: 30px;
  height: 3px;
  margin: 8px auto;
  transition: all 0.3s ease-in-out;
  background-color: #D0C181;
}

.cp_fullscreenmenu .hamburger .bar2 {
  width: 40px;
  height: 1px;
  margin: 8px auto;
  transition: all 0.3s ease-in-out;
  background-color: rgba(255,255,255 ,1);
}
/*.cp_fullscreenmenu .hamburger .bar:nth-child(2) {
  width: 40px;
}*/




@media screen and (min-width:991px) {
  .sp{display: none;}
}
@media screen and (max-width:992px) {
  .pc {display: none;}
  .bg_g2 h3{
  font-size: 10vw;
}

}


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

}
@media screen and (max-width:768px) {
.bg_g2 h3{
  font-size: 13vw;
}

  p {
   font-size: 1.4rem;
  line-height: 3.2rem;
}

.cp_fullscreenmenu .menu ul {
  position: absolute;
  top: 170px;
  left: 40%;
  margin: 0;
  padding: 0;
  list-style-type: none;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.cp_fullscreenmenu .hamburger {

  right: 15px;

}
}



/*VIDEO 仮*/

.c-mv {
  aspect-ratio: 9/16;
  height: 100vh;
  position: relative;
  width: 100%;
  min-height: auto;

}

.c-mv__container {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 40px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.c-mv__title {
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  margin: 0;
}

.c-mv__video {
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  opacity: 1;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}

.c-mv__mask {
  background-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 0;
  height: 100%;
  top: 0;
  width: 100%;
  z-index: 2;
}





/*------------------------------------------------
Wp-pagenavi
--------------------------------------------------*/
.wp-pagenavi {
  clear: both;
  font-size:  16px;
}

.wp-pagenavi a, .wp-pagenavi span {
  border: 1px solid #7f7f7f;
  color: #7f7f7f !important;
  display: inline-block;
  margin: 5px 10px 15px 10px;
  padding: 10px 15px;
  text-decoration: none;
}

.wp-pagenavi a:hover {
  -webkit-transition-duration: 200ms;
  -webkit-transition-property: background-color: #ee1c25;
  -webkit-transition-property: color: #ffffff !important;
  -webkit-transition-timing-function: linear;
  -moz-transition-duration: 200ms;
  -moz-transition-property: background-color: #ee1c25;
  -moz-transition-property: color: #ffffff !important;
  -moz-transition-timing-function: linear;
  -o-transition-duration: 200ms;
  -o-transition-property: background-color: #ee1c25;
  -o-transition-property: color: #ffffff !important;
  -o-transition-timing-function: linear;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #000000 !important;
}

.wp-pagenavi span.extend {
  border: none;
  vertical-align: middle;
}

.wp-pagenavi span.current {

  background-color: #ffffff;
  color: #000000;
}

/*wp_youtube*/
iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}



/* 固定ページだけ先頭の余白を潰す */
body.page .site-main,
body.page .content-area,
body.page .entry-content,
body.page .container {
  padding-top: 0 !important;
}

/* ページ本文の最初の要素の margin-top を潰す（h1やカバーブロック対策） */
body.page .entry-content > *:first-child,
body.page .site-main > *:first-child {
  margin-top: 0 !important;
}

/* 「ページヘッダー」用の見出しブロックがあればついでにゼロに */
body.page .page-header,
body.page .c-page-ttl,
body.page .wp-block-post-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}