@charset "UTF-8";
/* RESET */
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;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  transition: all 0.4s ease-out; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

ul {
  list-style-type: none; }

ol {
  list-style-type: decimal; }

.forPC {
  display: block; }

.forSP {
  display: none; }

@media screen and (max-width: 768px) {
  .forPC {
    display: none; }

  .forSP {
    display: block; } }
img {
  width: 100%; }

html {
  font-size: 0.833333333333333vw;
  scroll-behavior: smooth; }

@media screen and (max-width: 768px) {
  html {
    font-size: 1.3333333333vw; } }
@media screen and (min-width: 1200px) {
  html {
    font-size: 10px; } }
html {
  overflow-x: hidden;
  overflow-y: auto; }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #512D5D;
  overflow-x: clip;
  background: #FFFAE9; }

a {
  text-decoration: none;
  transition: all 0.4s ease; }
  @media (hover: hover) {
    a:hover {
      opacity: 0.7; } }
  a:visited {
    color: inherit; }

article {
  width: 100%;
  position: relative;
  /*
  &::after {
  	content:'';
  	width:100%;
  	height:100%;
  	background:url("../images/texture.webp") repeat;
  	background-size:100%;
  	background-position:top center;
  	z-index:2;
  	position:absolute;
  	top:0;
  	left:0;
  	pointer-events: none;
  }
  .top_article_inner {
  	width:100rem;
  	height:100%;
  	position:absolute;
  	top:0;
  	left:50%;
  	transform: translateX(-50%);
  	z-index: 8;
  	
  	@media screen and (max-width: 768px) {
  		width:100%;	
  	}
  	
  	.top_article_inner_iner {
  		width:100%;
  		height:100%;
  		position:relative;
  		
  		&::after {
  			content:'';
  			width:172.606rem;
  			height:453.048rem;
  			position:absolute;
  			top:12rem;
  			left:-39.5rem;
  			background:url("../images/kumo_top.png") no-repeat;
  			background-size:contain;
  			
  			@media screen and (max-width: 768px) {
  				width:vw(1104.87);
  				height:vw(8416.97);
  				background:url("../images/kumo_top_sp.png") no-repeat;
  				background-size:vw(1104.87);
  				top:1vw;
  				left:-21vw;
  			}
  		}
  	}
  }
  
  .about_article_inner {
  	width:100rem;
  	height:100%;
  	position:absolute;
  	top:0;
  	left:50%;
  	transform: translateX(-50%);
  	
  	@media screen and (max-width: 768px) {
  		width:100%;	
  	}
  	
  	.about_article_inner_iner {
  		width:100%;
  		height:100%;
  		position:relative;
  		
  		&::after {
  			content:'';
  			width:136.258rem;
  			height:24.7631rem;
  			position:absolute;
  			top:18rem;
  			left:-18rem;
  			background:url("../images/kumo_about.png") no-repeat;
  			background-size:contain;
  			
  			@media screen and (max-width: 768px) {
  				width:vw(1105.16);
  				height:vw(3414.93);
  				background:url("../images/kumo_about_sp.png") no-repeat;
  				background-size:vw(1105.16);
  				top: 1vw;
          			left: -24vw;
  			}
  		}
  	}
  }
  */ }
  article .campaign_article_inner {
    width: 100rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      article .campaign_article_inner {
        width: 100%; } }
    article .campaign_article_inner .campaign_article_inner_iner {
      width: 100%;
      height: 100%;
      position: relative; }
      article .campaign_article_inner .campaign_article_inner_iner::after {
        content: '';
        width: 161.405rem;
        height: 132.595rem;
        position: absolute;
        top: 17rem;
        left: -32rem;
        background: url("../images/kumo_campaign.png") no-repeat;
        background-size: contain; }
        @media screen and (max-width: 768px) {
          article .campaign_article_inner .campaign_article_inner_iner::after {
            width: 130.68524vw;
            height: 344.8693333333vw;
            background: url("../images/kumo_campaign_sp.png") no-repeat;
            background-size: 130.68524vw;
            top: 60vw;
            left: -15vw;
            z-index: 3; } }
  article .post_article_inner {
    width: 100rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      article .post_article_inner {
        width: 100%; } }
    article .post_article_inner .post_article_inner_iner {
      width: 100%;
      height: 100%;
      position: relative; }
      article .post_article_inner .post_article_inner_iner::after {
        content: '';
        width: 159.011rem;
        height: 100.57239rem;
        position: absolute;
        top: 2rem;
        left: -32rem;
        background: url("../images/kumo_post.png") no-repeat;
        background-size: 159.011rem; }
        @media screen and (max-width: 768px) {
          article .post_article_inner .post_article_inner_iner::after {
            width: 132.38vw;
            height: 353.1023466667vw;
            background: url("../images/kumo_post_sp.png") no-repeat;
            background-size: 132.38vw;
            top: 2vw;
            left: -15vw;
            z-index: 3; } }
  article .projects_article_inner {
    width: 100rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      article .projects_article_inner {
        width: 100%; } }
    article .projects_article_inner .projects_article_inner_iner {
      width: 100%;
      height: 100%;
      position: relative; }
      article .projects_article_inner .projects_article_inner_iner::after {
        content: '';
        width: 181.752rem;
        height: 360.939rem;
        position: absolute;
        top: 4rem;
        left: -35rem;
        background: url("../images/kumo_projects.png") no-repeat;
        background-size: 181.752rem; }
        @media screen and (max-width: 768px) {
          article .projects_article_inner .projects_article_inner_iner::after {
            width: 53.8612vw;
            height: 750.28848vw;
            background: url("../images/kumo_projects_sp.png") no-repeat;
            background-size: 51.3333333333vw;
            top: 703vw;
            left: auto;
            right: -11vw;
            z-index: 3; } }
  article .stories_article_inner {
    width: 100rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      article .stories_article_inner {
        width: 100%; } }
    article .stories_article_inner .stories_article_inner_iner {
      width: 100%;
      height: 100%;
      position: relative; }
      article .stories_article_inner .stories_article_inner_iner::after {
        content: '';
        width: 171.926rem;
        height: 42.8463rem;
        position: absolute;
        top: 17rem;
        left: -36rem;
        background: url("../images/kumo_stories.png") no-repeat;
        background-size: 171.926rem; }
        @media screen and (max-width: 768px) {
          article .stories_article_inner .stories_article_inner_iner::after {
            display: none; } }

section[id],
div[id] {
  scroll-margin-top: 5.4rem; }
  @media screen and (max-width: 768px) {
    section[id],
    div[id] {
      scroll-margin-top: 13.3333333333vw; } }

header.pageHeader {
  width: 100%;
  height: 5.4rem;
  background: #fff; }
  @media screen and (max-width: 768px) {
    header.pageHeader {
      height: 13.3333333333vw; } }
  @media screen and (max-width: 768px) {
    header.pageHeader.open {
      position: fixed;
      z-index: 100;
      top: 0; } }
  header.pageHeader > .inner {
    width: 100%;
    max-width: 1240px;
    padding: 0 20px;
    height: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 768px) {
      header.pageHeader > .inner {
        padding: 0 4.6666666667vw; } }
    header.pageHeader > .inner h1 {
      position: relative;
      display: flex;
      flex-direction: row;
      gap: 1.5rem; }
      @media screen and (max-width: 768px) {
        header.pageHeader > .inner h1 {
          gap: 2.6666666667vw; } }
    header.pageHeader > .inner .logo {
      position: relative;
      display: block;
      width: 14.5rem;
      margin-top: .5rem; }
      @media screen and (max-width: 768px) {
        header.pageHeader > .inner .logo {
          width: 32vw; } }
    header.pageHeader > .inner .metoro_logo {
      position: relative;
      display: block;
      width: 14.7rem;
      margin-top: .5rem; }
      @media screen and (max-width: 768px) {
        header.pageHeader > .inner .metoro_logo {
          width: 32.2666666667vw; } }
    header.pageHeader > .inner ul.language {
      background: url("../images/ico_globe.webp") no-repeat #512D5D;
      background-size: 2.14795rem;
      background-position: left 0.8rem center;
      width: 12.6rem;
      height: 100%;
      padding-left: 3.7rem;
      padding-right: 1.3rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 768px) {
        header.pageHeader > .inner ul.language {
          display: none; } }
      header.pageHeader > .inner ul.language li {
        position: relative;
        color: #fff;
        font-size: 2.99rem;
        font-weight: 400;
        display: flex;
        height: 100%;
        align-items: center; }
        header.pageHeader > .inner ul.language li:first-child::after {
          content: '/';
          position: absolute;
          top: 50%;
          right: -0.9rem;
          font-size: 2.2rem;
          transform: translateY(-50%); }
        header.pageHeader > .inner ul.language li a {
          font-size: 2.6rem;
          font-weight: 400;
          color: #fff;
          line-height: 1;
          display: flex;
          height: 100%;
          align-items: center; }
          header.pageHeader > .inner ul.language li a.current {
            font-weight: 700;
            text-decoration: underline; }
          header.pageHeader > .inner ul.language li a:visited {
            color: #fff; }

nav ul.mainmenu {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (max-width: 768px) {
    nav ul.mainmenu {
      width: 82.6666666667vw;
      margin: 5.8vw auto auto;
      flex-direction: column; } }
  nav ul.mainmenu li {
    height: 1.7rem;
    border-right: 0.1439rem solid #512D5D; }
    @media screen and (max-width: 768px) {
      nav ul.mainmenu li {
        height: 15.8vw;
        border-right: none;
        background: url("../images/menu_sp_border.webp") no-repeat;
        background-size: 100%;
        background-position: bottom left;
        width: 100%; } }
    nav ul.mainmenu li:last-of-type {
      border-right: none; }
    nav ul.mainmenu li a {
      font-size: 1.5rem;
      font-weight: 700;
      color: #512D5D;
      padding: 0 0.9rem;
      width: auto;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 768px) {
        nav ul.mainmenu li a {
          font-size: 4.9333333333vw;
          width: 100%; } }
      nav ul.mainmenu li a:visited {
        color: #512D5D; }

.kv,
.kv figure {
  position: relative;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important; }

section {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0; }
  section .inner {
    position: relative;
    z-index: 10; }

section.news {
  background: #512d5d;
  margin-top: -0.4rem;
  padding: 4rem 0 5rem; }
  @media screen and (max-width: 768px) {
    section.news {
      margin-top: -0.5333333333vw;
      padding: 8.6666666667vw 0 10vw; } }
  section.news .inner {
    width: 92.4rem;
    margin: auto; }
    @media screen and (max-width: 768px) {
      section.news .inner {
        width: 82.6666666667vw; } }
    section.news .inner h2 {
      font-size: 3.6rem;
      font-weight: 700;
      background: url("../images/h2_bg.png") repeat-x;
      background-size: auto 1rem;
      background-position: center center;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 2rem;
      color: #fff; }
      @media screen and (max-width: 768px) {
        section.news .inner h2 {
          font-size: 7.2vw;
          background: url("../images/h2_bg.png") repeat-x;
          background-size: auto 1.3333333333vw;
          background-position: center center; } }
      section.news .inner h2 span {
        padding: 0 1.6rem;
        background: #512d5d; }
    section.news .inner dl {
      width: 100%;
      padding: 0 5.2rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 768px) {
        section.news .inner dl {
          padding: 0 4.2666666667vw;
          flex-direction: column;
          row-gap: 2.6666666667vw; } }
      section.news .inner dl dt {
        width: 14.8rem;
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        @media screen and (max-width: 768px) {
          section.news .inner dl dt {
            width: 100%; } }
        section.news .inner dl dt span.cat {
          width: 10rem;
          height: 4rem;
          background: url("../images/news_dt_bg.png") no-repeat;
          background-size: contain;
          font-size: 1.5rem;
          font-weight: 900;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 768px) {
            section.news .inner dl dt span.cat {
              width: 20.4vw;
              height: 8vw;
              font-size: 3.2vw; } }
        section.news .inner dl dt span.date {
          color: #fff;
          font-size: 1.8rem;
          font-weight: 900; }
          @media screen and (max-width: 768px) {
            section.news .inner dl dt span.date {
              font-size: 3.7333333333vw; } }
      section.news .inner dl dd {
        width: 80rem;
        font-size: 1.8rem;
        font-weight: 900;
        color: #ffffff;
        position: relative;
        z-index: 10; }
        @media screen and (max-width: 768px) {
          section.news .inner dl dd {
            width: 100%;
            font-size: 3.6vw; } }
        section.news .inner dl dd a {
          color: #ffffff; }

section.intro .inner {
  width: 92.4rem;
  margin: auto;
  padding: 6.5rem 0 6.5rem; }
  @media screen and (max-width: 768px) {
    section.intro .inner {
      width: 86.6666666667vw;
      padding: 24vw 0 24vw !important; } }
  section.intro .inner h2 {
    width: 32.5rem;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      section.intro .inner h2 {
        width: 100%; } }
  section.intro .inner p.lead {
    font-size: 1.8rem;
    line-height: 3.5rem;
    font-weight: 700;
    text-align: center;
    margin-top: 2.0rem; }
    @media screen and (max-width: 768px) {
      section.intro .inner p.lead {
        font-size: 3.8666666667vw;
        line-height: 8.2666666667vw;
        font-feature-settings: "palt";
        margin-top: 4vw; } }

h2.common {
  width: 54.54rem;
  height: 10.8rem;
  background: url("../images/bg_h2_common.webp") no-repeat;
  background-size: contain;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 3.8rem;
  font-weight: 700;
  color: #fff;
  margin: auto auto 4rem; }
  @media screen and (max-width: 768px) {
    h2.common {
      width: 82.32vw;
      height: 23.04vw;
      background: url("../images/bg_h2_common_sp.webp") no-repeat;
      background-size: contain;
      font-size: 6.96vw;
      row-gap: 1vw;
      padding-bottom: 2vw;
      margin: auto auto 8vw; } }
  @media screen and (max-width: 768px) {
    h2.common.business {
      font-size: 6.96vw;
      line-height: 8.76vw;
      text-align: center;
      margin-bottom: 10.6666666667vw; } }
  h2.common span {
    font-size: 1.8rem; }
    @media screen and (max-width: 768px) {
      h2.common span {
        font-size: 3.36vw; } }

p.lead.common {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 700;
  text-align: center; }
  @media screen and (max-width: 768px) {
    p.lead.common {
      font-size: 3.7333333333vw;
      line-height: 6.9333333333vw;
      text-align: justify; } }

p.soon_txt {
  position: relative;
  margin: auto;
  font-size: 1.8rem;
  color: #512D5D;
  font-weight: 700;
  text-align: center; }
  @media screen and (max-width: 768px) {
    p.soon_txt {
      font-size: 4.5vw; } }

.btnBox {
  display: flex;
  justify-content: center;
  gap: 4.6rem; }
  @media screen and (max-width: 768px) {
    .btnBox {
      width: 38rem;
      margin: auto;
      flex-direction: column;
      row-gap: 1.2rem; } }

p.btn {
  width: 25.3615rem;
  height: 6.00459rem;
  background: url("../images/bg_btn.webp") no-repeat;
  background-size: contain; }
  @media screen and (max-width: 768px) {
    p.btn {
      width: 50.7229333333vw;
      height: 12.0091866667vw;
      background: url("../images/bg_btn_sp.webp") no-repeat;
      background-size: contain; } }
  p.btn a {
    font-size: 1.6rem;
    font-weight: 500;
    color: #512D5D;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1rem;
    transition: all 0.4s ease; }
    @media screen and (max-width: 768px) {
      p.btn a {
        font-size: 3.2vw; } }
    p.btn a:hover {
      color: #fff;
      background: url("../images/bg_btn_hover.png") no-repeat;
      background-size: contain;
      opacity: 1; }
    p.btn a span {
      width: 0.70153rem;
      height: 1.33928rem;
      transition: all 0.4s ease;
      background-image: url("data:image/svg+xml,%3Csvg id='_繝ｬ繧､繧｢繧ｦ繝・' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.81 13.72'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-1,.cls-2%7Bstroke-width:0px;%7D.cls-2%7Bfill:%23512d5d;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-2' d='M.71.02c-.1-.03-.22-.03-.32,0-.1.02-.18.08-.25.16-.07.08-.11.17-.12.27-.02.1-.03.21,0,.31.04.1.12.19.2.27L1,.19c-.09-.08-.19-.14-.29-.17Z'/%3E%3Cpath class='cls-2' d='M5.98,4.8c-.18-.16-.27.02-.44-.14-.18-.16-.16-.38-.34-.54-.18-.16-.23-.1-.4-.26-.18-.16-.06-.29-.24-.45-.18-.16-.32-.09-.49-.25-.18-.16-.35.15-.53-.01-.18-.16.05-.46-.12-.62-.18-.16-.29-.12-.46-.28-.18-.16.06-.3-.11-.46-.18-.16-.35.02-.52-.14-.18-.16-.15-.18-.33-.34-.18-.16-.06-.31-.24-.46-.18-.16-.38.02-.56-.14-.18-.16-.18-.49-.19-.5L.24,1.03s.31.12.48.28c.18.16.08.26.25.42.18.16.28.04.46.2.18.16.05.3.22.46s.34-.13.52.03c.18.16.15.29.33.45.17.16.1.2.27.36.18.16.29.08.46.24.18.16.02.34.19.5s.34-.03.51.13c.18.16.12.22.3.38.18.16.1.24.28.4.18.16.35-.07.53.09.18.16.04.35.21.51.18.16.25.08.42.24.18.16.09.34.22.46l.76-.84c-.13-.12-.21,0-.39-.15-.18-.16-.12-.22-.29-.38Z'/%3E%3Cpath class='cls-2' d='M1.63,12.81c.18-.18,0-.27.18-.45s.4-.16.58-.33c.18-.18.12-.23.3-.41.18-.18.3-.06.48-.24.18-.18.12-.32.29-.5s-.12-.37.05-.54.47.07.65-.11.15-.29.32-.47c.18-.18.3.07.48-.1s0-.35.18-.53.2-.16.38-.33c.18-.18.32-.06.49-.23s0-.39.19-.57.51-.17.52-.18l-.8-.8s-.15.31-.32.49-.28.08-.45.25c-.18.18-.07.29-.24.47-.18.18-.31.04-.48.22s.11.35-.07.53c-.18.18-.31.15-.49.33-.18.18-.22.09-.39.27-.18.18-.1.29-.28.47-.18.18-.35,0-.53.19s0,.35-.17.52c-.18.18-.23.12-.41.29-.18.18-.25.1-.43.28-.18.18.04.36-.13.54-.18.18-.36.03-.53.21-.18.18-.1.25-.28.43s-.35.08-.49.22l.8.8c.13-.13,0-.22.19-.4.18-.18.24-.11.42-.29Z'/%3E%3Cpath class='cls-2' d='M.41,13.71c.1.02.21,0,.32-.04.1-.04.21-.09.29-.17l-.8-.8c-.08.08-.16.19-.19.29-.04.11-.04.22-.02.32.02.1.07.19.14.27.07.07.17.12.26.14Z'/%3E%3Cpath class='cls-2' d='M6.86,7.56l.02-.03.03-.03.06-.05.05-.05.02-.03.02-.03v-.02s.01-.02.01-.02v-.03s0-.04,0-.04v-.04s-.02-.07-.02-.07v-.04s0-.02,0-.02v-.02s.01-.02.01-.02v-.02s.03-.03.03-.03l.06-.05.03-.03.03-.03.02-.03v-.02s.01-.02.01-.02v-.03s0-.03,0-.03v-.06s-.01-.06-.01-.06v-.06s0-.02,0-.02v-.02s-.02-.03-.02-.03l-.02-.03-.03-.03-.06-.07-.02-.03v-.02s-.01-.02-.01-.02v-.02s0-.02,0-.02v-.03s.02-.07.02-.07v-.03s.02-.03.02-.03v-.03s0-.02,0-.02v-.02s-.04-.07-.04-.07l-.04-.07s-.06-.09-.08-.13h0s-.01-.03-.01-.03l-.02-.02h-.03s-.03-.02-.03-.02l-.05-.02-.03-.02h-.01s-.01-.02-.01-.02h0s0-.03,0-.03v-.04s-.02-.06-.02-.09v-.04s-.01-.04-.01-.04v-.02s-.01-.02-.01-.02v-.02s-.02-.01-.02-.01l-.38.42-.19.21-.19.21.02.02h.02s.02.02.02.02h0s0,.01,0,.01h0s0,.01,0,.01h.02s.05.02.05.02h.03s.01.02.01.02h.01s.01.02.01.02h.01s.01.03.01.03v.02s.05.08.08.12c.01.02.03.05.04.07v.03s.02.03.02.03v.02s0,.02,0,.02v.02s-.01.02-.01.02l-.02.03-.02.03-.04.04-.02.02h0s0,.02,0,.02h0s0,.02,0,.02h0s0,.01,0,.01h-.02s-.03.01-.03.01h-.05s-.02.02-.02.02h0s0,.02,0,.02l-.02.02-.02.02s-.03.03-.05.04l.2.2.2.2.4.4.02-.02.02-.03.03-.06.03-.07.02-.03.02-.03Z'/%3E%3Cpolygon class='cls-1' points='5.52 6.6 7.05 4.92 8.81 6.52 7.13 8.2 5.52 6.6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center top 0.3rem;
      background-size: contain; }
      @media screen and (max-width: 768px) {
        p.btn a span {
          width: 1.4029333333vw;
          height: 2.67856vw;
          background-position: center top 0.6vw;
          background-size: 1.4029333333vw; } }

p.btn a:hover span {
  background-image: url("data:image/svg+xml,%3Csvg id='_繝ｬ繧､繧｢繧ｦ繝・' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.81 13.72'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-1,.cls-2%7Bstroke-width:0px;%7D.cls-2%7Bfill:%23FFFFFF;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-2' d='M.71.02c-.1-.03-.22-.03-.32,0-.1.02-.18.08-.25.16-.07.08-.11.17-.12.27-.02.1-.03.21,0,.31.04.1.12.19.2.27L1,.19c-.09-.08-.19-.14-.29-.17Z'/%3E%3Cpath class='cls-2' d='M5.98,4.8c-.18-.16-.27.02-.44-.14-.18-.16-.16-.38-.34-.54-.18-.16-.23-.1-.4-.26-.18-.16-.06-.29-.24-.45-.18-.16-.32-.09-.49-.25-.18-.16-.35.15-.53-.01-.18-.16.05-.46-.12-.62-.18-.16-.29-.12-.46-.28-.18-.16.06-.3-.11-.46-.18-.16-.35.02-.52-.14-.18-.16-.15-.18-.33-.34-.18-.16-.06-.31-.24-.46-.18-.16-.38.02-.56-.14-.18-.16-.18-.49-.19-.5L.24,1.03s.31.12.48.28c.18.16.08.26.25.42.18.16.28.04.46.2.18.16.05.3.22.46s.34-.13.52.03c.18.16.15.29.33.45.17.16.1.2.27.36.18.16.29.08.46.24.18.16.02.34.19.5s.34-.03.51.13c.18.16.12.22.3.38.18.16.1.24.28.4.18.16.35-.07.53.09.18.16.04.35.21.51.18.16.25.08.42.24.18.16.09.34.22.46l.76-.84c-.13-.12-.21,0-.39-.15-.18-.16-.12-.22-.29-.38Z'/%3E%3Cpath class='cls-2' d='M1.63,12.81c.18-.18,0-.27.18-.45s.4-.16.58-.33c.18-.18.12-.23.3-.41.18-.18.3-.06.48-.24.18-.18.12-.32.29-.5s-.12-.37.05-.54.47.07.65-.11.15-.29.32-.47c.18-.18.3.07.48-.1s0-.35.18-.53.2-.16.38-.33c.18-.18.32-.06.49-.23s0-.39.19-.57.51-.17.52-.18l-.8-.8s-.15.31-.32.49-.28.08-.45.25c-.18.18-.07.29-.24.47-.18.18-.31.04-.48.22s.11.35-.07.53c-.18.18-.31.15-.49.33-.18.18-.22.09-.39.27-.18.18-.1.29-.28.47-.18.18-.35,0-.53.19s0,.35-.17.52c-.18.18-.23.12-.41.29-.18.18-.25.1-.43.28-.18.18.04.36-.13.54-.18.18-.36.03-.53.21-.18.18-.1.25-.28.43s-.35.08-.49.22l.8.8c.13-.13,0-.22.19-.4.18-.18.24-.11.42-.29Z'/%3E%3Cpath class='cls-2' d='M.41,13.71c.1.02.21,0,.32-.04.1-.04.21-.09.29-.17l-.8-.8c-.08.08-.16.19-.19.29-.04.11-.04.22-.02.32.02.1.07.19.14.27.07.07.17.12.26.14Z'/%3E%3Cpath class='cls-2' d='M6.86,7.56l.02-.03.03-.03.06-.05.05-.05.02-.03.02-.03v-.02s.01-.02.01-.02v-.03s0-.04,0-.04v-.04s-.02-.07-.02-.07v-.04s0-.02,0-.02v-.02s.01-.02.01-.02v-.02s.03-.03.03-.03l.06-.05.03-.03.03-.03.02-.03v-.02s.01-.02.01-.02v-.03s0-.03,0-.03v-.06s-.01-.06-.01-.06v-.06s0-.02,0-.02v-.02s-.02-.03-.02-.03l-.02-.03-.03-.03-.06-.07-.02-.03v-.02s-.01-.02-.01-.02v-.02s0-.02,0-.02v-.03s.02-.07.02-.07v-.03s.02-.03.02-.03v-.03s0-.02,0-.02v-.02s-.04-.07-.04-.07l-.04-.07s-.06-.09-.08-.13h0s-.01-.03-.01-.03l-.02-.02h-.03s-.03-.02-.03-.02l-.05-.02-.03-.02h-.01s-.01-.02-.01-.02h0s0-.03,0-.03v-.04s-.02-.06-.02-.09v-.04s-.01-.04-.01-.04v-.02s-.01-.02-.01-.02v-.02s-.02-.01-.02-.01l-.38.42-.19.21-.19.21.02.02h.02s.02.02.02.02h0s0,.01,0,.01h0s0,.01,0,.01h.02s.05.02.05.02h.03s.01.02.01.02h.01s.01.02.01.02h.01s.01.03.01.03v.02s.05.08.08.12c.01.02.03.05.04.07v.03s.02.03.02.03v.02s0,.02,0,.02v.02s-.01.02-.01.02l-.02.03-.02.03-.04.04-.02.02h0s0,.02,0,.02h0s0,.02,0,.02h0s0,.01,0,.01h-.02s-.03.01-.03.01h-.05s-.02.02-.02.02h0s0,.02,0,.02l-.02.02-.02.02s-.03.03-.05.04l.2.2.2.2.4.4.02-.02.02-.03.03-.06.03-.07.02-.03.02-.03Z'/%3E%3Cpolygon class='cls-1' points='5.52 6.6 7.05 4.92 8.81 6.52 7.13 8.2 5.52 6.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top 0.3rem;
  background-size: contain; }

p.link_text a {
  display: inline;
  margin: auto;
  padding-right: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: underline;
  background-image: url("../images/arrow_next.webp");
  background-repeat: no-repeat;
  background-size: 0.6666rem;
  background-position: top 0.7rem right;
  transition: all 0.4s ease;
  color: #512D5D; }
  @media screen and (max-width: 768px) {
    p.link_text a {
      font-size: 4vw;
      background-size: 1.6665333333vw;
      background-position: top 1.4rem right;
      padding-right: 1em; } }
  p.link_text a:hover {
    background: url("../images/arrow_next.webp") #fff;
    background-repeat: no-repeat;
    background-size: 0.6666rem;
    background-position: top 0.7rem right;
    opacity: 1; }
  p.link_text a:visited {
    color: #512D5D; }
p.link_text span {
  display: inline;
  margin: auto;
  padding-right: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: underline;
  background-image: url("../images/arrow_next.webp");
  background-repeat: no-repeat;
  background-size: 0.6666rem;
  background-position: top 0.7rem right; }
  @media screen and (max-width: 768px) {
    p.link_text span {
      font-size: 4vw;
      background-size: 1.6665333333vw;
      background-position: top 1.4rem right;
      padding-right: 1em; } }
p.link_text.back-btn a {
  display: inline;
  margin: auto;
  padding-left: 1.5rem;
  padding-right: 0;
  background-image: url("../images/arrow_prev.webp");
  background-repeat: no-repeat;
  background-size: 0.6666rem;
  background-position: top 0.7rem left; }
  @media screen and (max-width: 768px) {
    p.link_text.back-btn a {
      background-size: 1.6665333333vw;
      background-position: top 1.4rem left;
      padding-left: 1em; } }

a:hover p.link_text span {
  background: url("../images/arrow_next.webp") #fff;
  background-repeat: no-repeat;
  background-size: 0.6666rem;
  background-position: top 0.7rem right;
  opacity: 1; }

section.knowledge {
  background: url("../images/bg_over.png") repeat;
  background-size: 100% auto; }
  section.knowledge .inner {
    width: 92.4rem;
    margin: auto;
    padding: 7.3rem 0 8rem; }
    @media screen and (max-width: 768px) {
      section.knowledge .inner {
        width: 91.4666666667vw;
        padding: 13.3333333333vw 0; } }
    section.knowledge .inner .btnBox {
      margin: 3rem auto auto; }
    @media screen and (max-width: 768px) {
      section.knowledge .inner p.lead {
        width: 82.6666666667vw;
        margin: auto; } }
    section.knowledge .inner p.btn {
      margin: auto; }

.source_caption {
  position: relative;
  font-size: 1.0rem;
  line-height: 1.6;
  margin-top: 3.0rem;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .source_caption {
      font-size: 2.6666666667vw;
      margin-top: 5.3333333333vw; } }

.knowledge p.lead.common.mgn {
  position: relative;
  margin-top: 5.0rem; }
  @media screen and (max-width: 768px) {
    .knowledge p.lead.common.mgn {
      margin-top: 4vw; } }

.episode .source_caption {
  width: 92.4rem;
  margin: 3.0rem auto 0; }
  @media screen and (max-width: 768px) {
    .episode .source_caption {
      width: 91.4666666667vw;
      margin: 4vw auto 0; } }

ul.list_knowledge {
  width: 83rem;
  margin: auto;
  margin-top: 2rem;
  margin-bottom: 2.8rem; }
  @media screen and (max-width: 768px) {
    ul.list_knowledge {
      margin: auto;
      margin-top: 3vw;
      width: 69.3333333333vw;
      margin-bottom: 2.8rem; } }
  ul.list_knowledge li {
    padding: 0 1rem; }
    @media screen and (max-width: 768px) {
      ul.list_knowledge li {
        padding: 0 1.3333333333vw;
        margin-bottom: 5.3333333333vw; } }

ul.list_history {
  width: 83rem;
  margin: auto;
  margin-top: 2rem;
  margin-bottom: 2.8rem; }
  @media screen and (max-width: 768px) {
    ul.list_history {
      margin: auto;
      margin-top: 3vw;
      width: 69.3333333333vw;
      margin-bottom: 2.8rem; } }
  ul.list_history li {
    padding: 0 1rem; }
    @media screen and (max-width: 768px) {
      ul.list_history li {
        padding: 0 1.3333333333vw;
        margin-bottom: 5.3333333333vw; } }

.knowledge_set {
  position: relative;
  margin: auto;
  display: flex;
  flex-direction: row;
  /*width:81rem;
  gap:3rem;*/ }
  @media screen and (max-width: 768px) {
    .knowledge_set {
      flex-wrap: wrap;
      width: 66.6666666667vw;
      gap: 5.3333333333vw; } }

.list_history .knowledge_set {
  width: 81rem;
  gap: 3rem; }
  @media screen and (max-width: 768px) {
    .list_history .knowledge_set {
      flex-wrap: wrap;
      width: 66.6666666667vw;
      gap: 5.3333333333vw; } }

.knowledge_set a {
  position: relative;
  display: block;
  width: 18rem; }
  @media screen and (max-width: 768px) {
    .knowledge_set a {
      width: 30.6666666667vw; } }
  .knowledge_set a:hover {
    opacity: 1; }

.knowledge_set.soon a {
  pointer-events: none !important; }

.knowledge_slider {
  position: relative; }
  .knowledge_slider .slick-prev {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_prev.webp") no-repeat;
    background-size: contain;
    top: 9rem;
    left: -4rem;
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .knowledge_slider .slick-prev {
        top: 33vw;
        left: -9.5vw;
        width: 5.5vw;
        height: 8vw; } }
    .knowledge_slider .slick-prev::before {
      display: none; }
  .knowledge_slider .slick-next {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_next.webp") no-repeat;
    background-size: contain;
    top: 9rem;
    right: -4rem;
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .knowledge_slider .slick-next {
        top: 33vw;
        right: -9.5vw;
        width: 5.5vw;
        height: 8vw; } }
    .knowledge_slider .slick-next::before {
      display: none; }

section.episode .inner {
  width: 100%;
  margin: auto;
  padding: 7.3rem 0 7.5rem; }
  @media screen and (max-width: 768px) {
    section.episode .inner {
      width: 91.4666666667vw;
      padding: 13.3333333333vw 0; } }
  @media screen and (max-width: 768px) {
    section.episode .inner p.lead {
      width: 82.6666666667vw;
      margin: auto; } }
  section.episode .inner p.btn {
    margin: auto; }

/* 1. 一番親のコンテナ */
.slider01 {
  position: relative;
  width: 100rem;
  height: 48rem;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .slider01 {
      width: 66.4vw;
      height: 92vw;
      margin: 8vw auto auto; } }

.slider01 .slick-active figcaption {
  font-size: 1.4rem; }
  @media screen and (max-width: 768px) {
    .slider01 .slick-active figcaption {
      font-size: 3.7333333333vw; } }

.slider01 .slick-list {
  height: 100%;
  overflow: hidden; }

.slider01 .slick-track {
  display: block !important;
  height: 100%; }

.slider01 li {
  width: 35.4rem;
  height: 100%;
  position: relative;
  padding: 0 1.2rem;
  box-sizing: border-box;
  transition: transform 0.4s ease; }
  @media screen and (max-width: 768px) {
    .slider01 li {
      width: 66.4vw !important;
      margin: 0;
      padding: 0; } }
  @media screen and (max-width: 768px) {
    .slider01 li img {
      width: 100%;
      /* vw(433.88) !important */
      margin: auto; } }

.slider01 li.slick-center {
  width: 35.4rem; }
  @media screen and (max-width: 768px) {
    .slider01 li.slick-center {
      width: 66.4vw !important;
      margin: 0; } }

.slider01 li a {
  display: block;
  width: 100%;
  /*calc(100% - 2.4rem)*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  transition: transform 0.4s ease, opacity 0.4s ease;
  opacity: 1;
  color: #512D5D; }
  @media screen and (max-width: 768px) {
    .slider01 li a {
      top: 0;
      left: 1%;
      transform: none;
      opacity: 1;
      width: 98%;
      /*calc(100% - 2.4rem)*/ } }

.slider01 li.slick-center a {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1; }
  @media screen and (max-width: 768px) {
    .slider01 li.slick-center a {
      transform: none; } }

/* --- スライド内の要素（レイアウト用） --- */
.slider01 figure {
  margin: 0;
  padding: 0; }

.slider01 img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden; }

.slider01 figcaption {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  transition: transform 0.4s ease, opacity 0.4s ease; }
  @media screen and (max-width: 768px) {
    .slider01 figcaption {
      font-size: 3.7333333333vw;
      line-height: 6.9333333333vw;
      font-weight: 700;
      margin-top: 4vw;
      text-align: justify; } }

.slider01 .slick-prev {
  width: 1.96307rem;
  height: 3.86183rem;
  background: url("../images/arrow_prev.webp") no-repeat;
  background-size: contain;
  top: 23rem;
  left: -6rem;
  transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .slider01 .slick-prev {
      top: 34vw;
      left: -9.5vw;
      width: 5.5vw;
      height: 8vw; } }
  .slider01 .slick-prev::before {
    display: none; }
.slider01 .slick-next {
  width: 1.96307rem;
  height: 3.86183rem;
  background: url("../images/arrow_next.webp") no-repeat;
  background-size: contain;
  top: 23rem;
  right: -6rem;
  transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .slider01 .slick-next {
      top: 34vw;
      right: -9.5vw;
      width: 5.5vw;
      height: 8vw; } }
  .slider01 .slick-next::before {
    display: none; }

.business_slider {
  position: relative; }
  .business_slider .slick-prev {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_prev.webp") no-repeat;
    background-size: contain;
    top: 9rem;
    left: -3rem;
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .business_slider .slick-prev {
        top: 23vw;
        left: -9.5vw;
        width: 5.5vw;
        height: 8vw; } }
    .business_slider .slick-prev::before {
      display: none; }
  .business_slider .slick-next {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_next.webp") no-repeat;
    background-size: contain;
    top: 9rem;
    right: -3rem;
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .business_slider .slick-next {
        top: 23vw;
        right: -9.5vw;
        width: 5.5vw;
        height: 8vw; } }
    .business_slider .slick-next::before {
      display: none; }

section.campaign {
  position: relative;
  background: url("../images/bg_over.png") repeat;
  background-size: 100% auto; }
  section.campaign h2.common {
    font-size: 3.8rem; }
    @media screen and (max-width: 768px) {
      section.campaign h2.common {
        font-size: 5.7333333333vw; } }
  section.campaign .inner {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 7.3rem 0 7.5rem; }
    @media screen and (max-width: 768px) {
      section.campaign .inner {
        width: 100%;
        padding: 13.3333333333vw 0; } }
    @media screen and (max-width: 768px) {
      section.campaign .inner p.lead {
        width: 82.6666666667vw;
        margin: auto; } }
    section.campaign .inner p.btn {
      margin: auto; }

ul.campSlider {
  position: relative; }
  @media screen and (min-width: 769px) {
    ul.campSlider {
      width: 100%;
      max-width: 140rem;
      margin: 6rem auto 2.85rem;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; } }
  @media screen and (max-width: 768px) {
    ul.campSlider {
      width: 100%;
      display: block;
      height: 157vw;
      margin: 8vw auto 8vw; } }
  ul.campSlider li {
    position: relative;
    width: 50%;
    height: 36rem;
    border: #fef4e3 solid 1rem; }
    @media screen and (max-width: 768px) {
      ul.campSlider li {
        width: 100%;
        height: 157vw;
        display: block;
        border: none; } }
    ul.campSlider li figure {
      position: absolute;
      top: 0;
      right: 0;
      width: 50%;
      height: 100%;
      border: none !important; }
      @media screen and (max-width: 768px) {
        ul.campSlider li figure {
          position: relative;
          width: 100%;
          height: 80vw !important; } }
    ul.campSlider li figure img {
      position: relative;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border: none !important; }
    ul.campSlider li .box {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      width: 50%;
      height: 100%;
      text-decoration: none;
      background: #fff;
      padding: 2rem 0;
      /*
      &:hover {
      	opacity:1;
      	
      	p.link_text {
      		background:url(/images/arrow_next.webp) no-repeat #fff;
      		background-size: 0.6666rem;
      		background-position: center right;
      	}
      }
      */ }
      @media screen and (max-width: 768px) {
        ul.campSlider li .box {
          top: auto !important;
          bottom: 0;
          width: 100% !important;
          height: auto !important;
          padding: 5.3333333333vw 5.3333333333vw;
          gap: 1.3333333333vw;
          min-height: 77.3333333333vw !important; } }
      ul.campSlider li .box h3 {
        width: 25rem;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          ul.campSlider li .box h3 {
            width: 57.3333333333vw;
            margin-bottom: 2.6666666667vw; } }
      ul.campSlider li .box dl {
        width: 25rem;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        font-feature-settings: "palt";
        /*
        dt {
        	width:8rem;
        	height:3rem;
        	background: url("../images/campaign_dt.png") center center no-repeat;
        	background-size: contain;
        	font-size: 1.2rem;
        	line-height: 1.2rem;
        	color:#fff;
        	display:flex;
        	justify-content: center;
        	align-items: center;
        	font-weight:400;
        	@media screen and (max-width: 768px) {
        		font-size:vw(22);
        		line-height: vw(22);
        		width:vw(150);
        		height:vw(60);
        	}
        }
        */ }
        @media screen and (max-width: 768px) {
          ul.campSlider li .box dl {
            width: 73.8666666667vw; } }
        ul.campSlider li .box dl dt {
          position: relative;
          width: 7.8rem;
          font-size: 1.4rem;
          line-height: 2.0rem;
          font-weight: 700;
          padding-top: 0.5rem; }
          @media screen and (max-width: 768px) {
            ul.campSlider li .box dl dt {
              width: 21.6vw;
              font-size: 3.4666666667vw;
              line-height: 5.7333333333vw; } }
        ul.campSlider li .box dl dt::after {
          position: absolute;
          content: '';
          top: .9rem;
          right: 0;
          width: 2px;
          height: 1.4rem;
          background: #512D5D; }
          @media screen and (max-width: 768px) {
            ul.campSlider li .box dl dt::after {
              right: 1.3333333333vw;
              top: 2.1333333333vw;
              height: 3.4666666667vw; } }
        ul.campSlider li .box dl dd {
          position: relative;
          width: 16rem;
          font-size: 1.4rem;
          line-height: 2.0rem;
          font-weight: 700;
          padding-top: 0.5rem; }
          @media screen and (max-width: 768px) {
            ul.campSlider li .box dl dd {
              width: 52vw;
              font-size: 3.4666666667vw;
              line-height: 5.7333333333vw; } }
      ul.campSlider li .box .link_set {
        position: absolute;
        bottom: 2rem;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.8rem;
        width: 100%; }
        @media screen and (max-width: 768px) {
          ul.campSlider li .box .link_set {
            position: relative !important;
            bottom: 0;
            padding-top: 2.6666666667vw;
            gap: 1.3333333333vw; } }
        ul.campSlider li .box .link_set a {
          position: relative;
          display: inline-block;
          text-align: center;
          font-size: 1.5rem;
          font-weight: 500;
          color: #512D5D;
          text-decoration: underline; }
          @media screen and (max-width: 768px) {
            ul.campSlider li .box .link_set a {
              font-size: 3.8666666667vw; } }
        ul.campSlider li .box .link_set a::after {
          content: '';
          position: relative;
          display: inline-block;
          background-image: url("../images/arrow_next.webp");
          background-repeat: no-repeat;
          background-size: 0.6666rem;
          background-position: center center;
          width: 1.3rem;
          height: 1.5rem;
          margin-left: 0.3rem;
          transform: translateY(0.2rem); }
          @media screen and (max-width: 768px) {
            ul.campSlider li .box .link_set a::after {
              width: 3.8666666667vw;
              height: 3.8666666667vw;
              background-size: 1.6vw auto;
              margin-left: 0.2666666667vw;
              transform: translateY(0.5333333333vw); } }

@media screen and (max-width: 768px) {
  .campSlider .slick-prev {
    position: absolute;
    display: block !important;
    opacity: 1 !important;
    background: url("../images/arrow_prev.webp") no-repeat;
    background-size: contain;
    top: auto !important;
    right: auto !important;
    bottom: 33.3333333333vw !important;
    left: 2.6666666667vw !important;
    width: 5.5vw !important;
    height: 8vw !important;
    transform: translate(0) !important;
    z-index: 10; } }
.campSlider .slick-prev::before {
  display: none; }
@media screen and (max-width: 768px) {
  .campSlider .slick-next {
    position: absolute;
    display: block !important;
    opacity: 1 !important;
    background: url("../images/arrow_next.webp") no-repeat;
    background-size: contain;
    top: auto !important;
    left: auto !important;
    bottom: 33.3333333333vw !important;
    right: 2.6666666667vw !important;
    width: 5.5vw !important;
    height: 8vw !important;
    transform: translate(0) !important;
    z-index: 10; } }
.campSlider .slick-next::before {
  display: none; }

section.business .inner {
  width: 100%;
  margin: auto;
  padding: 9.2rem 0 7.6rem; }
  @media screen and (max-width: 768px) {
    section.business .inner {
      width: 91.4666666667vw;
      padding: 13.3333333333vw 0; } }
  @media screen and (max-width: 768px) {
    section.business .inner p.lead {
      width: 60.9708vw !important;
      margin: auto; } }
  section.business .inner p.link_text {
    text-align: center; }
    @media screen and (max-width: 768px) {
      section.business .inner p.link_text {
        margin-bottom: 4.5333333333vw; } }
  section.business .inner p.btn {
    margin: auto; }

ul.list_business {
  width: 90vw;
  max-width: 124rem;
  display: flex;
  justify-content: space-between;
  margin: auto;
  margin-bottom: 2.8rem; }
  @media screen and (max-width: 768px) {
    ul.list_business {
      width: 73.9806666667vw;
      margin: auto; } }
  ul.list_business li {
    padding: 0 1rem; }
    @media screen and (max-width: 768px) {
      ul.list_business li {
        width: 73.9806666667vw; } }
    ul.list_business li a {
      display: block;
      width: 100%;
      height: auto;
      color: #512D5D; }
      ul.list_business li a:visited {
        color: #512D5D; }
      ul.list_business li a:hover {
        opacity: 1; }
      ul.list_business li a img {
        margin-bottom: 1.2rem; }
      ul.list_business li a h3 {
        font-size: 1.5rem;
        line-height: 2.6rem;
        text-align: center;
        overflow-wrap: anywhere;
        margin-bottom: 1.4rem;
        word-break: break-all; }
        @media screen and (max-width: 768px) {
          ul.list_business li a h3 {
            font-size: 4vw;
            line-height: 6.3306666667vw; } }
      ul.list_business li a p.date {
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 1.4rem;
        text-align: center; }
        @media screen and (max-width: 768px) {
          ul.list_business li a p.date {
            font-size: 5.3333333333vw; } }
      ul.list_business li a p.lead {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 2.5rem;
        overflow-wrap: anywhere;
        margin-bottom: 1.6rem;
        word-break: break-all; }
        @media screen and (max-width: 768px) {
          ul.list_business li a p.lead {
            font-size: 3.4666666667vw;
            line-height: 6.1333333333vw;
            text-align: justify;
            width: 100% !important;
            margin-bottom: 2.6666666667vw !important; } }

section.experience {
  background: url("../images/bg_over.png") repeat;
  background-size: 100% auto; }
  section.experience .inner {
    width: 92.4rem;
    margin: auto;
    padding: 7.3rem 0 15rem; }
    @media screen and (max-width: 768px) {
      section.experience .inner {
        width: 91.4666666667vw;
        padding: 13.3333333333vw 0 13.8666666667vw; } }

@media screen and (max-width: 768px) {
  section.experience h2 span {
    font-size: 2.9333333333vw; } }

.generator {
  width: 100%;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .generator {
      flex-direction: column-reverse;
      width: 82.6666666667vw;
      margin: 10.6666666667vw auto auto; } }
  .generator .txts {
    width: 36rem; }
    @media screen and (max-width: 768px) {
      .generator .txts {
        flex-direction: column-reverse;
        width: 100%; } }
    .generator .txts h3 {
      font-size: 3.2rem;
      font-weight: 700;
      margin-bottom: 2.6rem; }
      @media screen and (max-width: 768px) {
        .generator .txts h3 {
          font-size: 6.6666666667vw;
          text-align: center;
          margin-bottom: 4vw; } }
    .generator .txts p.lead {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 3rem;
      margin-bottom: 1.3rem;
      font-feature-settings: "palt"; }
      @media screen and (max-width: 768px) {
        .generator .txts p.lead {
          font-size: 3.7333333333vw;
          line-height: 6.9333333333vw;
          margin-bottom: 0.6666666667vw; } }
    .generator .txts p.attention {
      font-size: 1.2rem;
      line-height: 2.4rem;
      font-weight: 500;
      margin-bottom: 3.83rem; }
      @media screen and (max-width: 768px) {
        .generator .txts p.attention {
          font-size: 3.2vw;
          line-height: 5.8666666667vw;
          margin-bottom: 4vw; } }
    @media screen and (max-width: 768px) {
      .generator .txts p.btn {
        margin: auto; } }
  .generator figure {
    width: 50rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .generator figure {
        width: 100%;
        margin: auto auto 8.6666666667vw; } }

section.relation {
  background: #fff; }
  section.relation .inner {
    width: 92.4rem;
    margin: auto;
    padding: 3.8rem 0 3.6rem; }
    @media screen and (max-width: 768px) {
      section.relation .inner {
        width: 91.4666666667vw; } }
    section.relation .inner h2 {
      font-size: 2.6rem;
      font-weight: 700;
      margin-bottom: 2.7rem;
      text-align: center; }
      @media screen and (max-width: 768px) {
        section.relation .inner h2 {
          font-size: 6.6666666667vw; } }
    section.relation .inner.top::after {
      width: 34.2223rem;
      height: 12.3027rem;
      background: url("../images/kumo_kanren.png") no-repeat;
      background-size: contain;
      position: absolute;
      top: 9rem;
      right: -35rem; }
      @media screen and (max-width: 768px) {
        section.relation .inner.top::after {
          background: url("../images/kumo_kanren_sp.png") no-repeat;
          background-size: contain;
          width: 41.4768vw;
          height: 14.9106666667vw;
          top: -6rem;
          right: auto;
          left: -13vw; } }

ul.bnrSlider {
  width: 83rem;
  margin: auto auto 3.3rem; }
  @media screen and (max-width: 768px) {
    ul.bnrSlider {
      width: 76vw;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      row-gap: 1.6vw; } }
  ul.bnrSlider li {
    margin: 0 0.375rem; }
    @media screen and (max-width: 768px) {
      ul.bnrSlider li {
        width: 36.6666666667vw; } }
  ul.bnrSlider .slick-prev {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_bnr_prev.webp") no-repeat;
    background-size: contain;
    top: 50%;
    left: -4.5rem;
    transform: translateY(-50%); }
    ul.bnrSlider .slick-prev::before {
      display: none; }
  ul.bnrSlider .slick-next {
    width: 1.96307rem;
    height: 3.86183rem;
    background: url("../images/arrow_bnr_next.webp") no-repeat;
    background-size: contain;
    top: 50%;
    right: -4.5rem;
    transform: translateY(-50%); }
    ul.bnrSlider .slick-next::before {
      display: none; }

ul.sns {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8rem; }
  @media screen and (max-width: 768px) {
    ul.sns {
      width: 52.9712vw;
      margin: 8.5333333333vw auto 8.5333333333vw; } }
  ul.sns li {
    width: 4.5rem; }
    @media screen and (max-width: 768px) {
      ul.sns li {
        width: 12.7002666667vw; } }
    ul.sns li:first-of-type {
      width: 3.9rem; }
      @media screen and (max-width: 768px) {
        ul.sns li:first-of-type {
          width: 11.0517333333vw; } }

p.pagelead {
  font-size: 2rem;
  line-height: 4.5rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 3;
  font-feature-settings: "palt"; }
  @media screen and (max-width: 768px) {
    p.pagelead {
      font-size: 4.2666666667vw;
      line-height: 8.5333333333vw; } }
  @media screen and (max-width: 768px) {
    p.pagelead.campaign {
      font-size: 3.7333333333vw;
      line-height: 6.9333333333vw;
      text-align: left; } }

section.about {
  width: 100%;
  background: #FFFAE9; }
  @media screen and (max-width: 768px) {
    section.about {
      margin-bottom: 11.2vw; } }
  section.about .inner {
    width: 100rem;
    margin: auto;
    padding-top: 6rem;
    position: static; }
    @media screen and (max-width: 768px) {
      section.about .inner {
        width: 82.6666666667vw; } }
    section.about .inner figure.intro01 {
      width: 50.3rem;
      margin: 3rem auto;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        section.about .inner figure.intro01 {
          width: 100%;
          margin: 6vw auto 8vw; } }
    section.about .inner .charm {
      width: 100%;
      background: #fff;
      padding: 4.7rem 5.4rem;
      margin: 5rem auto 6rem;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        section.about .inner .charm {
          margin: 11.2vw auto 0;
          flex-direction: column;
          padding: 4.7rem 5.3333333333vw; } }
      section.about .inner .charm .txts {
        width: 61.8rem;
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 768px) {
          section.about .inner .charm .txts {
            width: 100%; } }
      section.about .inner .charm figure {
        width: 23rem;
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 768px) {
          section.about .inner .charm figure {
            width: 100%; } }
      section.about .inner .charm h2 {
        font-size: 3.506rem;
        font-weight: 700;
        margin-bottom: 2rem; }
        @media screen and (max-width: 768px) {
          section.about .inner .charm h2 {
            font-size: 6.6666666667vw;
            text-align: center; } }
      section.about .inner .charm p.detail {
        font-size: 1.8rem;
        line-height: 3.2rem;
        font-weight: 700;
        margin-bottom: 1rem; }
        @media screen and (max-width: 768px) {
          section.about .inner .charm p.detail {
            font-size: 3.7333333333vw;
            line-height: 6.4vw;
            font-feature-settings: "palt"; } }
      @media screen and (max-width: 768px) {
        section.about .inner .charm p.link_text {
          text-align: center;
          margin: 3.3333333333vw auto 6vw; } }
      @media screen and (max-width: 768px) {
        section.about .inner .charm p.link_text a {
          font-size: 3.6vw;
          text-align: center; } }

footer {
  width: 100%;
  background: #512D5D;
  text-align: center;
  padding: 2.6rem 0 2.55rem;
  color: #fff; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 6.6666666667vw 0 2.6666666667vw; } }
  footer .inner {
    width: 100%;
    max-width: 1040px;
    padding: 0 20px;
    margin: auto; }
    @media screen and (max-width: 768px) {
      footer .inner {
        width: 82.6666666667vw;
        padding: 0 0 0; } }
    footer .inner ul.footNav {
      width: 100%;
      height: auto;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin: auto auto 2.7rem;
      padding-bottom: 2.8rem;
      border-bottom: 1px solid #fff; }
      @media screen and (max-width: 768px) {
        footer .inner ul.footNav {
          width: 66.6666666667vw;
          padding: 0 1.3333333333vw 6.1333333333vw 4.2666666667vw;
          flex-wrap: wrap;
          display: block;
          display: grid;
          grid-template-columns: 1fr 1fr;
          grid-auto-flow: column;
          grid-template-rows: repeat(4, auto);
          gap: 3.4666666667vw; } }
      footer .inner ul.footNav li {
        padding: 0 2.2rem;
        border-right: 1px solid #fff;
        height: 1.7rem; }
        @media screen and (max-width: 768px) {
          footer .inner ul.footNav li {
            width: 29.0666666667vw;
            border-right: none;
            flex-wrap: wrap;
            padding: 0 0;
            height: auto; } }
        footer .inner ul.footNav li a {
          font-size: 1.5rem;
          font-weight: 700;
          color: #fff;
          height: 100%;
          display: flex;
          align-items: center; }
          @media screen and (max-width: 768px) {
            footer .inner ul.footNav li a {
              font-size: 3.7333333333vw;
              line-height: 4.8vw;
              align-items: flex-start;
              justify-content: flex-start;
              text-align: left; } }
          footer .inner ul.footNav li a:visited {
            color: #fff; }
        footer .inner ul.footNav li:first-of-type {
          padding-left: 0; }
        footer .inner ul.footNav li:last-of-type {
          padding-right: 0;
          border-right: none; }
    footer .inner .footSign {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      gap: 4.6rem; }
      @media screen and (max-width: 768px) {
        footer .inner .footSign {
          flex-direction: column;
          padding-top: 6.1333333333vw; } }
      footer .inner .footSign h3 {
        width: 23.6942rem; }
        @media screen and (max-width: 768px) {
          footer .inner .footSign h3 {
            width: 58.0666666667vw;
            margin: auto; } }
      footer .inner .footSign .txts {
        width: calc(100% - 23.6942rem); }
        @media screen and (max-width: 768px) {
          footer .inner .footSign .txts {
            width: 100%; } }
        footer .inner .footSign .txts ul.otherLink {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap;
          gap: 0.5rem 2.2rem;
          width: 55rem;
          margin-bottom: 0.5rem; }
          @media screen and (max-width: 768px) {
            footer .inner .footSign .txts ul.otherLink {
              width: 64vw;
              margin: auto;
              gap: 2.6666666667vw 2.6666666667vw;
              justify-content: center;
              margin-bottom: 2.6666666667vw; } }
          footer .inner .footSign .txts ul.otherLink li a {
            font-size: 1.6rem;
            font-weight: 500;
            color: #fff; }
            @media screen and (max-width: 768px) {
              footer .inner .footSign .txts ul.otherLink li a {
                font-size: 3.2vw; } }
        footer .inner .footSign .txts p.rights {
          font-size: 1.2rem;
          font-weight: 500;
          text-align: left;
          margin-top: 0.7rem; }
          @media screen and (max-width: 768px) {
            footer .inner .footSign .txts p.rights {
              font-size: 3.2vw;
              text-align: center;
              margin-top: 3.4666666667vw; } }

@media screen and (max-width: 768px) {
  .menuBtn {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer; } }
.menuBtn.open {
  z-index: 110;
  background: #fff; }
  .menuBtn.open .inner span {
    background: #512D5D;
    width: 1.8rem; }
    @media screen and (max-width: 768px) {
      .menuBtn.open .inner span {
        width: 4.7381333333vw;
        height: 0.5751466667vw; } }
    @media screen and (max-width: 768px) {
      .menuBtn.open .inner span:nth-of-type(1) {
        top: 6.6666666667vw;
        transform: rotate(45deg); } }
    @media screen and (max-width: 768px) {
      .menuBtn.open .inner span:nth-of-type(2) {
        top: 6.6666666667vw;
        transform: rotate(-45deg); } }
    @media screen and (max-width: 768px) {
      .menuBtn.open .inner span:nth-of-type(3) {
        display: none; } }
@media screen and (max-width: 768px) {
  .menuBtn .inner {
    position: relative;
    width: 100%;
    height: 100%; } }
@media screen and (max-width: 768px) {
  .menuBtn .inner span {
    position: absolute;
    width: 4.7381333333vw;
    height: 0.5751466667vw;
    top: 4vw;
    right: 4.6666666667vw;
    background: #512D5D; } }
@media screen and (max-width: 768px) {
  .menuBtn .inner span:nth-of-type(2) {
    top: 6vw; } }
@media screen and (max-width: 768px) {
  .menuBtn .inner span:nth-of-type(3) {
    top: 8vw; } }

@media screen and (max-width: 768px) {
  .menupanel {
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    position: fixed;
    top: 13.3333333333vw;
    left: 0;
    z-index: -1;
    opacity: 0;
    height: calc(100vh - 13.3vw);
    overflow-y: auto;
    transition: opacity 0.4s ease;
    border-top: 0.2666666667vw solid #512D5D;
    pointer-events: none; } }
@media screen and (max-width: 768px) {
  .menupanel.open {
    z-index: 100;
    opacity: 1;
    pointer-events: auto !important; } }
.menupanel .menuList {
  width: 100%;
  background: #26a144; }
  .menupanel .menuList .inner {
    width: 110rem;
    margin: auto;
    display: flex;
    justify-content: space-between;
    padding: 9.3rem 0 7rem; }
    @media screen and (max-width: 768px) {
      .menupanel .menuList .inner {
        width: 56rem;
        flex-wrap: wrap;
        padding: 16.6rem 0 10.4rem;
        row-gap: 9.4rem; } }
    .menupanel .menuList .inner ul {
      width: 50rem;
      display: flex;
      flex-direction: column;
      row-gap: 2.9rem; }
      @media screen and (max-width: 768px) {
        .menupanel .menuList .inner ul {
          width: 56rem;
          flex-wrap: wrap;
          flex-direction: row;
          justify-content: space-between;
          row-gap: 4rem; } }
      @media screen and (max-width: 768px) {
        .menupanel .menuList .inner ul:nth-of-type(1) li:first-of-type {
          width: 100%; }
          .menupanel .menuList .inner ul:nth-of-type(1) li:first-of-type a {
            display: flex; }
            .menupanel .menuList .inner ul:nth-of-type(1) li:first-of-type a p.explaine {
              margin-left: 1.8rem; } }
      .menupanel .menuList .inner ul:nth-of-type(2) {
        width: 50rem;
        row-gap: 2.5rem; }
        @media screen and (max-width: 768px) {
          .menupanel .menuList .inner ul:nth-of-type(2) {
            width: 100%;
            row-gap: 3.6rem; } }
        @media screen and (max-width: 768px) {
          .menupanel .menuList .inner ul:nth-of-type(2) li {
            width: 100%; } }
        .menupanel .menuList .inner ul:nth-of-type(2) li a {
          font-size: 1.8rem;
          font-weight: 500;
          color: #fff; }
          @media screen and (max-width: 768px) {
            .menupanel .menuList .inner ul:nth-of-type(2) li a {
              font-size: 3rem;
              padding-bottom: 3.6rem; } }
      .menupanel .menuList .inner ul > .bnr_get {
        position: static; }
        @media screen and (max-width: 768px) {
          .menupanel .menuList .inner ul > .bnr_get {
            transform: translateX(0);
            margin: auto;
            margin-top: 6rem; } }
      .menupanel .menuList .inner ul > h2 {
        font-size: 3.4rem;
        font-weight: 500;
        color: #fdec23;
        letter-spacing: 0.2rem;
        line-height: 1;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          .menupanel .menuList .inner ul > h2 {
            font-size: 5rem;
            flex-direction: column;
            align-items: flex-start; } }
        .menupanel .menuList .inner ul > h2:nth-of-type(2) {
          margin-top: 4.3rem; }
          @media screen and (max-width: 768px) {
            .menupanel .menuList .inner ul > h2:nth-of-type(2) {
              margin-top: 6rem; } }
        .menupanel .menuList .inner ul > h2 span {
          font-size: 1.4rem;
          font-weight: 500;
          color: rgba(255, 255, 255, 0.7);
          margin-top: 0.5rem;
          margin-left: 1.5rem; }
          @media screen and (max-width: 768px) {
            .menupanel .menuList .inner ul > h2 span {
              font-size: 2.4rem;
              margin-left: 0;
              margin-top: 1.5rem; } }
      .menupanel .menuList .inner ul li {
        border-bottom: 1px solid #fff; }
        @media screen and (max-width: 768px) {
          .menupanel .menuList .inner ul li {
            width: 100%; } }
        .menupanel .menuList .inner ul li a {
          display: block;
          position: relative;
          padding-bottom: 1.7rem;
          font-size: 1.8rem;
          font-weight: 500;
          color: #fff; }
          @media screen and (max-width: 768px) {
            .menupanel .menuList .inner ul li a {
              padding-bottom: 2.6rem;
              font-size: 3rem;
              line-height: 1.5; } }
          .menupanel .menuList .inner ul li a.construction {
            opacity: 0.5;
            pointer-events: none; }
          .menupanel .menuList .inner ul li a h2 {
            font-size: 3.4rem;
            font-weight: 500;
            color: #fdec23;
            letter-spacing: 0.2rem;
            line-height: 1;
            display: flex;
            align-items: center; }
            @media screen and (max-width: 768px) {
              .menupanel .menuList .inner ul li a h2 {
                font-size: 5rem;
                flex-direction: column;
                align-items: flex-start; } }
            .menupanel .menuList .inner ul li a h2 span.explaine {
              font-size: 1.4rem;
              font-weight: 500;
              color: rgba(255, 255, 255, 0.7);
              margin-top: 0.5rem;
              margin-left: 1.5rem;
              letter-spacing: -0.06rem; }
              @media screen and (max-width: 768px) {
                .menupanel .menuList .inner ul li a h2 span.explaine {
                  font-size: 2.4rem;
                  line-height: 3.4rem;
                  margin-left: 0;
                  margin-top: 1.5rem; } }
          .menupanel .menuList .inner ul li a p.explaine {
            font-size: 1.4rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.7);
            margin-top: 0.5rem; }
            @media screen and (max-width: 768px) {
              .menupanel .menuList .inner ul li a p.explaine {
                font-size: 2.4rem; } }
          .menupanel .menuList .inner ul li a span.arrow {
            overflow: hidden;
            /* 枠外の矢印を隠す */
            position: absolute;
            top: 0.5rem;
            right: 0;
            width: 2.4rem;
            height: 2.4rem;
            background: #FDEC23;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center; }
            @media screen and (max-width: 768px) {
              .menupanel .menuList .inner ul li a span.arrow {
                width: 3.8rem;
                height: 3.8rem; } }
            .menupanel .menuList .inner ul li a span.arrow.deg2 {
              top: auto;
              bottom: 1.5rem; }
              @media screen and (max-width: 768px) {
                .menupanel .menuList .inner ul li a span.arrow.deg2 {
                  bottom: 50%;
                  transform: translateY(50%); } }
            .menupanel .menuList .inner ul li a span.arrow::before, .menupanel .menuList .inner ul li a span.arrow::after {
              content: "";
              position: absolute;
              color: #fff;
              font-size: 1.2rem;
              font-family: serif;
              /* 矢印のデザイン調整 */
              transition: none;
              background-image: url("data:image/svg+xml;utf8,<svg id='button' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.57 6.36'><style>.cls-1{fill:none;stroke:%23000;stroke-linejoin:round;}</style><polyline class='cls-1' points='0 3.18 7.07 3.18 4.24 .35'/><line class='cls-1' x1='4.24' y1='6.01' x2='7.07' y2='3.18'/></svg>");
              width: 2.4rem;
              height: 2.4rem;
              background-repeat: no-repeat;
              background-position: center top 0.8rem;
              background-size: 0.8rem;
              display: inline-block; }
              @media screen and (max-width: 768px) {
                .menupanel .menuList .inner ul li a span.arrow::before, .menupanel .menuList .inner ul li a span.arrow::after {
                  background-size: 1.131rem; } }
            .menupanel .menuList .inner ul li a span.arrow::before {
              transform: translateX(0); }
            .menupanel .menuList .inner ul li a span.arrow::after {
              transform: translateX(-150%); }
          .menupanel .menuList .inner ul li a:hover {
            opacity: 0.5; }
          .menupanel .menuList .inner ul li a:hover .arrow:before {
            animation: exitToRight 0.6s ease forwards; }
          .menupanel .menuList .inner ul li a:hover .arrow:after {
            animation: enterFromLeft 0.6s ease forwards; }
.menupanel .languageSP {
  display: none; }
  @media screen and (max-width: 768px) {
    .menupanel .languageSP {
      background: url("../images/ico_globe.webp") no-repeat #512D5D;
      background-size: 4.064vw;
      background-position: left 1.8666666667vw center;
      width: 24vw;
      height: 10.2933333333vw;
      padding-left: 7.2vw;
      padding-right: 1.4vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 14.1333333333vw auto auto; } }
  @media screen and (max-width: 768px) {
    .menupanel .languageSP li {
      position: relative;
      color: #fff;
      font-size: 5.0666666667vw;
      font-weight: 400;
      display: flex;
      height: 100%;
      align-items: center; }
      .menupanel .languageSP li:first-child::after {
        content: '/';
        position: absolute;
        top: 50%;
        right: -1.4rem;
        font-size: 4vw;
        transform: translateY(-50%); } }
  @media screen and (max-width: 768px) {
    .menupanel .languageSP li a {
      font-size: 5.0666666667vw;
      font-weight: 400;
      color: #fff;
      line-height: 1;
      display: flex;
      height: 100%;
      align-items: center; }
      .menupanel .languageSP li a.current {
        font-weight: 700;
        text-decoration: underline;
        text-decoration-thickness: 0.2253333333vw; }
      .menupanel .languageSP li a:visited {
        color: #fff; } }

.sage {
  margin-left: 3.8rem; }
  @media screen and (max-width: 768px) {
    .sage {
      margin-left: 9.4rem; } }

.dot {
  border-style: dashed !important; }

.not {
  border-bottom: none !important;
  margin-bottom: -2rem !important; }

.second {
  margin-top: -1rem; }

.sukima-mb50 {
  margin-bottom: 5rem; }

.sukima-mt90 {
  margin-top: 9rem; }

.fadeIn {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform; }

.fadeIn.is-visible {
  opacity: 1;
  transform: translateY(0); }

.kv.others {
  height: 32.2rem;
  background: #512D5D;
  position: relative; }
  @media screen and (max-width: 768px) {
    .kv.others {
      height: 53.8666666667vw;
      background: url("../images/kumo00_sp.png") no-repeat #512D5D;
      background-size: 32.5125333333vw;
      background-position: top right;
      padding-top: 20vw; } }
  @media screen and (max-width: 768px) {
    .kv.others.double {
      padding-top: 22.6666666667vw; } }
  .kv.others .kumoOuter {
    width: 100rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    .kv.others .kumoOuter .kumoInner {
      width: 100%;
      height: 100%;
      position: relative; }
      .kv.others .kumoOuter .kumoInner::after {
        content: '';
        width: 154.5rem;
        height: 100%;
        background: url("../images/kumo00.png") no-repeat;
        background-size: 154.5rem;
        background-position: top left;
        position: absolute;
        top: 1.3rem;
        left: -19.5rem;
        z-index: 3; }
  .kv.others .breadcrumb {
    width: 100%;
    height: 5.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 7rem;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      .kv.others .breadcrumb {
        min-height: 9.6vw;
        margin-bottom: 11.7333333333vw;
        position: absolute;
        top: 2vw;
        left: 0; } }
    .kv.others .breadcrumb ul {
      width: 100rem;
      margin: auto;
      height: 100%;
      padding: 0 4rem;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 1.5rem;
      margin-bottom: 7rem; }
      @media screen and (max-width: 768px) {
        .kv.others .breadcrumb ul {
          width: 82.6666666667vw;
          padding: 0 0;
          flex-wrap: wrap;
          row-gap: 0.6vw;
          align-items: flex-start; } }
      .kv.others .breadcrumb ul li {
        font-size: 1.3rem;
        font-weight: 700;
        color: #fff; }
        @media screen and (max-width: 768px) {
          .kv.others .breadcrumb ul li {
            font-size: 2.9333333333vw; } }
        .kv.others .breadcrumb ul li a {
          font-size: 1.3rem;
          font-weight: 700;
          color: #fff;
          text-decoration: none;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.03 10.48'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:.77px;%7D%3C/style%3E%3C/defs%3E%3Cpolyline class='cls-1' points='.27 .29 5.47 5.01 .27 10.21'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-size: 0.51969rem;
          background-position: center right;
          padding-right: 1.9rem; }
          @media screen and (max-width: 768px) {
            .kv.others .breadcrumb ul li a {
              font-size: 2.9333333333vw;
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.03 10.48'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:.77px;%7D%3C/style%3E%3C/defs%3E%3Cpolyline class='cls-1' points='.27 .29 5.47 5.01 .27 10.21'/%3E%3C/svg%3E");
              background-repeat: no-repeat;
              background-size: 0.97442rem;
              padding-right: 4vw; } }
  .kv.others header {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    row-gap: 2.2rem; }
  .kv.others h1 {
    background-image: url("data:image/svg+xml,%3Csvg id='layout' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23f5e9cd;%7D.cls-1,.cls-2%7Bstroke-width:0px;%7D.cls-2%7Bfill:%23512d5d;%7D%3C/style%3E%3C/defs%3E%3Crect class='cls-2' x='0' y='20' width='20' height='20' transform='translate(-20 40) rotate(-90)'/%3E%3Crect class='cls-2' x='20' y='0' width='20' height='20' transform='translate(20 40) rotate(-90)'/%3E%3Crect class='cls-1' x='20' y='20' width='20' height='20' transform='translate(0 60) rotate(-90)'/%3E%3Crect class='cls-1' x='0' y='0' width='20' height='20' transform='translate(0 20) rotate(-90)'/%3E%3Crect class='cls-2' x='40' y='20' width='20' height='20' transform='translate(20 80) rotate(-90)'/%3E%3Crect class='cls-2' x='60' y='0' width='20' height='20' transform='translate(60 80) rotate(-90)'/%3E%3Crect class='cls-1' x='60' y='20' width='20' height='20' transform='translate(40 100) rotate(-90)'/%3E%3Crect class='cls-1' x='40' y='0' width='20' height='20' transform='translate(40 60) rotate(-90)'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg id='layout' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23f5e9cd;%7D.cls-1,.cls-2%7Bstroke-width:0px;%7D.cls-2%7Bfill:%23512d5d;%7D%3C/style%3E%3C/defs%3E%3Crect class='cls-2' x='0' y='20' width='20' height='20' transform='translate(-20 40) rotate(-90)'/%3E%3Crect class='cls-2' x='20' y='0' width='20' height='20' transform='translate(20 40) rotate(-90)'/%3E%3Crect class='cls-1' x='20' y='20' width='20' height='20' transform='translate(0 60) rotate(-90)'/%3E%3Crect class='cls-1' x='0' y='0' width='20' height='20' transform='translate(0 20) rotate(-90)'/%3E%3Crect class='cls-2' x='40' y='20' width='20' height='20' transform='translate(20 80) rotate(-90)'/%3E%3Crect class='cls-2' x='60' y='0' width='20' height='20' transform='translate(60 80) rotate(-90)'/%3E%3Crect class='cls-1' x='60' y='20' width='20' height='20' transform='translate(40 100) rotate(-90)'/%3E%3Crect class='cls-1' x='40' y='0' width='20' height='20' transform='translate(40 60) rotate(-90)'/%3E%3C/svg%3E");
    background-position: left top 0.7rem, right top 0.7rem;
    background-repeat: no-repeat, no-repeat;
    background-size: 8rem, 8rem;
    padding: 0 11.2rem;
    display: inline-block;
    margin: auto;
    font-size: 4.6rem;
    line-height: 1;
    font-weight: 700;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .kv.others h1 {
        font-size: 8.2666666667vw;
        background-size: 13.8666666667vw, 13.8666666667vw;
        padding: 0 17.3333333333vw;
        text-align: center;
        min-height: 8vw;
        letter-spacing: -0.05em; } }
    @media screen and (max-width: 768px) {
      .kv.others h1.double {
        margin-top: -3.5vw;
        line-height: 1.3;
        background-position: left top 8vw, right top 8vw; } }
    @media screen and (max-width: 768px) {
      .kv.others h1.double.doublewith {
        margin-top: -8vw; } }
    @media screen and (max-width: 768px) {
      .kv.others h1.double.thin {
        letter-spacing: -0.1em; } }
  .kv.others p.h1sub {
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    display: block;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .kv.others p.h1sub {
        font-size: 4.2666666667vw; } }

/* button と input（テキスト系）の共通リセット */
button,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"] {
  /* ブラウザ固有のスタイルを無効化 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* 背景・枠線・余白の初期化 */
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  /* フォント関連の継承 */
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  line-height: inherit; }

/* ボタン要素にはクリック可能であることを示すカーソルと、文字の折り返し禁止を追加 */
button {
  cursor: pointer;
  white-space: nowrap; }

/* 入力中・選択時の青いアウトライン（枠線）を消したい場合 */
/* ※アクセシビリティの観点から、消す場合は必ず代わりに独自のフォーカススタイルを設定してください */
button:focus,
input:focus {
  outline: none; }

.screen {
  width: 100%;
  background: #FFFAE9;
  padding-top: 7rem; }
  @media screen and (max-width: 768px) {
    .screen {
      padding: 6.6666666667vw 8.6666666667vw 8.6666666667vw; } }
  .screen .card {
    background: none;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    width: auto;
    text-align: center;
    width: 104rem;
    margin: auto;
    padding: 0 2rem;
    position: relative; }
    @media screen and (max-width: 768px) {
      .screen .card {
        width: 100%;
        padding: 0 0; } }
    .screen .card figure.kumo_experience01 {
      position: absolute;
      z-index: 3;
      width: 38.2921rem;
      top: 26rem;
      left: -20rem; }
      @media screen and (max-width: 768px) {
        .screen .card figure.kumo_experience01 {
          width: 39.4570666667vw;
          top: 20vw;
          left: -23vw; } }
    .screen .card h2 {
      font-size: 5.4rem;
      font-weight: 700;
      background: url("../images/bg_h2_screen.png") no-repeat;
      background-size: 100%;
      background-position: center center;
      text-align: center;
      margin-bottom: 2.4rem;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        .screen .card h2 {
          font-size: 7.2vw;
          background: url("../images/bg_h2_screen_sp.png") no-repeat;
          background-size: 100%;
          letter-spacing: -0.1em;
          background-position: center center; } }
    .screen .card p.tagline {
      font-size: 1.8rem;
      font-weight: 700;
      text-align: center;
      margin-bottom: 5rem;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        .screen .card p.tagline {
          font-size: 3.7333333333vw;
          color: #512D5D; } }
  .screen .how-to {
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: auto;
    text-align: left;
    width: 100%;
    background: #fff;
    padding: 6rem 14.1rem 11rem;
    margin-bottom: 2.2rem;
    position: relative; }
    @media screen and (max-width: 768px) {
      .screen .how-to {
        padding: 5.6vw 4.8vw 14.1333333333vw;
        margin-bottom: 6.9333333333vw; } }
    .screen .how-to figure.kumo_experience02 {
      position: absolute;
      z-index: 3;
      width: 35.3757rem;
      bottom: -3rem;
      right: -17rem; }
      @media screen and (max-width: 768px) {
        .screen .how-to figure.kumo_experience02 {
          width: 53.0098666667vw;
          position: absolute;
          bottom: -8vw;
          right: -29vw; } }
    .screen .how-to p.how-to-title {
      font-size: 3.5rem;
      font-weight: 700;
      position: relative;
      z-index: 3;
      text-align: center;
      margin-bottom: 2rem; }
      @media screen and (max-width: 768px) {
        .screen .how-to p.how-to-title {
          font-size: 7vw; } }
    .screen .how-to p.play {
      position: relative;
      z-index: 3;
      font-size: 2rem;
      font-weight: 700;
      line-height: 3.3rem;
      display: flex;
      align-items: center;
      padding: 2.9rem 1rem;
      background: url("../images/bg_p_play.png") no-repeat;
      background-size: contain;
      background-position: bottom center;
      color: #512D5D; }
      @media screen and (max-width: 768px) {
        .screen .how-to p.play {
          flex-wrap: wrap;
          justify-content: space-between;
          padding: 2.9rem 0 8vw;
          font-size: 3.7333333333vw;
          line-height: 6.9333333333vw; } }
      .screen .how-to p.play:last-of-type {
        background: none; }
      @media screen and (max-width: 768px) {
        .screen .how-to p.play span {
          width: 64vw; } }
      .screen .how-to p.play img.play_num {
        width: 5rem;
        margin-right: 1.4rem;
        object-fit: contain; }
        @media screen and (max-width: 768px) {
          .screen .how-to p.play img.play_num {
            width: 8vw;
            margin-right: 0; } }
      .screen .how-to p.play img.play {
        width: 22.1rem;
        margin-left: 4.5rem;
        object-fit: contain; }
        @media screen and (max-width: 768px) {
          .screen .how-to p.play img.play {
            width: 51.2vw;
            margin: 4vw auto auto; } }
    .screen .how-to .input-group {
      display: block;
      gap: 0;
      width: 66rem;
      margin: 6.4rem auto auto;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        .screen .how-to .input-group {
          width: 74.6666666667vw; } }
      .screen .how-to .input-group p.input-group-title {
        font-size: 2.7rem;
        font-weight: 700;
        margin-bottom: 1.8rem;
        color: #512D5D; }
      .screen .how-to .input-group label {
        width: 100%;
        height: 7rem;
        border: 0.273rem solid #512D5D;
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          .screen .how-to .input-group label {
            height: 10.6666666667vw; } }
        .screen .how-to .input-group label input {
          width: 54.2rem;
          background: #fff;
          padding: 2rem 2.4rem;
          font-size: 2.4rem;
          font-weight: 500;
          color: #999999; }
          @media screen and (max-width: 768px) {
            .screen .how-to .input-group label input {
              width: 76%;
              box-sizing: border-box;
              padding: 2.9333333333vw 3.7333333333vw;
              font-size: 3.7333333333vw; } }
        .screen .how-to .input-group label button {
          background-color: #d7001d;
          color: white;
          border: none;
          padding: 12px 20px;
          border-radius: 8px;
          cursor: pointer;
          font-weight: bold;
          transition: background 0.3s;
          width: calc(100% - 54.2rem);
          cursor: pointer;
          font-size: 3.1rem;
          padding: 0;
          border-radius: 0;
          background-color: #512D5D; }
          @media screen and (max-width: 768px) {
            .screen .how-to .input-group label button {
              width: 24%;
              font-size: 4.6666666667vw; } }
  .screen p.excuse {
    font-size: 1.2rem;
    line-height: 2;
    font-weight: 500;
    text-align: left;
    position: relative;
    z-index: 3;
    margin-bottom: 8rem; }
    @media screen and (max-width: 768px) {
      .screen p.excuse {
        font-size: 3.2vw;
        line-height: 5.8666666667vw;
        margin-bottom: 6.6666666667vw; } }
  .screen .about-box {
    background: url("../images/bg_about.png") no-repeat;
    background-size: contain;
    border-radius: 0;
    padding: 0;
    margin-bottom: 0;
    text-align: center;
    width: 70.2495rem;
    height: 25.5784rem;
    margin: auto;
    position: relative;
    z-index: 3;
    margin-bottom: 8rem;
    padding: 4.5rem 5.3rem 0; }
    @media screen and (max-width: 768px) {
      .screen .about-box {
        background: url("../images/bg_about_sp.png") no-repeat;
        background-size: contain;
        width: 83.1630666667vw;
        height: 64.8757333333vw;
        padding: 8vw 10.1333333333vw 0; } }
    .screen .about-box figure.kumo_experience03 {
      position: absolute;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        .screen .about-box figure.kumo_experience03 {
          width: 113.9648vw;
          position: absolute;
          top: -7vw;
          left: -14vw; } }
    .screen .about-box .about-title {
      font-size: 3.5rem;
      font-weight: 700;
      margin-bottom: 2.4rem;
      color: #512D5D; }
      @media screen and (max-width: 768px) {
        .screen .about-box .about-title {
          font-size: 7.0106666667vw; } }
    .screen .about-box .about-text {
      font-size: 1.8rem;
      line-height: 3.2rem;
      font-weight: 700;
      margin-bottom: 1rem;
      color: #512D5D;
      text-align: left; }
      @media screen and (max-width: 768px) {
        .screen .about-box .about-text {
          font-size: 3.7333333333vw;
          line-height: 6.4vw;
          margin-bottom: 3.4666666667vw; } }
    .screen .about-box p.link_text a {
      background-position: top 0.3rem right;
      font-feature-settings: "palt"; }
      @media screen and (max-width: 768px) {
        .screen .about-box p.link_text a {
          font-size: 3.6vw;
          background-position: top 1.2vw right; } }

.fuda-container {
  padding: 9.6rem 20px;
  margin-top: 20px;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
  flex-direction: column; }
  @media screen and (max-width: 768px) {
    .fuda-container {
      padding: 9.6rem 0; } }

.share-btn, .save-btn {
  flex: initial; }

.kanji-box {
  box-sizing: border-box;
  border: 0.2rem solid #000;
  outline: 0.625rem solid #000;
  outline-offset: 3px;
  padding: 20px 16px 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  box-shadow: none;
  writing-mode: horizontal-tb;
  width: 18rem;
  background: url("../images/bg_fuda2.png") repeat-y center/19.6rem auto, linear-gradient(to bottom, #D0A900 0%, #FAF6E5 50%, #D0A900 100%);
  background-size: 19.6rem;
  position: relative;
  z-index: 3; }
  @media screen and (max-width: 768px) {
    .kanji-box {
      padding: 1.8666666667vw 2.1333333333vw 1.8666666667vw;
      outline-offset: 2px; } }
  .kanji-box::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.fuda-logo {
  width: 100%;
  margin-bottom: 0; }

.kanji-text {
  font-size: 15.4rem;
  font-weight: 500;
  color: #000; }

.result-buttons {
  display: flex;
  gap: 4.3rem;
  padding-bottom: 16px;
  padding-top: 9.15rem;
  justify-content: center;
  background: #fff;
  margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    .result-buttons {
      width: 100%;
      margin: 0 auto 0;
      padding-bottom: 12.8vw;
      padding-top: 12.5333333333vw;
      flex-direction: column;
      row-gap: 2.1333333333vw; } }
  .result-buttons figure.kumo_experience02_result {
    position: absolute;
    z-index: 3;
    width: 35.3757rem;
    top: -28rem;
    right: -36rem; }
    @media screen and (max-width: 768px) {
      .result-buttons figure.kumo_experience02_result {
        width: 53.0098666667vw;
        position: absolute;
        top: -17vw;
        right: -30vw; } }
  .result-buttons button {
    width: 30.4338rem;
    height: 7.20551rem;
    background: url("../images/bg_button.png") no-repeat;
    background-size: contain;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      .result-buttons button {
        width: 60.8676vw;
        height: 14.4109333333vw;
        font-size: 3.8vw;
        background: url("../images/bg_button.png") no-repeat;
        background-size: contain;
        gap: 4vw;
        margin: auto; } }
    .result-buttons button span {
      width: 0.84183rem;
      height: 2rem;
      background: url("../images/arrow_white.png") no-repeat;
      background-size: 0.84183rem;
      background-position: center center; }
      @media screen and (max-width: 768px) {
        .result-buttons button span {
          background-size: contain;
          width: 1.6836666667vw;
          height: 3.2142666667vw; } }
    .result-buttons button:hover {
      background-color: transparent; }

.back-btn {
  width: auto;
  background-color: transparent;
  color: inherit;
  border: none;
  margin-bottom: 3rem;
  font-size: 1.8rem; }
  .back-btn:hover {
    background-color: transparent; }
  .back-btn a {
    font-size: 1.8rem;
    display: inline;
    margin: auto;
    padding-right: 0;
    padding-left: 1.5rem;
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: underline;
    background-image: url(/images/arrow_prev.webp);
    background-repeat: no-repeat;
    background-size: 0.6666rem;
    background-position: top 0.7rem left;
    transition: all 0.4s ease; }
    @media screen and (max-width: 768px) {
      .back-btn a {
        background-size: 1.6665333333vw;
        background-position: top 1.4rem left;
        padding-left: 1em; } }
    .back-btn a:hover {
      background: #fff; }

.link-buttons {
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  font-size: 1.8rem;
  background: #fff; }

section.linkOtherPages {
  width: 100%;
  padding-bottom: 6rem; }
  @media screen and (max-width: 768px) {
    section.linkOtherPages {
      padding-bottom: 13.0666666667vw; } }
  section.linkOtherPages ul {
    width: 92.4rem;
    margin: auto;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      section.linkOtherPages ul {
        width: 82.6666666667vw;
        flex-wrap: wrap;
        border-left: none; } }
    section.linkOtherPages ul figure.kumo_otherlink {
      position: absolute;
      z-index: 3;
      width: 149.946rem;
      top: -12rem;
      left: -25rem;
      pointer-events: none; }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul figure.kumo_otherlink {
          width: 46.4634666667vw;
          position: absolute;
          top: auto;
          bottom: -12vw;
          left: -34vw; } }
    section.linkOtherPages ul li {
      width: 23rem;
      height: 19.4847rem;
      border-right: 0.03rem solid #512D5D; }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul li {
          width: 50%;
          height: auto; } }
      section.linkOtherPages ul li:nth-of-type(1) {
        border-left: 0.03rem solid #512D5D; }
        @media screen and (max-width: 768px) {
          section.linkOtherPages ul li:nth-of-type(1) {
            border-left: none; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul li:nth-of-type(1), section.linkOtherPages ul li:nth-of-type(2) {
          border-bottom: 0.03rem solid #512D5D;
          padding-bottom: 2.9333333333vw; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul li:nth-of-type(3), section.linkOtherPages ul li:nth-of-type(4) {
          padding-top: 2vw; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul li:nth-of-type(2), section.linkOtherPages ul li:nth-of-type(4) {
          border-right: none; } }
      section.linkOtherPages ul li a {
        width: 100%;
        height: 100%;
        display: block;
        padding-top: 5rem;
        font-size: 3.6rem;
        line-height: 4.4rem;
        font-weight: 700;
        background: url("../images/bg_link_other.png") no-repeat;
        background-size: 3.15955rem;
        background-position: top center;
        text-align: center;
        color: #512D5D;
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 768px) {
          section.linkOtherPages ul li a {
            background-size: 5.65184vw;
            padding-top: 9.3333333333vw;
            background-position: top 1.8666666667vw center;
            font-size: 6.4vw;
            line-height: 7.8666666667vw; } }
        section.linkOtherPages ul li a:visited {
          color: #512D5D; }
        section.linkOtherPages ul li a span {
          font-size: 1.6rem;
          line-height: 2.4rem;
          margin-top: 0.5rem;
          display: block; }
          @media screen and (max-width: 768px) {
            section.linkOtherPages ul li a span {
              font-size: 2.9333333333vw;
              line-height: 4.2666666667vw; } }
  section.linkOtherPages ul.quintet {
    width: auto;
    margin: auto;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      section.linkOtherPages ul.quintet {
        width: 82.6666666667vw;
        flex-wrap: wrap;
        border-left: none;
        justify-content: flex-start; } }
    section.linkOtherPages ul.quintet.quatre figure.kumo_otherlink {
      position: absolute;
      z-index: 3;
      width: 149.946rem;
      top: -8rem;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet.quatre figure.kumo_otherlink {
          width: 46.4634666667vw;
          position: absolute;
          top: auto;
          bottom: -13vw;
          left: auto;
          right: 70vw;
          transform: none; } }
    @media screen and (max-width: 768px) {
      section.linkOtherPages ul.quintet.quatre li:nth-of-type(3), section.linkOtherPages ul.quintet.quatre li:nth-of-type(4) {
        border-bottom: none; } }
    section.linkOtherPages ul.quintet figure.kumo_otherlink {
      position: absolute;
      z-index: 3;
      width: 149.946rem;
      top: -12rem;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet figure.kumo_otherlink {
          width: 46.4634666667vw;
          position: absolute;
          top: auto;
          bottom: 8vw;
          left: auto;
          right: -18vw;
          transform: none; } }
    section.linkOtherPages ul.quintet li {
      width: 16rem;
      height: 13.5678rem;
      border-right: 0.03rem solid #512D5D; }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet li {
          width: 50%;
          height: auto; } }
      section.linkOtherPages ul.quintet li:nth-of-type(1) {
        border-left: 0.03rem solid #512D5D; }
        @media screen and (max-width: 768px) {
          section.linkOtherPages ul.quintet li:nth-of-type(1) {
            border-left: none; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet li:nth-of-type(1), section.linkOtherPages ul.quintet li:nth-of-type(2) {
          border-bottom: 0.03rem solid #512D5D;
          padding-bottom: 2.9333333333vw; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet li:nth-of-type(3), section.linkOtherPages ul.quintet li:nth-of-type(4) {
          padding-top: 2vw;
          padding-bottom: 3.5vw;
          border-bottom: 0.03rem solid #512D5D; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet li:nth-of-type(2), section.linkOtherPages ul.quintet li:nth-of-type(4) {
          border-right: none; } }
      @media screen and (max-width: 768px) {
        section.linkOtherPages ul.quintet li:nth-of-type(5) {
          padding-top: 2vw; } }
      section.linkOtherPages ul.quintet li a {
        width: 100%;
        height: 100%;
        display: block;
        padding-top: 3rem;
        font-size: 2.2rem;
        line-height: 3rem;
        font-weight: 700;
        background: url("../images/bg_link_other.png") no-repeat;
        background-size: 2.2rem;
        background-position: top center;
        text-align: center;
        color: #512D5D; }
        @media screen and (max-width: 768px) {
          section.linkOtherPages ul.quintet li a {
            background-size: 5.65184vw;
            padding-top: 9.3333333333vw;
            background-position: top 1.8666666667vw center;
            font-size: 6.4vw;
            line-height: 7.8666666667vw; } }
        section.linkOtherPages ul.quintet li a:visited {
          color: #512D5D; }
        section.linkOtherPages ul.quintet li a span {
          font-size: 1.2rem;
          line-height: 1.6rem;
          margin-top: 0.5rem;
          display: block; }
          @media screen and (max-width: 768px) {
            section.linkOtherPages ul.quintet li a span {
              font-size: 2.9333333333vw;
              line-height: 4.2666666667vw; } }

section.schedule {
  width: 100%;
  margin-top: 5rem; }
  section.schedule .inner {
    width: 104rem;
    padding: 0 2rem;
    margin: auto;
    position: static; }
    @media screen and (max-width: 768px) {
      section.schedule .inner {
        width: 82.6666666667vw; } }
    section.schedule .inner h2.h2_schedule {
      width: 100%;
      font-size: 3.6rem;
      font-weight: 700;
      background: url(/images/bg_h2_schedule.png) no-repeat;
      background-size: 100%;
      background-position: center center;
      text-align: center;
      margin-bottom: 5rem;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        section.schedule .inner h2.h2_schedule {
          font-size: 7.2vw;
          background: url(/images/bg_h2_schedule_sp.png) no-repeat;
          background-size: 100%;
          background-position: center center;
          letter-spacing: -0.1em; } }

section.pastevents {
  width: 100%;
  margin-top: 5rem;
  padding-bottom: 7.5rem; }
  section.pastevents .inner {
    width: 104rem;
    padding: 0 2rem;
    margin: auto;
    position: static; }
    @media screen and (max-width: 768px) {
      section.pastevents .inner {
        width: 82.6666666667vw; } }
    section.pastevents .inner h2.h2_pastevents {
      width: 100%;
      font-size: 3.6rem;
      font-weight: 700;
      background: url(/images/bg_h2_pastevents.png) no-repeat;
      background-size: 100%;
      background-position: center center;
      text-align: center;
      margin-bottom: 5rem;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        section.pastevents .inner h2.h2_pastevents {
          font-size: 7.2vw;
          background: url(/images/bg_h2_pastevents_sp.png) no-repeat;
          background-size: 100%;
          background-position: center center;
          letter-spacing: -0.15em; } }

ul.events {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5rem;
  row-gap: 5rem; }
  @media screen and (max-width: 768px) {
    ul.events {
      row-gap: 4.6666666667vw; } }
  ul.events li {
    width: 47.5rem; }
    @media screen and (max-width: 768px) {
      ul.events li {
        width: 100%; } }
    ul.events li a {
      width: 100%;
      height: 100%;
      text-decoration: none;
      display: block;
      color: #512D5D; }
      ul.events li a.construction {
        pointer-events: none; }
      ul.events li a .ainner {
        position: relative;
        z-index: 3;
        padding: 3rem;
        display: flex;
        flex-direction: column; }
        @media screen and (max-width: 768px) {
          ul.events li a .ainner {
            padding: 6rem 3rem; } }
      ul.events li a img {
        margin-bottom: 4rem; }
        @media screen and (max-width: 768px) {
          ul.events li a img {
            margin-bottom: 4.5333333333vw; } }
      ul.events li a dl {
        width: 100%;
        display: flex;
        justify-content: space-between;
        font-feature-settings: "palt"; }
        ul.events li a dl + dl {
          margin-top: 1.4rem; }
          @media screen and (max-width: 768px) {
            ul.events li a dl + dl {
              margin-top: 0; } }
        ul.events li a dl dt {
          width: 9.50897rem;
          height: 3.02898rem;
          background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 97.36 32.56'%3E%3Cstyle%3E.cls-1%7Bfill:%23512d5d%3B%7D.cls-1,.cls-3%7Bstroke-width:0px%3B%7D.cls-3%7Bfill:%23fff%3B%7D%3C/style%3E%3Cpolygon class='cls-1' points='1.13 6.48 6.48 1.13 90.88 1.13 96.22 6.48 96.22 26.08 90.88 31.42 6.48 31.42 1.13 26.08 1.13 6.48'/%3E%3Cpath class='cls-3' d='M1.13 6.48L6.48 1.13h84.4l5.34 5.35v19.6l-5.34 5.34H6.48l-5.35-5.34V6.48zm.8.33v18.94l5 5h83.86l5-5V6.81l-5-5H6.93l-5 5z'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-size: 100% 100%;
          background-position: center;
          font-size: 1.5rem;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 768px) {
            ul.events li a dl dt {
              margin-bottom: 3.2vw;
              font-size: 2.6666666667vw;
              width: 16.7357333333vw;
              height: 5.331vw; } }
        ul.events li a dl dd {
          width: 30rem;
          font-size: 1.8rem;
          line-height: 3rem;
          font-weight: 700; }
          @media screen and (max-width: 768px) {
            ul.events li a dl dd {
              width: 50.6666666667vw;
              font-size: 3.2vw; } }
      ul.events li a p.link_text {
        margin-top: 2rem;
        text-align: center; }

section.eventpost {
  width: 100%;
  padding-top: 8.4rem; }
  @media screen and (max-width: 768px) {
    section.eventpost {
      padding-top: 9.3333333333vw; } }
  section.eventpost .inner {
    width: 100rem;
    background: #fff;
    padding: 5rem 5.4rem;
    margin: auto;
    position: static; }
    @media screen and (max-width: 768px) {
      section.eventpost .inner {
        width: 82.6666666667vw;
        padding: 5.3333333333vw; } }
    section.eventpost .inner header {
      width: 100%;
      padding-bottom: 4.5rem;
      background: url("../images/bg_post_header.png") no-repeat;
      background-size: 100%;
      background-position: bottom center;
      margin-bottom: 2rem;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        section.eventpost .inner header {
          padding-bottom: 3rem;
          background: url("../images/bg_post_header_sp.png") no-repeat;
          background-size: 100%;
          background-position: bottom center; } }
    section.eventpost .inner h2 {
      font-size: 4rem;
      line-height: 6rem;
      font-weight: 700;
      margin-bottom: 3.5rem;
      word-break: break-word;
      overflow-wrap: break-word; }
      @media screen and (max-width: 768px) {
        section.eventpost .inner h2 {
          font-size: 5.3333333333vw;
          line-height: 8.5333333333vw; } }
    section.eventpost .inner p.date {
      font-size: 2rem;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        section.eventpost .inner p.date {
          font-size: 4.2666666667vw; } }
    section.eventpost .inner .postCont {
      position: relative;
      z-index: 3;
      /*
      figure {
      	margin:4.3rem auto auto;
      }
      */ }
      section.eventpost .inner .postCont p.postlead {
        font-size: 1.6rem;
        line-height: 3.2rem;
        font-weight: 700;
        word-break: break-word;
        overflow-wrap: break-word; }
        section.eventpost .inner .postCont p.postlead + * {
          margin-top: 4rem; }
        @media screen and (max-width: 768px) {
          section.eventpost .inner .postCont p.postlead {
            font-size: 3.7333333333vw;
            line-height: 6.9333333333vw; } }
        section.eventpost .inner .postCont p.postlead a {
          color: #512D5D;
          text-decoration: underline; }
      section.eventpost .inner .postCont dl.spec {
        width: 100%;
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          section.eventpost .inner .postCont dl.spec {
            flex-direction: column;
            row-gap: 1.8666666667vw; } }
        section.eventpost .inner .postCont dl.spec + dl.spec {
          margin-top: 1.5rem; }
          @media screen and (max-width: 768px) {
            section.eventpost .inner .postCont dl.spec + dl.spec {
              margin-top: 2.6666666667vw; } }
        section.eventpost .inner .postCont dl.spec dt {
          width: 9.50897rem;
          height: 3.02898rem;
          background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 97.36 32.56'%3E%3Cstyle%3E.cls-1%7Bfill:%23512d5d%3B%7D.cls-1,.cls-3%7Bstroke-width:0px%3B%7D.cls-3%7Bfill:%23fff%3B%7D%3C/style%3E%3Cpolygon class='cls-1' points='1.13 6.48 6.48 1.13 90.88 1.13 96.22 6.48 96.22 26.08 90.88 31.42 6.48 31.42 1.13 26.08 1.13 6.48'/%3E%3Cpath class='cls-3' d='M1.13 6.48L6.48 1.13h84.4l5.34 5.35v19.6l-5.34 5.34H6.48l-5.35-5.34V6.48zm.8.33v18.94l5 5h83.86l5-5V6.81l-5-5H6.93l-5 5z'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-size: 100% 100%;
          background-position: center;
          font-size: 1.5rem;
          color: #fff;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media screen and (max-width: 768px) {
            section.eventpost .inner .postCont dl.spec dt {
              width: 16.7357333333vw;
              height: 5.331vw;
              font-size: 2.6666666667vw; } }
        section.eventpost .inner .postCont dl.spec dd {
          width: 76.8rem;
          font-size: 1.8rem;
          line-height: 3rem;
          font-weight: 700;
          word-break: break-word;
          overflow-wrap: break-word; }
          @media screen and (max-width: 768px) {
            section.eventpost .inner .postCont dl.spec dd {
              font-size: 3.7333333333vw;
              line-height: 5.3333333333vw;
              width: 100%; } }
      section.eventpost .inner .postCont ul.postFig {
        margin: 4.3rem auto auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 1.2rem;
        row-gap: 2.5rem; }
        @media screen and (max-width: 768px) {
          section.eventpost .inner .postCont ul.postFig {
            gap: 2.4rem; } }
        section.eventpost .inner .postCont ul.postFig li {
          width: 44rem; }
          @media screen and (max-width: 768px) {
            section.eventpost .inner .postCont ul.postFig li {
              width: 100%; } }
          section.eventpost .inner .postCont ul.postFig li p {
            font-size: 1.4rem; }
  section.eventpost .link_textBox {
    margin: 4rem auto 6rem;
    text-align: center;
    position: relative;
    z-index: 3; }
    section.eventpost .link_textBox a {
      padding-left: 1.5rem;
      padding-right: 0;
      background-image: url(/images/arrow_prev.webp);
      background-repeat: no-repeat;
      background-size: 0.6666rem;
      background-position: top 0.7rem left; }
      @media screen and (max-width: 768px) {
        section.eventpost .link_textBox a {
          background-size: 1.6665333333vw;
          background-position: top 1.4rem left;
          padding-left: 1em; } }

section.businessSec {
  width: 100%;
  padding-top: 8.6rem;
  position: relative; }
  section.businessSec + section.business {
    margin-top: 6rem;
    padding-top: 0;
    padding-bottom: 7rem; }
  @media screen and (max-width: 768px) {
    section.businessSec img.kumo_project {
      width: 39.4570666667vw;
      position: absolute;
      top: 0;
      right: -12vw; } }
  section.businessSec .inner {
    width: 104rem;
    padding: 0 2rem;
    margin: auto;
    position: static; }
    @media screen and (max-width: 768px) {
      section.businessSec .inner {
        width: 82.6666666667vw; } }
    section.businessSec .inner.inner2 {
      padding-bottom: 8rem; }
      @media screen and (max-width: 768px) {
        section.businessSec .inner.inner2 {
          padding: 0 0 19.4666666667vw 0; } }
    section.businessSec .inner h2.h2_business {
      width: 100%;
      font-size: 3.6rem;
      font-weight: 700;
      background: url("../images/bg_h2_business.png") no-repeat;
      background-size: 100%;
      background-position: center center;
      margin-bottom: 3rem;
      text-align: center;
      position: relative;
      z-index: 3; }
      @media screen and (max-width: 768px) {
        section.businessSec .inner h2.h2_business {
          background: url("../images/bg_h2_business_sp.png") no-repeat;
          background-size: 100%;
          background-position: center center;
          font-size: 7.2vw;
          letter-spacing: -0.05em;
          margin-bottom: 4rem; } }

ul.businesses {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 2.5rem;
  row-gap: 2.5rem; }
  @media screen and (max-width: 768px) {
    ul.businesses {
      row-gap: 4.8vw; } }
  ul.businesses li {
    width: 31.6rem;
    display: flex; }
    @media screen and (max-width: 768px) {
      ul.businesses li {
        width: 100%; } }
    ul.businesses li a {
      display: flex;
      flex-direction: column; }
    ul.businesses li dl {
      width: 100%;
      background: #fff;
      flex-grow: 1; }
      ul.businesses li dl dt {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 3; }
      ul.businesses li dl dd {
        position: relative;
        z-index: 3;
        padding: 1.8rem 3em;
        font-feature-settings: "palt"; }
        @media screen and (max-width: 768px) {
          ul.businesses li dl dd {
            padding-bottom: 4vw; } }
        ul.businesses li dl dd h3 {
          font-size: 1.6rem;
          line-height: 2rem;
          font-weight: 900;
          margin-bottom: 1.5rem; }
          @media screen and (max-width: 768px) {
            ul.businesses li dl dd h3 {
              font-size: 4vw;
              line-height: 6.3306666667vw;
              margin-bottom: 4.2666666667vw; } }
        ul.businesses li dl dd p.detail {
          font-size: 1.4rem;
          line-height: 2.5rem;
          font-weight: 400;
          margin-bottom: 1.2rem; }
          @media screen and (max-width: 768px) {
            ul.businesses li dl dd p.detail {
              font-size: 3.7333333333vw;
              line-height: 6.9333333333vw; } }
        ul.businesses li dl dd p.charge {
          font-size: 1.6rem;
          line-height: 1;
          font-weight: 700;
          margin-bottom: 2rem; }
          @media screen and (max-width: 768px) {
            ul.businesses li dl dd p.charge {
              font-size: 3.7333333333vw;
              line-height: 6.9333333333vw; } }
        ul.businesses li dl dd p.ext_link {
          font-size: 1.8rem;
          line-height: 3.2rem;
          font-weight: 500;
          color: #512D5D;
          text-decoration: underline;
          background-image: url("../images/ico_ext_link.png");
          background-size: 1.76509rem;
          background-repeat: no-repeat;
          background-position: bottom 0.5rem right;
          padding-right: 3rem;
          display: inline; }
          @media screen and (max-width: 768px) {
            ul.businesses li dl dd p.ext_link {
              font-size: 4vw;
              line-height: 6.4vw;
              background-size: 3.5866666667vw;
              padding-right: 4rem; } }

section.sitepolicySec {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 7rem; }
  @media screen and (max-width: 768px) {
    section.sitepolicySec {
      padding-top: 6.6666666667vw; } }
  section.sitepolicySec .inner {
    width: 100rem;
    padding: 4.5rem 5rem;
    margin: auto;
    background: #fff;
    position: static; }
    @media screen and (max-width: 768px) {
      section.sitepolicySec .inner {
        width: 82.6666666667vw;
        margin: auto;
        padding: 4.0666666667vw; } }

.childSec {
  position: relative;
  z-index: 3;
  font-feature-settings: "palt"; }
  .childSec + .childSec {
    margin-top: 7rem; }
  .childSec h2 {
    font-size: 2.027rem;
    font-weight: 700;
    margin-bottom: 2.3rem; }
    @media screen and (max-width: 768px) {
      .childSec h2 {
        font-size: 4.2666666667vw;
        margin-bottom: 4vw; } }
  .childSec h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    border-bottom: 1px solid #000;
    padding-bottom: 0.6rem;
    margin-bottom: 1rem; }
    @media screen and (max-width: 768px) {
      .childSec h3 {
        font-size: 4vw;
        margin-bottom: 2.6666666667vw; } }
  .childSec h4 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 2.2rem; }
    @media screen and (max-width: 768px) {
      .childSec h4 {
        font-size: 3.7333333333vw; } }
  .childSec p.lead {
    font-size: 1.6rem;
    line-height: 2.8rem;
    color: #000;
    margin-bottom: 2.8rem;
    overflow-wrap: break-word; }
    @media screen and (max-width: 768px) {
      .childSec p.lead {
        font-size: 3.7333333333vw;
        line-height: 6.9333333333vw; } }
    .childSec p.lead.last {
      margin-bottom: 0; }
    .childSec p.lead a {
      text-decoration: underline;
      color: #000; }
  .childSec p.excuse {
    font-size: 1.4rem;
    line-height: 2.45rem;
    color: #000; }
    @media screen and (max-width: 768px) {
      .childSec p.excuse {
        font-size: 3.2vw;
        line-height: 5.6vw; } }
  .childSec ol {
    margin-left: 2em;
    margin-bottom: 4.3rem; }
    @media screen and (max-width: 768px) {
      .childSec ol {
        margin-left: 3em; } }
    .childSec ol li {
      font-size: 1.6rem;
      line-height: 2.8rem;
      color: #000;
      margin-bottom: 1.5rem;
      overflow-wrap: break-word; }
      @media screen and (max-width: 768px) {
        .childSec ol li {
          font-size: 3.7333333333vw;
          line-height: 6.9333333333vw; } }
      .childSec ol li a {
        color: #000;
        text-decoration: underline; }

section.sitemapSec {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 9rem; }
  section.sitemapSec .inner {
    width: 100rem;
    margin: auto;
    padding: 6rem 6.9rem;
    background: #fff;
    position: static; }
    @media screen and (max-width: 768px) {
      section.sitemapSec .inner {
        width: 82.6666666667vw;
        padding: 6.6666666667vw 4vw; } }

ul.sitemapUl {
  position: relative;
  z-index: 3; }
  ul.sitemapUl li {
    margin-bottom: 2.6rem; }
    ul.sitemapUl li:last-of-type {
      margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      ul.sitemapUl li {
        margin-bottom: 5.6vw; } }
    ul.sitemapUl li.hasChild {
      display: flex;
      justify-content: space-between;
      justify-content: flex-start;
      gap: 8.8rem; }
      @media screen and (max-width: 768px) {
        ul.sitemapUl li.hasChild {
          flex-direction: column;
          gap: 0;
          row-gap: 5.6vw; } }
    ul.sitemapUl li a {
      font-size: 2rem;
      font-weight: 400;
      color: #000;
      text-decoration: underline; }
      @media screen and (max-width: 768px) {
        ul.sitemapUl li a {
          font-size: 4.2666666667vw; } }
      ul.sitemapUl li a:visited {
        color: #000; }
    @media screen and (max-width: 768px) {
      ul.sitemapUl li ul.child {
        margin-left: 8.4vw; } }

section.episodeSec {
  width: 100%;
  padding-top: 8rem;
  padding-bottom: 12rem; }
  @media screen and (max-width: 768px) {
    section.episodeSec {
      padding-top: 8vw;
      padding-bottom: 24vw; } }
  section.episodeSec .inner {
    width: 104rem;
    padding: 0 2rem;
    position: static;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    gap: 5rem;
    row-gap: 5rem;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      section.episodeSec .inner {
        width: 82.6666666667vw;
        padding: 0 0; } }

.episodepost {
  width: 47.5rem;
  background: #fff;
  padding: 3.75rem 3.75rem 4.8rem;
  display: flex;
  flex-direction: column;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .episodepost {
      width: 100%;
      padding: 4.2666666667vw 4.2666666667vw 6.4vw; } }
  .episodepost figure {
    margin-bottom: 2rem;
    position: relative;
    z-index: 3; }
  .episodepost p.lead {
    font-size: 1.8rem;
    line-height: 3rem;
    font-weight: 700;
    position: relative;
    z-index: 3;
    flex-grow: 1; }
    @media screen and (max-width: 768px) {
      .episodepost p.lead {
        font-size: 4vw;
        line-height: 6.4vw; } }
  .episodepost p.link_text {
    text-align: center;
    margin-top: 2.8rem;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      .episodepost p.link_text {
        margin-top: 4.8vw; } }
    .episodepost p.link_text span {
      font-size: 1.8rem;
      background-position: top 1rem right; }
      @media screen and (max-width: 768px) {
        .episodepost p.link_text span {
          font-size: 3.6vw; } }

section.logoinfo {
  width: 100%;
  padding: 7rem 0 9rem; }
  @media screen and (max-width: 768px) {
    section.logoinfo {
      padding: 16.8vw 0 17.3333333333vw; } }
  section.logoinfo figure {
    width: 50.3803rem;
    margin: auto auto 3.6rem;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      section.logoinfo figure {
        width: 82.6666666667vw; } }
  section.logoinfo p.lead {
    font-size: 2rem;
    line-height: 4.5rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 768px) {
      section.logoinfo p.lead {
        font-size: 4.2666666667vw;
        line-height: 8.5333333333vw; } }

.back-top {
  width: 7.9436rem;
  height: 7.9436rem;
  position: fixed;
  bottom: 5rem;
  right: 5rem;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.4s ease; }
  @media screen and (max-width: 768px) {
    .back-top {
      width: 16vw;
      height: 16vw;
      bottom: 2.4vw;
      right: 2.4vw; } }
  .back-top.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }
  .back-top.bottomEnd {
    position: fixed !important; }
  .back-top a {
    width: 100%;
    height: 100%;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg id='layout' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 79.44 79.44'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23b1956a;%7D.cls-1,.cls-2%7Bstroke-width:0px;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ccircle class='cls-1' cx='39.72' cy='39.72' r='39.72'/%3E%3Cpolygon class='cls-2' points='39.72 25.98 25.09 51.33 54.35 51.33 39.72 25.98'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain; }

/* ==========================================
   モーダル全体のスタイル（初期状態は非表示）
   ========================================== */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  /* 背景の黒透過 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  /* アニメーション用の初期状態（透明 ＆ 非表示） */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease; }

/* JSで「.is-open」クラスがついたら表示する */
.modal.is-open {
  opacity: 1;
  visibility: visible; }

/* ==========================================
   コンテンツエリア（白背景のボックス）
   ========================================== */
.modal-content {
  background-color: #fff;
  width: 90%;
  max-width: 800px;
  /* PC時の最大幅 */
  max-height: 90vh;
  /* 画面からはみ出さないように */
  position: relative;
  box-sizing: border-box;
  display: flex; }
  .modal-content .modal-content-inner {
    padding: 5.6rem;
    display: flex;
    gap: 30px;
    overflow-y: auto; }
    @media screen and (max-width: 768px) {
      .modal-content .modal-content-inner {
        flex-direction: column;
        gap: 20px;
        padding: 4.2666666667vw;
        flex: 1;
        min-height: 0; } }

/* 画像エリア */
.modal-content figure {
  flex: 1;
  margin: 0; }

.modal-content figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 4px; }

/* テキストエリア */
.modal-content .txts {
  flex: 1;
  display: flex;
  flex-direction: column; }

.modal-content .txts h2 {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px; }

.modal-content .txts p {
  font-size: 1.6rem;
  line-height: 2.5rem;
  font-weight: 500;
  margin: 0; }

/* ==========================================
   閉じるボタン（×ボタン）の装飾
   ========================================== */
.close-btn {
  position: absolute;
  top: -4.8rem;
  right: 0;
  width: 4rem;
  height: 4rem;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1010;
  background-image: url("../images/close_modal.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; }

/* ==========================================
   レスポンシブ対応（スマホ表示：縦並びにする）
   ========================================== */
@media (max-width: 768px) {
  .modal-content .txts h2 {
    font-size: 4vw;
    line-height: 6.9333333333vw; }

  .modal-content .txts p {
    font-size: 3.4666666667vw;
    line-height: 6.1333333333vw; } }
#header-placeholder, #footer-placeholder {
  width: 100%; }

/*add top_cloud*/
section.news::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 12rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_1.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.news::after {
      display: none; } }

section.intro::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none; }
  @media screen and (max-width: 768px) {
    section.intro::after {
      display: block;
      height: 400%;
      background: url("../images/cloud_1_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: 2.6666666667vw;
      z-index: 2; } }

section.knowledge::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_2.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.knowledge::after {
      display: none; } }

section.episode::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -42rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_3.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.episode::after {
      background: url("../images/cloud_2_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: -12vw; } }

section.campaign::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -17rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_4.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.campaign::after {
      background: url("../images/cloud_3_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: -10vw; } }

section.business::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -12rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_5.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.business::after {
      background: url("../images/cloud_4_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: -6.6666666667vw; } }

section.experience::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -8rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_6.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.experience::after {
      background: url("../images/cloud_5_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: -20vw; } }

section.relation::after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -4rem;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/cloud_7.png") top center no-repeat;
  background-size: 220rem auto; }
  @media screen and (max-width: 768px) {
    section.relation::after {
      background: url("../images/cloud_6_sp.png") top center no-repeat;
      background-size: 100% auto;
      top: -10.6666666667vw; } }

.slick-prev,
.slick-next {
  z-index: 10; }

/*add*/
body {
  padding-top: 5.4rem;
  background: url("../images/bg.jpg") repeat;
  background-size: 140rem auto; }
  @media screen and (max-width: 768px) {
    body {
      background: url("../images/bg_sp.jpg") repeat;
      background-size: 100% auto;
      padding-top: 13.3333333333vw; } }

header.pageHeader {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000; }

.click_none {
  pointer-events: none; }

