@charset "UTF-8";
/* line 4, event.scss */
aside.index nav {
  display: block;
  margin: 0 3rem;
  text-align: left; }
  /* line 8, event.scss */
  aside.index nav h2 {
    margin-bottom: 1rem;
    line-height: 1; }
  /* line 12, event.scss */
  aside.index nav h3 {
    font-size: 1.5rem;
    padding: 1rem 1rem .5rem 1rem;
    border-bottom: 1px solid var(--bg-color1);
    cursor: pointer; }
  /* line 18, event.scss */
  aside.index nav h3::after {
    font-family: "Font Awesome 5 Free";
    content: '\f067';
    /* sign (+) */
    float: right;
    font-weight: 900;
    font-size: 1.4rem; }
  /* line 26, event.scss */
  aside.index nav h3.active::after {
    font-family: "Font Awesome 5 Free";
    content: "\f068";
    /* sign (-) */
    float: right;
    font-weight: 900;
    font-size: 1.4rem; }
  /* line 34, event.scss */
  aside.index nav h3.open::after {
    font-family: "Font Awesome 5 Free";
    content: '\f068';
    /* sign (-) */
    float: right;
    font-weight: 900;
    font-size: 1.4rem; }
  /* line 42, event.scss */
  aside.index nav h3.open.active::after {
    font-family: "Font Awesome 5 Free";
    content: "\f067";
    /* sign (+) */
    float: right;
    font-weight: 900;
    font-size: 1.4rem; }
  /* line 50, event.scss */
  aside.index nav h3.fix {
    border-top: 1px solid var(--bg-color1); }
  /* line 53, event.scss */
  aside.index nav h3.bt {
    border-top: 2px solid var(--bg-color1); }
  /* line 56, event.scss */
  aside.index nav ul.index {
    display: none;
    font-size: 1.4rem; }
    /* line 60, event.scss */
    aside.index nav ul.index li a {
      padding: .5rem 1.2rem 0 2rem;
      border-bottom: 1px dashed var(--bg-color2); }
      /* line 63, event.scss */
      aside.index nav ul.index li a:hover {
        background: rgba(240, 230, 140, 0.5); }
    /* line 67, event.scss */
    aside.index nav ul.index li a:after {
      font-family: "Font Awesome 5 Free";
      content: "\f054";
      /* sign (>) */
      float: right;
      font-weight: 900;
      font-size: 1.2rem; }
    /* line 77, event.scss */
    aside.index nav ul.index li.bb a {
      border-bottom: 1px solid var(--bg-color1); }
  /* line 82, event.scss */
  aside.index nav ul.open {
    display: block; }
    /* line 85, event.scss */
    aside.index nav ul.open li.active a {
      color: var(--main-color);
      background: #eee; }
/* line 93, event.scss */
aside.index div.bnr {
  position: absolute;
  bottom: 100px;
  left: 80px; }
  /* line 97, event.scss */
  aside.index div.bnr:hover {
    opacity: .7; }
  /* line 100, event.scss */
  aside.index div.bnr img {
    width: 190px;
    box-shadow: 0 0 7px yellowgreen; }

/* line 106, event.scss */
main {
  max-width: 1040px; }

/* line 110, event.scss */
article.event h1 {
  position: relative;
  padding-bottom: .5rem;
  border-bottom: 4px solid var(--bg-color2);
  font-family: var(--font-kana);
  font-size: 2rem;
  letter-spacing: .1rem; }
  /* line 117, event.scss */
  article.event h1::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 1;
    content: '';
    width: 20%;
    height: 4px;
    background: var(--main-color); }
  /* line 127, event.scss */
  article.event h1 span {
    display: block;
    margin-bottom: .5rem;
    font-size: 1.3rem; }
/* line 133, event.scss */
article.event h2 {
  position: relative;
  margin: 3rem 0;
  padding: 1rem 0 .5rem 1rem;
  border-left: 6px solid var(--bg-color2);
  border-top: 1px solid var(--bg-color2);
  border-right: 1px solid var(--bg-color2);
  font-size: 1.8rem;
  letter-spacing: .1rem; }
  /* line 142, event.scss */
  article.event h2::before {
    position: absolute;
    left: -6px;
    bottom: 0;
    content: '';
    width: 6px;
    height: 50%;
    background: var(--accent-color); }
  /* line 151, event.scss */
  article.event h2::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    width: 100%;
    height: 0;
    border-bottom: 1px solid var(--bg-color2); }
/* line 161, event.scss */
article.event h3 {
  font-size: 1.7rem;
  margin: 3rem 0;
  padding: 1rem 0 .5rem 1rem;
  color: var(--main-color);
  border-top: 1px solid;
  border-bottom: 1px solid; }
/* line 169, event.scss */
article.event p {
  margin: 3rem 0; }
/* line 172, event.scss */
article.event div.main {
  width: 100%; }
  /* line 174, event.scss */
  article.event div.main img {
    width: 100%; }
  /* line 177, event.scss */
  article.event div.main ul, article.event div.main ol {
    margin: 3rem 0; }
    /* line 179, event.scss */
    article.event div.main ul li, article.event div.main ol li {
      margin-bottom: 2rem; }
  /* line 183, event.scss */
  article.event div.main p {
    margin-top: 2rem;
    font-size: 1.5rem; }
  /* line 187, event.scss */
  article.event div.main a {
    display: inline-block;
    transition: .5s; }
    /* line 190, event.scss */
    article.event div.main a:hover {
      -webkit-transform: rotateX(360deg);
      transform: rotateX(360deg); }
/* line 196, event.scss */
article.event .em {
  color: firebrick;
  font-weight: bold; }
/* line 200, event.scss */
article.event .mark {
  background: linear-gradient(transparent 60%, khaki 60%); }
/* line 203, event.scss */
article.event ul.frame {
  padding: 2rem;
  background: aliceblue;
  font-size: 1.5rem; }
/* line 208, event.scss */
article.event hr {
  margin: 3rem 0;
  border-top: 1px solid var(--bg-color1); }
  /* line 211, event.scss */
  article.event hr.rel {
    border-top: 1px dashed var(--bg-color2); }
  /* line 214, event.scss */
  article.event hr.last {
    margin: 5rem 0;
    border-top: 1px solid transparent; }
/* line 219, event.scss */
article.event ul.bnr {
  display: flex; }
  /* line 221, event.scss */
  article.event ul.bnr a {
    display: block;
    transition: .3s ease; }
    /* line 224, event.scss */
    article.event ul.bnr a:hover {
      opacity: .7; }
  /* line 228, event.scss */
  article.event ul.bnr li:first-child {
    margin: 0 2rem 0 0; }
  @media screen and (max-width: 640px) {
    /* line 219, event.scss */
    article.event ul.bnr {
      display: block; }
      /* line 233, event.scss */
      article.event ul.bnr li:first-child {
        margin: 0 0 2rem 0; } }

/*index.html*/
/* line 241, event.scss */
section.event {
  display: flex;
  flex-wrap: wrap;
  margin: 3rem 0　7rem; }
  /* line 245, event.scss */
  section.event figure {
    margin-right: 3rem; }
    /* line 247, event.scss */
    section.event figure figcaption {
      font-size: 1.2rem;
      white-space: nowrap;
      color: var(--bg-color1); }
  /* line 253, event.scss */
  section.event table {
    width: calc(100% - 350px); }
    /* line 255, event.scss */
    section.event table caption {
      height: 3rem; }
    /* line 259, event.scss */
    section.event table tr:not(.last-child) {
      border: 1px solid var(--bg-color2); }
    /* line 262, event.scss */
    section.event table tr.last-child {
      text-align: right; }
      /* line 264, event.scss */
      section.event table tr.last-child td {
        height: 50px;
        vertical-align: bottom; }
        /* line 267, event.scss */
        section.event table tr.last-child td a {
          padding: 0.3rem 2rem;
          color: #fff;
          background: var(--accent-color);
          border-radius: 2rem;
          transition: 1s; }
          /* line 273, event.scss */
          section.event table tr.last-child td a:hover {
            opacity: .7;
            box-shadow: 0 0 5px aliceblue; }
    /* line 281, event.scss */
    section.event table th {
      font-weight: normal;
      background: var(--bg-color1);
      color: #fff; }
    /* line 286, event.scss */
    section.event table th, section.event table td {
      padding: 0.25rem 1rem 0;
      line-height: 2; }
    /* line 290, event.scss */
    section.event table .map {
      color: var(--bg-color2);
      float: right; }

    section.event copy{
	font-size: 0.5px;
	letter-spacing:0.5px;}




  @media screen and (max-width: 820px) {
    /* line 241, event.scss */
    section.event {
      display: block; }
      /* line 297, event.scss */
      section.event figure {
        margin-right: 0;
        margin-bottom: 3rem;
        text-align: center; }
      /* line 302, event.scss */
      section.event table {
        width: 100%; } }
  @media screen and (min-width: 1024px) and (max-width: 1140px) {
    /* line 241, event.scss */
    section.event {
      display: block; }
      /* line 308, event.scss */
      section.event figure {
        margin-right: 0;
        margin-bottom: 3rem;
        text-align: center; }
      /* line 313, event.scss */
      section.event table {
        width: 100%; } }

/*各イベント詳細ページ*/
/* line 321, event.scss */
div.main img {
  width: 100%;
  max-width: 650px;
  margin-bottom: 3rem; }

/* line 327, event.scss */
strong {
  font-weight: normal;
  background: linear-gradient(transparent 70%, #fff001 40%); }

/* line 331, event.scss */
div.campaign_instagram {
  background: #eee;
  margin-bottom: 3rem; }
  /* line 334, event.scss */
  div.campaign_instagram p {
    padding: 2rem;
    border-bottom: 1px dashed #aaa; }
  /* line 338, event.scss */
  div.campaign_instagram ul {
    padding: 0rem 2rem 1rem; }
    /* line 340, event.scss */
    div.campaign_instagram ul li {
      margin-bottom: 1rem; }

/* line 345, event.scss */
p.hogo {
  padding: 1rem;
  font-size: 1.4rem;
  text-align: right; }

/* line 350, event.scss */
ul.movie_info {
  list-style: disc inside;
  font-size: 1.5rem; }
  /* line 353, event.scss */
  ul.movie_info li {
    margin-bottom: 1rem;
    text-indent: -2.3rem;
    padding-left: 4rem; }
    /* line 357, event.scss */
    ul.movie_info li a {
      padding: 0 1rem;
      border: 1px solid;
      color: var(--accent-color);
      font-size: 1.3rem;
      margin-left: 1rem; }

/* line 366, event.scss */
a.link {
  color: var(--accent-color);
  border-bottom: 1px dashed; }

/*sponcer.html*/
/* line 372, event.scss */
section.sponcer {
  margin-bottom: 7rem;
  padding: 0 1.6rem; }
  /* line 375, event.scss */
  section.sponcer figure {
    width: 100%; }
    /* line 377, event.scss */
    section.sponcer figure img {
      width: 100%;
      max-width: 300px; }

/*cm.html*/
/* line 385, event.scss */
section.cm {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
  /* line 389, event.scss */
  section.cm iframe {
    width: 100%;
    aspect-ratio: 16/9; }

/*event_archive.html*/
/* line 396, event.scss */
ul.archive {
  padding: 0 1.6rem;
  font-size: 1.4rem; }
  /* line 399, event.scss */
  ul.archive li {
    line-height: 1.5;
    padding: 1rem 0;
    border-bottom: 1px dotted #ccc; }
    /* line 403, event.scss */
    ul.archive li .date {
      display: inline;
      margin-right: 1rem; }
    /* line 407, event.scss */
    ul.archive li .n_sponcer {
      float: right;
      height: 1.8rem;
      line-height: 1.8rem;
      margin-left: 1rem;
      padding: 0 .5rem;
      font-size: 1.1rem;
      border: 1px solid;
      border-radius: 3px; }
    /* line 417, event.scss */
    ul.archive li .youtube a {
      margin-left: .5rem;
      padding: 0 5px;
      font-size: 1.1rem;
      color: crimson;
      border: 1px solid crimson;
      border-radius: 3px; }
      /* line 424, event.scss */
      ul.archive li .youtube a:hover {
        color: #fff;
        background: crimson; }
    /* line 429, event.scss */
    ul.archive li .kaisai {
      height: 1.8rem;
      line-height: 1.8rem;
      margin-left: .5rem;
      padding: 0 .5rem;
      font-size: 1.1rem;
      color: #fff;
      background: #666; }

/* line 440, event.scss */
h6 {
  padding: 1rem 1.6rem;
  border-bottom: 1px solid var(--bg-color1);
  cursor: pointer; }

/* line 445, event.scss */
h6::after {
  font-family: "Font Awesome 5 Free";
  content: '\f067';
  /* sign (+) */
  float: right;
  font-weight: 900;
  font-size: 1.4rem; }

/* line 453, event.scss */
h6.active::after {
  font-family: "Font Awesome 5 Free";
  content: "\f068";
  /* sign (-) */
  float: right;
  font-weight: 900;
  font-size: 1.4rem; }

/* line 461, event.scss */
h6.open::after {
  font-family: "Font Awesome 5 Free";
  content: '\f068';
  /* sign (-) */
  float: right;
  font-weight: 900;
  font-size: 1.4rem; }

/* line 469, event.scss */
h6.open.active::after {
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  /* sign (+) */
  float: right;
  font-weight: 900;
  font-size: 1.4rem; }

/* line 477, event.scss */
.hochi ul.index {
  display: none;
  margin-bottom: 2rem; }


/*社員旅行ページ*/
.ct {
	text-align: center;
	margin: 20px;
}

.ct:hover{
	opacity: 0.5;
}

.ct img{
    filter: drop-shadow(5px 5px 5px #aaa);
}
	

@media screen and (max-width: 820px) {
	 
 .ct img{
	 width:100%;
}
	
}

/*42cp2pキャンペーン*/

.top img{
	max-width: 100%;
	margin: 0 auto;
}

.div top{
	text-align: center;
}

.cp_title_42cp2p{
	text-align: center;
	font-size: 1.75em;
	font-weight: 900;
	color: #BF1738;
	margin: 25px 0;
}

.so_link{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px; 
	margin: 50px 0 100px;
}

.so_link li{
	width: 32%;
}

.so_link img{
	max-width: 100%;
}

.so_link a:hover{
	opacity: 0.7;
}

.so{
	background: #FFF;
	border: 6px solid var(--accent-color);
	margin-bottom: 50px;
}

.so a{
	color: var(--accent-color);
}

.so p{
	text-align: center;
	margin: 30px 0 25px;
}

.so img{
	max-width: 100%;
}

.sp {
    display: none;
}

.case {
	display: flex;
	align-items: center;
	border: 4px solid #0071BC;
	margin: -5px;
	padding: 0 20px 0 50px; 
}

.case .number{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 75px;
	height: 75px;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 0.75em;
	color: #fff;
	background: #BF1738;
	font-weight: 700;
	padding-top: 7px;
	margin-right: 15px;
	top: -15px;
	position: relative;
}

.case .number span{
	font-size: 3em;
}

.case .title{
	font-size: 1.5em;
	font-weight: 900;
}

.content{
	padding: 35px 25px 0px;
}

.content .title{
	text-align: center;
	font-size: 1em;
	font-weight: 700;
	margin-top: 30px;
}

.content .text{
	text-align: center;
	font-size: 1.25em;
	font-weight: 700;
	color: var(--accent-color);
	margin: 30px 0;
}

.content .ps{
	background-color: aliceblue;
}

.content .ps ul{
	display: flex;
	justify-content: space-between;	
	padding: 20px;
}

.content .ps li{
	display: flex;
	flex-direction: column;
	width: 45%;
}

.content .ps p{
	font-size: 0.75em;
	text-align: center;
	line-height: 1.75em;
}

.content .ps_2,.ps_3{
	display: flex;
	justify-content: center;
	gap: 0 10px; 
	margin-top: 20px;
}

.content .ps_2,.ps_3 .item img {
	max-width: 100%;
	overflow: hidden;
	position: relative;
 }

.content .ps_2 a:hover{
	opacity: 0.7;
}

.content .ps_3 a:hover{
	opacity: 0.7;
}

.syousai {
	text-align: center;
	color: #FFF;
	background-color: var(--accent-color);
	padding: 10px 0;
}

/*42cp2pキャンペーン* レスポンシブ*/
@media screen and (max-width: 620px){
	
.pc{display: none;}
.sp{display: block;}
	
}

@media screen and (max-width: 820px) {
	 	
.so_link{
	flex-wrap: wrap;
	margin:  30px;
	gap: 20px;
	
}
.so_link li{
	width: 31%;
}

.case{
	display:block;
	padding:0 20px;
}
	

.case .number{
	display:block;
	width:50%;
	height: 100%;
	text-align:center;
	font-size:1em;
	padding: 5px;
	margin:auto;
}
	
.case .number span{
	font-size: 1em;
}
.case .title{
	font-size:1.25em;
	margin-top:-10px;
	
}

.content .ps ul{
	flex-wrap: wrap;
	gap: 10px;
}

.content .text{
	font-size: 1em;
	text-align:left;
	
}
.content .ps_2,.ps_3{
	flex-wrap: wrap;
	gap:10px;
}
.content .ps_2 a{
	width:35%;
}
	
}

/*透流水ご利用規約*/

.kiyaku{
	margin: 50px 80px ;
	border: 2px solid #D9394E;
}

.kiyaku p{
	text-align: center;
	padding: 5px 0;
	color: #D9394E;
}

