@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');
body {
	font-family: "Red Hat Display", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	line-height: 2em;
	font-weight: normal;
	font-feature-settings: "palt";
}
p {
	text-align: justify;
	font-size: 16px;
	line-height: 1.75em;
}
.full {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	overflow: hidden;
}
.fullInner {
	width: 1000px;
	margin: 0 auto;
}
.mtSS {
	margin-top: 1rem !important;
}
.mtS {
	margin-top: 2.5rem !important;
}
.mtM {
	margin-top: 5rem !important;
}
.mtL {
	margin-top: 7.5rem !important;
}
.mtLL {
	margin-top: 10rem !important;
}
.mbSS {
	margin-bottom: 1rem !important;
}
.mbS {
	margin-bottom: 2.5rem !important;
}
.mbM {
	margin-bottom: 5rem !important;
}
.mbL {
	margin-bottom: 7.5rem !important;
}
.ptS {
	padding-top: 2.5rem !important;
}
.ptM {
	padding-top: 5rem !important;
}
.ptL {
	padding-top: 7.5rem !important;
}
.ptLL {
	padding-top: 10rem !important;
}
.pbS {
	padding-bottom: 2.5rem !important;
}
.pbM {
	padding-bottom: 5rem !important;
}
.pbL {
	padding-bottom: 7.5rem !important;
}
.pbLL {
	padding-bottom: 10rem !important;
}
.mtSS {
	margin-top: 1rem !important;
}
.mtS {
	margin-top: 2.5rem !important;
}
.mtM {
	margin-top: 5rem !important;
}
.mtL {
	margin-top: 7.5rem !important;
}
.mtLL {
	margin-top: 10rem !important;
}
.mbSS {
	margin-bottom: 1rem !important;
}
.mbS {
	margin-bottom: 2.5rem !important;
}
.mbM {
	margin-bottom: 5rem !important;
}
.mbL {
	margin-bottom: 7.5rem !important;
}
.ptS {
	padding-top: 2.5rem !important;
}
.ptM {
	padding-top: 5rem !important;
}
.ptL {
	padding-top: 7.5rem !important;
}
.ptLL {
	padding-top: 10rem !important;
}
.pbS {
	padding-bottom: 2.5rem !important;
}
.pbM {
	padding-bottom: 5rem !important;
}
.pbL {
	padding-bottom: 7.5rem !important;
}
.pbLL {
	padding-bottom: 10rem !important;
}
.txtC {
	text-align: center;
}
.fade {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}
img{
	vertical-align:top;
}
a:hover {
	opacity: 0.7 !important;
}
.bBold {
	font-weight: 700 !important;
}
.bold {
	font-weight: 600 !important;
}
.medium {
	font-weight: 500 !important;
}
.italic {
	font-style: italic;
}
.mv img {
	width: 100%;
}
.expressWrap {
	background-image: url(../img/bg01.jpg);
	background-size: 100%;
}
.compassWrap {
	background-image: url(../img/bg02.jpg);
	background-size: 100%;
}
.closingWrap {
	background-image: url(../img/bg03.jpg);
	background-size: 100%;
}
.changeWrap {
	background-image: url(../img/bg04.jpg);
	background-size: 100%;
}
.studioWrap {
	background-image: url(../img/bg05.jpg);
	background-size: 100%;
}
.ttlWrapInner {
	display: flex;
	justify-content: space-between;
}
.ttlWrapInner h2 img {
	height: 10em;
}
.castPhoto img {
	width: 25rem;
	margin-top: -1.5rem;
	z-index: 100;
	position: relative;
}
.programWrap {
	position: absolute;
	left: 0;
	bottom: 0;
    width: 100%;
}
.ttlWrap {
	position: relative;
}
.expressWrap .programNameWrap {
	background-image: url("../img/program_bg01.png");
    background-size: 61rem;
    padding: 2rem 6.5rem 1.5rem 6.5rem;
    background-repeat: no-repeat;
}
.compassWrap .programNameWrap {
	background-image: url("../img/program_bg02.png");
    background-size: 61rem;
    padding: 2rem 6.5rem 1.5rem 6.5rem;
    background-repeat: no-repeat;
}
.closingWrap .programNameWrap {
	background-image: url("../img/program_bg03.png");
    background-size: 61rem;
    padding: 2rem 6.5rem 1.5rem 6.5rem;
    background-repeat: no-repeat;
}
.programWrap p {
	width: 85%;
}
.programNameWrap h3 {
	font-size: 2.5rem;
	letter-spacing: normal;
}
.green {
	color: #48bb30;
}
.yellow {
	color: #ffbe00;
}
.orange {
	color: #ff8a00;
}
.programNameWrap p {
	font-size: 1.175rem;
	margin-top: 0.5rem;
}
.expressWrap .programWrap {
	margin-bottom: 1.5rem;
}
.pointCnt {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pointIcon {
	width: 10%;
}
.pointIcon img {
	width: 100%;
}
.pontTxt {
	width: 87.5%;
}
.pontTxt h3 {
	font-size: 1.5rem;
}
.pointTime {
	font-size: 1.125rem;
}
.ttlMin {
	font-size: 1.125rem;
}
.programNameMin {
	color: black;
	font-size: 1.5rem;
}
.dowWrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.dowCnt {
	width: 45%;
	display: flex;
	justify-content: space-between;
	margin-top: 1.5rem;
}
.dowTxt h3 img {
	width: 40%;
}
.castTtl {
	font-size: 0.8rem;
	margin-bottom: -0.5em;
}
.castName {
	font-size: 1.25rem;
}
.txtMin {
	font-size: 0.8rem;
}
.dowTxt {
	width: 60%;
}
.dowCnt .castPhoto {
	width: 37.5%;
}
.dowCnt .castPhoto img {
	width: 100%;
}
.castWrap {
	display: flex;
	justify-content: space-between;
}
.castWrap .castPhoto {
	width: 18.75%;
}
.castWrap .castPhoto img {
	width: 100%;
}
.txtR {
	text-align: right;
}
.white {
	color: white;
}
.changeWrap h2 {
	font-size: 2.5rem;
}
.tableWrap img {
	width: 100%;
}
.studioWrap .fullInner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.studioTxt {
	width: 45%;
}
.studioImgWrap {
	width: 50%;
}
.studioImgWrap img {
	width: 100%;
}
.blue {
	color: #0076ff;
}
.studioTxt h2 {
	font-size: 2rem;
}
footer {
	background-color: #001e5a;
}
@media screen and (max-width: 1024px) {
.fullInner {
	width: 90vw;
}
.ttlWrapInner h2 img {
    height: 9em;
}
}
@media screen and (max-width: 959px) {
.fullInner {
	width: 80vw;
}
.ttlWrapInner h2 {
	height: 12.5vw;
}
.ttlWrapInner h2 img {
	height: 100%;
}
.ttlWrapInner .castPhoto {
	width: 40%;
}
.ttlWrapInner .castPhoto img {
	width: 100%;
}
.programNameWrap p {
    font-size: 1.25rem;
}
.programNameWrap h3 {
	font-size: 2rem;
    letter-spacing: normal;
}
.expressWrap .programNameWrap {
	background-image: url("../img/program_bg01_v2.png");
    background-size: 55rem;
    padding: 1.5rem 6.5rem 1rem 5.5rem;
}
.compassWrap .programNameWrap {
	background-image: url("../img/program_bg02_v2.png");
    background-size: 55rem;
    padding: 1.5rem 6.5rem 1rem 5.5rem;
}
.closingWrap .programNameWrap {
	background-image: url("../img/program_bg03_v2.png");
    background-size: 55rem;
    padding: 1.5rem 6.5rem 1rem 5.5rem;
}
.expressWrap .programWrap {
    margin-bottom: 0.75rem;
}
.compassWrap .programWrap {
    margin-bottom: 0.75rem;
}
.pointIcon {
    width: 17.5%;
}
.pontTxt {
    width: 77.5%;
}
.programNameMin {
    font-size: 1.25rem;
}
.dowTxt h3 img {
    width: 100%;
}
.dowTxt {
    width: 45%;
}
.dowCnt .castPhoto {
    width: 50%;
}
.dowtabsp {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.dowCnt {
	display: unset;
}
.castNameWrap {
	margin-top: 0 !important;
}
.closingWrap .programNameWrap h3 {
	font-size: 1.75rem;
	letter-spacing: normal;
}
.dowCnt {
    width: 47.5%;
}
.studioWrap .fullInner {
	flex-wrap: wrap;
}
.studioTxt, .studioImgWrap {
    width: 100%;
}
.studioImgWrap {
    margin-top: 1rem;
}
.studioTxt h2 {
	text-align: center;
}
.footerBtn {
	width: 50%;
}
.expContentWrap h3 {
    font-size: 1.25rem !important;
}
tbody {
	width: 100% !important;
}
tr {
	width: 100% !important;
}
iframe {
	width: 100% !important;
}
.company-table th {
    width: 16%;
}
.footerLogo {
    width: 20vw !important;
}
}
@media screen and (max-width: 600px) {
.ttlWrapInner {
    display: unset;
}
.ttlWrapInner h2 {
	height: 22vw;
}
.castPhoto img {
    margin-top: 1rem;
}
 .ttlWrapInner .castPhoto {
	 width: 100%;
}
.expressWrap .programNameWrap, .compassWrap .programNameWrap, .closingWrap .programNameWrap {
	background-image: none;
	background-size: 55rem;
	padding: 0;
}
.expressWrap .programWrap, .compassWrap .programWrap, .closingWrap .programWrap {
	margin-bottom: 0;
}
.programNameWrap h3 {
	font-size: 1.8rem;
}
.pointIcon {
	width: 25%;
}
.pontTxt {
	width: 70%;
}
.pointTime {
	margin-top: 0.5rem;
}
.pontTxt h3 {
    margin-bottom: 0.25rem;
}
.pbM {
    padding-bottom: 3rem !important;
}
.ptM {
    padding-top: 3rem !important;
}
.dowCnt {
	width: 100%;
	margin-top: 0 !important;
}
.castNameWrap {
	display: flex;
	justify-content: flex-end;
}
.castTtl {
	margin-right: 1rem;
}
.fullInner {
	width: 87.5vw;
}
.dowTxt h3 img {
	margin-top: 2rem;
}
.castWrap {
    flex-wrap: wrap;
	margin-top: 0 !important;
	justify-content: center;
}
.castWrap .castPhoto {
    width: 47.5%;
}
.castWrap .castPhoto:nth-child(2), .castWrap .castPhoto:nth-child(4) {
   margin-left: 2.5%;
}
.castWrap .castPhoto:nth-child(1), .castWrap .castPhoto:nth-child(3) {
   margin-right: 2.5%;
}
.changeWrap h2 {
    font-size: 2rem;
}
.footerBtn {
	width: 100%;
}
.expressWrap, .compassWrap, .closingWrap, .changeWrap, .studioWrap {
    background-size: 202%;
    background-position: -8.875rem;
}
.expWrap p:nth-child(1) {
	text-align: justify;
}
.expWrap .logo {
    width: 60vw !important;
}
.expWrap h2 {
    font-size: 1.875rem !important;
}
.tIcon {
    width: 4em!important;
    height: 4em !important;
}
.company-table th {
	background: white !important;
	color: #0076ff;
	border: none;
}
.company-table td, .company-table tr {
	border: none !important;
}
iframe {
	height: 200px;
}
.company-table td {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 16px !important;
}
.linkWrap ul {
    flex-wrap: wrap;
}
.linkWrap ul li {
    width: 100%;
	text-align: center;
}
.footerLogo {
	width: 36vw !important;
}
.company-table-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.expContentWrap {
    border-radius: 25px !important;
    padding: 1.5em !important;
}
header {
    padding: 1em !important;
}
.mtM {
    margin-top: 3.5rem !important;
}
}
@media screen and (min-width: 960px) {
.tab {
	display: none;
}
.sp {
	display: none;
}
.tabsp {
	display: none;
}
}
@media screen and (max-width: 959px)and (min-width: 601px) {
.pc {
	display: none;
}
.sp {
	display: none;
}
}
@media screen and (max-width: 600px) {
.pc {
	display: none;
}
.tab {
	display: none;
}
.pctab {
	display: none;
}
}
.txtBlue {
	color: #001e5a;
}
.headerLogo p {
    font-size: 0.8em;
    line-height: 1.25em;
    margin-left: 1em;
}
header {
    border-top: 5px solid #001e5a;
    padding: 1em 2em;
}
.headerLogo img {
    height: 3em;
}
.headerLogo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.expWrap {
	background-color: #f7fafd;
}
.expWrap .logo {
	width: 20vw;
    margin: 0 auto;
}
.expWrap .logo img {
	width: 100%;
}
.expWrap h2 {
	font-size: 2rem;
}
.expContentWrap {
	background-color: white;
	border-radius: 50px;
	padding: 2.5em;
}
.expContentWrap h3 {
	font-size: 1.35rem;
	display: flex;
}
.tIcon {
    display: inline-block;
    width: 36px;
    height: 36px;
    background: url(../img/ttl_icon.png) no-repeat;
	margin-right: 1em;
}
.txtLightBlue {
	color: #0076ff;
}
.txtLarge {
	font-size: 1.25rem;
}
.profileWrap {
	background: linear-gradient(45deg, #001e5a, #0076ff);
}
.profileWrap h2 {
	font-size: 1.5rem;
}
/* コンテナ（背景は既存の親に任せる） */
.company-table-wrap{
  max-width: 920px;
  margin: 0 auto;
  padding: 24px;
  color: white;
}
/* テーブル基本 */
.company-table{
  width: 100%;
  border-collapse: collapse;
}
/* ラベル列 */
.company-table th{
  width: 28%;
  text-align: left;
  vertical-align: top;
  padding: 1.5rem 0;
  font-weight: 500;
  border-bottom: 0.5px solid white;
  white-space: nowrap;
}
/* 値列 */
.company-table td{
  padding: 1.5rem 0;
  border-bottom: 0.5px solid white;
  vertical-align: top;
  line-height: 1.7;
}
/* 小さい画面でラベルを上に */
@media (max-width: 720px){
  .company-table{
    border: 0;
  }
  .company-table tr{
    display: block;
    margin-bottom: 12px;
    border-bottom: 0.5px solid white;
  }
  .company-table th,
  .company-table td{
    display: block;
    width: 100%;
    padding: 10px 12px;
  }
  .company-table th{
    background: transparent;
    white-space: normal;
    font-size: 0.95rem;
  }
  .company-table td{
    padding-top: 6px;
  }
}

/* リストの見た目調整（セル内の箇条書き） */
.company-table .plain-list{
  margin: 0;
}
.company-table .plain-list li{
  margin: 6px 0;
}

/* 小さなアクセント（所在地のリンクなど） */
.company-table a{
  color: var(--accent);
  text-decoration: underline;
}

/* アクセシビリティ用にキャプション非表示クラス */
.visually-hidden{
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: -1px;
}
.indent {
	text-indent: -1em;
	padding-left: 1em;
}
.linkWrap ul {
	display: flex;
	justify-content: center;
}
.linkWrap ul li {
	margin: 0 1rem;
}
.linkWrap ul li a {
	color: #0076ff;
	text-decoration:underline;
}
.footerLogo {
	width: 15vw;
	margin: 0 auto;
}
.footerLogo img {
	width: 100%;
}
.snsWrap ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
.snsWrap ul img {
	width: 4rem;
	margin: 0 1rem;
}
.annotation {
	font-size: 0.8rem;
}