/* ======================================================================
 reset
====================================================================== */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
html {
  overflow-y: scroll;
}
/* html, body {
  height: 100%;
} */
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
ul {
  list-style: none;
  padding-left: 0;
}



:root {
  --color-main: #f00f1d;
  --color-text: #333;
  --font-base: "Noto Sans JP", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic',Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  --font-alpha: "Montserrat", sans-serif;
  --font-awesome: "Font Awesome 6 Free";
  --base-width: 1240px;
}

html {
  font-size: 62.5%;
}

body {
  font-family: var(--font-base);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.6;
  word-wrap : break-word;
	word-break: break-all;
  min-width: var(--base-width);
	overflow: hidden;
  @media (width <= 768px) {
    min-width: inherit;
  }
}

img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

strong {
	font-weight: bold;
}

a {
  transition: opacity .2s;
	&:link {
		color: var(--color-text);
		text-decoration: none;
		cursor: pointer;
	}
	&:visited {
		color: var(--color-text);
		text-decoration: none;
	}
	&:hover {
		color: var(--color-text);
		text-decoration: none;
    /* opacity: .8; */
    @media (width >= 769px) {
      opacity: .8;
    }
	}
	&:active {
		color: var(--color-text);
		text-decoration: none;
	}
}

/* モバイル時 電話番号カラー */
a[href^="tel"]{
  color: var(--color-text);
}

:focus-ring {
  outline: none;
}


/* input */
/* ( 1 ) radio / checkbox 以外リセット */
input[type='button'], input[type='submit'], input[type='text'], input[type='email'], input[type='tel'],  input[type='url'], input[type='password'], input[type='reset'], input[type='search'], textarea, select {
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  border-image: none;
  background: transparent;
  font-family: inherit; /* 子要素へ引き継ぎ */
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: vertical;
}

input, textarea {
  &:placeholder-shown {
    color: var(--color-text);
  }
  &::placeholder {
    color: var(--color-text);
  }
  &:focus {
    &:placeholder-shown {
      color: var(--color-text);
    }
    &::placeholder {
      color: var(--color-text);
    }
  }
}

.red {
  color: var(--color-main);
}

.pink {
  color: #fe4b8a;
}

.gray {
  color: #666666;
}

strong {
  font-weight: 700;
}

.red-border {
  border-bottom: 4px solid var(--color-main);
}


/* =================================
 l-content__size
================================= */
.l-content__size-pc-1 {
  width: var(--base-width);
  margin: 0 auto;
  padding-inline: 20px;
  @media (width <= 768px) {
    width: auto;
    padding-inline: calc(30/750*100vw);
  }
}


/* =================================
 l-header
================================= */
.l-header {
  z-index: 998;
  position: fixed;
  top: 25px;
  left: 50px;
  @media (width <= 768px) {
    top: calc(30/750*100vw);
    left: calc(30/750*100vw);
  }
}

.l-header__logo {
  /* margin: 25px 0 -55px 50px; */
  @media (width <= 768px) {
    /* width: calc(359/750*100vw); */
    /* margin: calc(30/750*100vw) 0 calc(-75/750*100vw) calc(30/750*100vw); */
  }
  img {
    width: 241px;
    @media (width <= 768px) {
      width: calc(359/750*100vw);
    }
  }
}



/* =================================
 l-side
================================= */
.l-side {
  z-index: 998;
  position: fixed;
  right: 0;
  top: calc(50% - 265px);
  @media (width <= 768px) {
    top: inherit;
    bottom: 0;
    display: flex;
  }
}

.l-side__item {
  @media (width <= 768px) {
    width: calc(100vw / 3);
  }
  a {
    width: 60px;
    height: 170px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-radius: 15px 0 0 15px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    writing-mode: vertical-rl;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    background: var(--color-text);
    @media (width <= 768px) {
      width: 100%;
      height: calc(130/750*100vw);
      border-radius: 0;
      font-size: calc(26/750*100vw);
      writing-mode: initial;
      border: 0;
      box-shadow: none;
      text-align: center;
    }
  }
  & + & {
    margin-top: 20px;
    @media (width <= 768px) {
      margin-top: 0;
      border-left: 1px solid #fff;
    }
  }
  &:nth-of-type(1) {
    a {
      background: #ffe925;
      color: var(--color-text);
    }
    
  }
  &:nth-of-type(2) {
    a {
      background: var(--color-main)
    }
  }
}




/* =================================
 l-footer
================================= */
.l-footer {
  background: #353535;
  color: #fff;
  @media (width <= 768px) {
    padding-bottom: calc(130/750*100vw);
  }
}


.l-footer__copy {
  padding: 20px;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  color: #fff;
}



.c-subttl {
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-alpha);
  color: #bababa;
  margin-inline: 50px;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    margin-inline: 0;
  }
}

.c-toTop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: var(--color-main);
  color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 50%;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-base);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1;
  gap: 7px;
  cursor: pointer;
  transition: opacity .2s;
  opacity: 0;
  pointer-events: none;
  @media (width <= 768px) {
    bottom: calc(150/750*100vw);
    right: calc(30/750*100vw);
    width: calc(90/750*100vw);
    height: calc(90/750*100vw);
    font-size: calc(21/750*100vw);
    gap: calc(10/750*100vw);
  }
  &:hover {
    color: #fff;
  }
  &.fade-in {
    opacity: 1;
    pointer-events: inherit;
  }
}

.c-ttl {
  font-size: 5rem;
  font-weight: 900;
  margin-inline: 50px;
  margin-bottom: 80px;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(60/750*100vw);
    margin-inline: 0;
    margin-bottom: calc(80/750*100vw);
  }
}

.c-ttl2__img {
  display: flex;
  justify-content: center;
  margin-bottom: -66px;
  font-size: 18rem;
  font-weight: 700;
  font-family: var(--font-alpha);
  color: #fff;
  line-height: 1;
  @media (width <= 768px) {
    margin-bottom: calc(-50/750*100vw);
    font-size: calc(120/750*100vw);
  }
}

.c-ttl2__wrap {
  text-align: center;
  margin-bottom: 20px;
  @media (width <= 768px) {
    margin-bottom: calc(80/750*100vw);
  }
}

.c-ttl2 {
  font-size: 5rem;
  font-weight: 900;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-feature-settings: "palt";
  @media (width <= 768px) {
    font-size: calc(60/750*100vw);
    padding: 0 calc(110/750*100vw);
  }
  &:before , &:after {
    content: '';
    position: absolute;
    top: calc(50% + 4px);
    display: inline-block;
    width: 50px;
    height: 3px;
    background-color: var(--color-main);
    @media (width <= 768px) {
      top: inherit;
      bottom: calc(70/750*100vw);
      width: calc(120/750*100vw);
      height: 2px;
    }
  }
  &:before {
    left: 0;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  &:after {
    right: 0;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
  }
}

.c-catch {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
  @media (width <= 768px) {
    font-size: calc(40/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

  logo_slider

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
.logo_slider {
  margin-block: 80px;
}

@media screen and (max-width: 768px) {
  .logo_slider {
    padding-block: calc( 70 /750*100vw);
    margin-top: calc( 16 /750*100vw);
    margin-bottom: 0;
    border-bottom: 1px solid #dcdcdc;
  }
}

.logo_slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.logo_slider .logo_slide {
  margin: 0 40px;
}

@media screen and (max-width: 768px) {
  .logo_slider .logo_slide {
    margin: 0 calc( 40 /750*100vw);
  }
}



.bg-grad {
  background: linear-gradient( -60deg, rgb(216,225,225) 0%, rgb(239,242,242) 100%);
  padding-block: 100px 120px;
  @media (width <= 768px) {
    padding-block: calc(80/750*100vw) calc(100/750*100vw);
  }
}

.bg-white {
  background: url(../img/ashirai01.png) calc(50% + 452px) -132px / auto no-repeat;
  padding-block: 140px 120px;
  @media (width <= 768px) {
    background: url(../img/sp/ashirai01.png) right calc(-100/750*100vw) / calc(500/750*100vw) no-repeat;
    padding-block: calc(110/750*100vw) calc(120/750*100vw);
  }
}

.bg-gray {
  background: url(../img/ashirai03.png) calc(50% + 452px) -132px / auto no-repeat #f4f6f6;
  padding-block: 140px 120px;
  @media (width <= 768px) {
    background: url(../img/sp/ashirai04.png) right calc(-100/750*100vw) / calc(500/750*100vw) no-repeat #f4f6f6;
    padding-block: calc(110/750*100vw) calc(120/750*100vw);
  }
}



.p-index__mv {
  background-image: url(../img/mv@2x.png), linear-gradient( -60deg, rgb(216,225,225) 0%, rgb(239,242,242) 100%);
  background-size: 950px, auto;
  background-position: calc(50% + 360px) -30px, center center;
  background-repeat: no-repeat, no-repeat;
  padding-top: 140px;
  padding-top: 100px;
  min-height: 820px;
  min-height: 760px;
  @media (width <= 768px) {
    background-image: url(../img/sp/mv.png), linear-gradient( -60deg, rgb(216,225,225) 0%, rgb(239,242,242) 100%);
    background-size: calc(679/750*100vw), auto;
    background-position: calc(41/750*100vw) top, center center;
    background-repeat: no-repeat, no-repeat;
    padding-top: calc(670/750*100vw);
    min-height: calc(1404/750*100vw);
  }
}

.p-index__mv-inner {
  margin-left: 50px;
  width: 650px;
  @media (width <= 768px) {
    margin-left: 0;
    width: inherit;
  }
}

.p-index__mv-txt-1 {
  background: #fff;
  border-radius: 25px;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  font-size: 2.2rem;
  font-weight: 700;
  padding: 4px 38px;
  margin-bottom: 30px;
  display: inline-block;
  @media (width <= 768px) {
    border-radius: calc(30/750*100vw);
    font-size: calc(26/750*100vw);
    padding: calc(10/750*100vw);
    margin-bottom: calc(16/750*100vw);
    font-feature-settings: "palt";
    display: block;
    text-align: center;
  }
}

.p-index__mv-txt-2 {
  font-size: 2.2rem;
  font-weight: 900;
  padding-bottom: 20px;
  padding-bottom: 10px;
  margin-bottom: -62px;
  display: inline-flex;
  flex-direction: column;
  border-bottom: 2px dotted #d2d3d3;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    padding-bottom: calc(22/750*100vw);
    margin-bottom: calc(24/750*100vw);
    display: block;
    text-align: center;
  }
}

.p-index__mv-txt-3 {
  margin-bottom: 40px;
  @media (width <= 768px) {
    width: calc(620/750*100vw);
    margin-bottom: calc(25/750*100vw);
    margin-inline: auto;
  }
}

.p-index__mv-txt-4 {
  font-size: 2.6rem;
  font-weight: 900;
  position: relative;
  display: inline-block;
  padding: 0 35px;
  margin-left: 30px;
  margin-bottom: 20px;
  @media (width <= 768px) {
    font-size: calc(26/750*100vw);
    padding-inline: calc(40/750*100vw);
    margin-bottom: calc(30/750*100vw);
    text-align: center;
  }
  &:before , &:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 3px;
    background-color: var(--color-main);
    @media (width <= 768px) {
      width: calc(40/750*100vw);
      height: 2px;
    }
  }
  &:before {
    left: 0;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  &:after {
    right: 0;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
  }
}

.p-index__mv-btns {
  display: flex;
  gap: 30px;
  @media (width <= 768px) {
    gap: calc(30/750*100vw);
  }
}

.p-index__mv-btn {
  a {
    width: 300px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border: 2px solid #fff;
    border-radius: 15px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    background: #ffe925;
    @media (width <= 768px) {
      width: calc(330/750*100vw);
      height: calc(120/750*100vw);
      border-radius: calc(15/750*100vw);
    }
  }
  &:nth-of-type(2) {
    a {
      background: var(--color-main);
      color: #fff;
    }
  }
}

.p-index__mv-btn-txt-1 {
  font-size: 1.8rem;
  font-weight: 700;
  @media (width <= 768px) {
    font-size: calc(26/750*100vw);
  }
}

.p-index__mv-btn-txt-2 {
  font-size: 2.6rem;
  font-weight: 900;
  @media (width <= 768px) {
    font-size: calc(34/750*100vw);
    margin-top: calc(-6/750*100vw);
  }
}

.p-index__mv-attend {
  margin-top: 30px;
  font-size: 1.2rem;
  color: #999999;
  @media (width <= 768px) {
    margin-top: calc(30/750*100vw);
    font-size: calc(24/750*100vw);
    text-align: center;
  }
}


.p-index__collabo {
  padding-block: 80px;
  border-bottom: 1px solid #dcdcdc;
  @media (width <= 768px) {
    padding-block: calc(100/750*100vw);
  }
  &.noborder {
    border-bottom: none;
  }
}

.p-index__collabo-bnr {
  width: 980px;
  margin-inline: auto;
  @media (width <= 768px) {
    width: calc(630/750*100vw);
  }
}

.p-index__collabo-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  @media (width <= 768px) {
    flex-direction: column;
    gap: calc(30/750*100vw);
  }
}

.p-index__collabo-img-1 {
  width: 360px;
  @media (width <= 768px) {
    width: calc(593/750*100vw);
    margin-inline: auto;
  }
}

.p-index__collabo-img-2 {
  @media (width <= 768px) {
    width: calc(44/750*100vw);
    margin-inline: auto;
  }
}

.p-index__collabo-img-3 {
  width: 360px;
  @media (width <= 768px) {
    width: calc(424/750*100vw);
    margin-inline: auto;
  }
}


.p-index__lead {
  .c-ttl2__img {
    margin-bottom: -45px;
    @media (width <= 768px) {
      margin-bottom: calc(-40/750*100vw);
    }
  }
  .c-ttl2__wrap {
    @media (width <= 768px) {
      margin-bottom: calc(50/750*100vw);
    }
  }
  .c-ttl2 {
    &:before , &:after {
      @media (width <= 768px) {
        bottom: calc(70/750*100vw);
        width: calc(150/750*100vw);
      }
    }
  }
}

.p-index__lead-txt {
  font-size: 1.8rem;
  color: #666666;
  text-align: center;
  margin-bottom: 60px;
  margin-bottom: 30px;
  @media (width <= 768px) {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(60/750*100vw);
    margin-bottom: calc(30/750*100vw);
  }
}

.p-index__contain {
  margin-inline: 50px;
  @media (width <= 768px) {
    margin-inline: 0;
  }
}

.p-index__lead-flow {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
  position: relative;
  @media (width <= 768px) {
    margin-bottom: calc(50/750*100vw);
  }
  &:before {
    content: "";
    width: 100%;
    border-top: 4px dotted var(--color-text);
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    
  }
  li {
    width: 200px;
    height: 80px;
    background: #fff;
    position: relative;
    border-radius: 40px 0 0 40px;
    font-size: 3rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    @media (width <= 768px) {
      width: calc(140/750*100vw);
      height: calc(190/750*100vw);
      border-radius: calc(10/750*100vw);
      font-size: calc(34/750*100vw);
      flex-direction: column;
      justify-content: flex-start;
      line-height: 1.2;
      padding-top: calc(20/750*100vw);
    }
    .num {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--color-text);
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2.6rem;
      font-weight: 700;
      /* margin-inline: 20px 16px; */
      margin-right: 16px;
      font-family: var(--font-alpha);
      @media (width <= 768px) {
        width: calc(50/750*100vw);
        height: calc(50/750*100vw);
        font-size: calc(30/750*100vw);
        margin-bottom: calc(10/750*100vw);
        margin-inline: auto;
      }
    }
    &:after {
      content: "";
      width: 80px;
      height: 80px;
      clip-path: polygon(0 0, 0% 100%, 50% 45%);
      background: #fff;
      position: absolute;
      right: -79px;
      top: 0;
      @media (width <= 768px) {
        display: none;
      }
    }
    &:last-of-type {
      width: 246px;
      border-radius: 40px;
      @media (width <= 768px) {
        width: calc(140/750*100vw);
        border-radius: calc(10/750*100vw);
      }
      &:after, &:before {
        display: none;
        
      }
    }
  }
}

.p-index__lead-item {
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 16px 50px 16px 40px;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    display: block;
    padding: calc(30/750*100vw) calc(40/750*100vw);
  }
  & + & {
    margin-top: 40px;
    @media (width <= 768px) {
      margin-top: calc(40/750*100vw);
    }
  }
}

.p-index__lead-item-left {
  width: 100px;
  @media (width <= 768px) {
    width: inherit;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(22/750*100vw);
  }
  .num {
    width: 50px;
    height: 50px;
    background: var(--color-text);
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4px;
    margin-inline: auto;
    @media (width <= 768px) {
      width: calc(50/750*100vw);
      height: calc(50/750*100vw);
      font-size: calc(30/750*100vw);
      margin-bottom: 0;
      margin-inline: inherit;
    }
  }
}

.p-index__lead-item-ttl {
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(44/750*100vw);
    text-align: left;
  }
}

.p-index__lead-item-list {
  flex: 1;
  border-left: 1px solid #dcdcdc;
  padding-left: 40px;
  margin-left: 35px;
  font-size: 2.6rem;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 30px;
  @media (width <= 768px) {
    border-left: none;
    border-top: 1px solid #dcdcdc;
    padding-left: 0;
    padding-top: calc(27/750*100vw);
    margin-left: 0;
    margin-top: calc(30/750*100vw);
    font-size: calc(32/750*100vw);
    gap: calc(15/750*100vw);
    flex-direction: column;
    li {
      font-feature-settings: "palt";
    }
  }
  i {
    margin-right: 10px;
    color: #666666;
    @media (width <= 768px) {
      margin-right: calc(10/750*100vw);
    }
    &.pink {
      color: #fe4b8a;
    }
    &.red {
      color: var(--color-main);
    }
  }
}

.p-index__lead-attend {
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  gap: 30px;
  font-size: 1.8rem;
  @media (width <= 768px) {
    margin-bottom: calc(60/750*100vw);
    font-size: calc(30/750*100vw);
    gap: calc(12/750*100vw);
    flex-direction: column;
    /* align-items: center; */
  }
  span {
    margin-right: 6px;
  }
}



.p-index__issue-list {
  position: relative;
  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 58px;
    /* width: 2px; */
    height: 100%;
    border-left: 4px dotted #f2f2f2;
    @media (width <= 768px) {
      left: calc(20/750*100vw);
    }
  }
}


.p-index__issue-item {
  padding-bottom: 80px;
  display: flex;
  @media (width <= 768px) {
    padding-bottom: calc(80/750*100vw);
    display: block;
  }
  /* &:first-of-type {
    padding-bottom: 40px;
    @media (width <= 768px) {
      padding-bottom: calc(90/750*100vw);
    }
  } */
}

.p-index__issue-item-icon {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #f2f2f2;
  border-radius: 50%;
  position: relative;
  @media (width <= 768px) {
    width: 100%;
    height: calc(80/750*100vw);
    border-radius: 0 calc(40/750*100vw) calc(40/750*100vw) 0;
    flex-direction: row;
    justify-content: flex-start;
    padding-left: calc(30/750*100vw);
  }
  .img {
    font-size: 2.8rem;
    line-height: 1;
    @media (width <= 768px) {
      font-size: calc(40/750*100vw);
      margin-right: calc(30/750*100vw);
    }
  }
  .txt {
    font-size: 1.8rem;
    font-weight: 900;
    @media (width <= 768px) {
      font-size: calc(36/750*100vw);
    }
  }
}


.p-index__issue-item-box {
  width: 450px;
  background: #fff;
  border: 2px solid #cccccc;
  border-radius: 10px;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  padding: 10px 20px ;
  @media (width <= 768px) {
    width: calc(640/750*100vw);
    border-radius: calc(10/750*100vw) 0;
    padding: calc(20/750*100vw) calc(30/750*100vw);
    margin-left: auto;
  }
  dt {
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 4px;
    @media (width <= 768px) {
      font-size: calc(30/750*100vw);
      margin-bottom: calc(8/750*100vw);
    }
  }
  dd {
    font-size: 2rem;
    font-feature-settings: "palt";
    @media (width <= 768px) {
      font-size: calc(28/750*100vw);
    }
    &:before {
      content: "\f00c";
      font-weight: 900;
      font-family: var(--font-awesome);
      margin-right: 10px;
      @media (width <= 768px) {
        margin-right: calc(14/750*100vw);
      }
    }
  }
}

.p-index__issue-item-inner {
  position: relative;
  margin-left: 40px;
  @media (width <= 768px) {
    margin-left: auto;
    margin-top: calc(58/750*100vw);
  }
}

.p-index__issue-item-bubble {
  /* padding: 4px 20px; */
  height: 55px;
  min-width: 250px;
  border-radius: 10px;
  background: #cccccc;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 900;
  position: absolute;
  top: -30px;
  right: -10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  @media (width <= 768px) {
    height: calc(55/750*100vw);
    min-width: calc(250/750*100vw);
    border-radius: calc(10/750*100vw);
    font-size: calc(32/750*100vw);
    top: calc(-28/750*100vw);
    right: 0;
  }
  &:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16%;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-color: #cccccc transparent transparent;
    translate: calc(-50% - 0.4px) 100%;
  }
  .num {
    font-size: 4.6rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    @media (width <= 768px) {
      font-size: calc(46/750*100vw);
    }
  }
  small {
    font-size: 1.6rem;
    font-weight: 400;
    margin-right: 10px;
    @media (width <= 768px) {
      font-size: calc(26/750*100vw);
      margin-right: calc(16/750*100vw);
    }
  }
}

.p-index__issue-item-red {
  margin-left: 30px;
  @media (width <= 768px) {
    margin-left: auto;
  }
  .p-index__issue-item-box {
    border: 2px solid var(--color-main);
  }
  .p-index__issue-item-bubble {
    background: var(--color-main);
    right: -60px;
    min-width: 356px;
    @media (width <= 768px) {
      right: 0;
      min-width: calc(420/750*100vw);
    }
    &:after {
      border-color: var(--color-main) transparent transparent;
    }
  }
}

.p-index__issue-result {
  font-size: 3.2rem;
  font-weight: 900;
  color: #fff;
  background: var(--color-main);
  border-radius: 10px;
  position: relative;
  padding-block: 16px;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(42/750*100vw);
    border-radius: calc(10/750*100vw);
    padding-block: calc(35/750*100vw);
  }
}



.p-index__solution {
  .c-ttl2__wrap {
    margin-bottom: 70px;
    @media (width <= 768px) {
      margin-bottom: calc(82/750*100vw);
    }
  }
}

.p-index__solution-item {
  background: #fff;
  border-radius: 10px;
  position: relative;
  padding: 50px;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    padding: calc(40/750*100vw);
  }
  & + & {
    margin-top: 86px;
    @media (width <= 768px) {
      margin-top: calc(80/750*100vw);
    }
  }
  .num {
    color: #bbbbbb;
    font-family: var(--font-alpha);
    font-size: 10rem;
    font-style: italic;
    font-weight: 700;
    position: absolute;
    top: -50px;
    right: 39px;
    line-height: 1;
    @media (width <= 768px) {
      font-size: calc(100/750*100vw);
      top: calc(-50/750*100vw);
      right: calc(30/750*100vw);
    }
  }
}

.p-index__solution-item-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  @media (width <= 768px) {
    display: block;
  }
}

.p-index__solution-item-catch {
  background: var(--color-main);
  color: #fff;
  font-size: 3rem;
  font-weight: 900;
  display: inline-block;
  min-width: 376px;
  border-radius: 0 30px 30px 0;
  margin: 0 0 26px -60px;
  padding-inline: 57px 40px;
  padding-block: 6px;
  @media (width <= 768px) {
    font-size: calc(40/750*100vw);
    min-width: calc(540/750*100vw);
    border-radius: 0 calc(40/750*100vw) calc(40/750*100vw) 0;
    margin: 0 0 calc(40/750*100vw) calc(-50/750*100vw);
    padding-inline: calc(40/750*100vw);
    padding-block: calc(10/750*100vw);
  }
  .large {
    font-size: 4rem;
    margin-left: 10px;
    position: relative;
    line-height: 1;
    @media (width <= 768px) {
      font-size: calc(46/750*100vw);
      margin-left: calc(17/750*100vw);
    }
    &:after {
      content: "";
      position: absolute;
      top: -4px;
      right: -21px;
      width: 26px;
      height: 23px;
      background: url(../img/solution04.png) center center / auto no-repeat;
      @media (width <= 768px) {
        top: calc(-18/750*100vw);
        right: calc(-30/750*100vw);
        width: calc(39/750*100vw);
        height: calc(35/750*100vw);
        background: url(../img/sp/solution04.png) center center / 100% no-repeat;
      }
    }
  }
}

.p-index__solution-item-left {
  flex: 1;
}

.p-index__solution-item-ttl {
  font-size: 4rem;
  font-weight: 900;
  margin-bottom: 5px;
  @media (width <= 768px) {
    font-size: calc(52/750*100vw);
    margin-bottom: calc(20/750*100vw);
  }
}

.p-index__solution-item-subttl {
  font-size: 2.6rem;
  font-weight: 900;
  color: var(--color-main);
  border-bottom: 2px solid var(--color-main);
  display: inline-block;
  padding-bottom: 6px;
  margin-bottom: 30px;
  @media (width <= 768px) {
    font-size: calc(36/750*100vw);
    padding-bottom: calc(10/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}

.p-index__solution-item-list {
  font-size: 2rem;
  font-weight: 700;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    margin-bottom: calc(60/750*100vw);
  }
  li {
    text-indent: -1.5em;
    padding-left: 1.5em;
    &:before {
      content: "\f058";
      font-family: var(--font-awesome);
      font-weight: 900;
      color: var(--color-main);
      margin-right: 10px;
      @media (width <= 768px) {
        margin-right: calc(15/750*100vw);
      }
    }
  }
}

.p-index__solution-item-right {
  width: 270px;
  margin-right: 15px;
  @media (width <= 768px) {
    width: inherit;
    margin-right: 0;
  }
}

.p-index__solution-item-caption {
  font-size: 2.4rem;
  font-weight: 900;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 0 45px;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 1.4;
  @media (width <= 768px) {
    font-size: calc(40/750*100vw);
    padding: calc(40/750*100vw);
  }
  &:before , &:after {
    content: '';
    position: absolute;
    top: calc(50% + 4px);
    display: inline-block;
    width: 80px;
    height: 3px;
    background-color: var(--color-main);
    @media (width <= 768px) {
      top: calc(50% + (4/750*100vw));
      width: calc(60/750*100vw);
    }
    
  }
  &:before {
    left: -10px;
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
    @media (width <= 768px) {
      left: calc(-20/750*100vw);
    }
  }
  &:after {
    right: -10px;
    -webkit-transform: rotate(-75deg);
    transform: rotate(-75deg);
    @media (width <= 768px) {
      right: calc(-20/750*100vw);
    }
  }
}

.p-index__solution-item-img {
  margin-top: -38px;
  @media (width <= 768px) {
    width: calc(473/750*100vw);
    margin-top: calc(-120/750*100vw);
    margin-inline: auto;
  }
}

.p-index__solution-item-txt {
  font-size: 1.6rem;
  border-top: 1px solid #dcdcdc;
  padding-top: 40px;
  margin-top: 37px;
  @media (width <= 768px) {
    font-size: calc(26/750*100vw);
    padding-top: calc(40/750*100vw);
    margin-top: calc(50/750*100vw);
  }
}

.p-index__solution-item-attend {
  font-size: 1.2rem;
  margin-top: 10px;
  @media (width <= 768px) {
    font-size: calc(24/750*100vw);
    margin-top: calc(20/750*100vw);
  }
}



.p-index__info {
  background-color: var(--color-main);
  background-image: url(../img/ashirai02.png), url(../img/ashirai02.png);
  background-size: auto, auto;
  background-position: calc(50% + 501px) -320px, calc(50% - 501px) calc(100% + 320px);
  background-repeat: no-repeat, no-repeat;
  padding-block: 80px;
  @media (width <= 768px) {
    background-image: url(../img/sp/ashirai02.png), url(../img/sp/ashirai03.png);
    background-size: calc(320/750*100vw), calc(300/750*100vw);
    background-position: right calc(-60/750*100vw), left calc(349/750*100vw);
    background-repeat: no-repeat, no-repeat;
    padding-block: calc(120/750*100vw);
  }
}

.p-index__info-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  @media (width <= 768px) {
    /* width: calc(330/750*100vw); */
    margin-bottom: calc(30/750*100vw);
    margin-inline: auto;
  }
  img {
    width: 245px;
    @media (width <= 768px) {
      width: calc(330/750*100vw);
    }
  }
}

.p-index__info-ttl {
  font-size: 5rem;
  font-weight: 900;
  text-align: center;
  color: #fff;
  margin-bottom: 9px;
  @media (width <= 768px) {
    font-size: calc(60/750*100vw);
    margin-bottom: calc(28/750*100vw);
  }
}

.p-index__info-txt {
  font-size: 2rem;
  color: #fff;
  text-align: center;
  margin-bottom: 44px;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}

.p-index__info-btns {
  display: flex;
  justify-content: center;
  gap: 40px;
  @media (width <= 768px) {
    flex-direction: column;
    gap: calc(40/750*100vw);
  }
}

.p-index__info-btn {
  a {
    width: 460px;
    height: 80px;
    border-radius: 40px;
    font-size: 2.2rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    @media (width <= 768px) {
      width: calc(610/750*100vw);
      height: calc(110/750*100vw);
      border-radius: calc(55/750*100vw);
      font-size: calc(32/750*100vw);
      margin-inline: auto;
    }
  }
  &:first-of-type {
    a {
      background: #ffe925;
    }
  }
}


.p-index__app {
  .c-ttl {
    @media (width <= 768px) {
      margin-bottom: calc(120/750*100vw);
    }
  }
}

.p-index__app-item {
  display: flex;
  gap: 20px;
  padding-bottom: 50px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  @media (width <= 768px) {
    flex-direction: column;
    gap: calc(60/750*100vw);
    padding-bottom: calc(40/750*100vw);
    border-radius: calc(10/750*100vw);
  }
  & + & {
    margin-top: 90px;
    @media (width <= 768px) {
      margin-top: calc(160/750*100vw);
    }
  }
  &:nth-of-type(odd) {
    flex-direction: row-reverse;
    @media (width <= 768px) {
      flex-direction: column;
    }
    .p-index__app-item-img {
      margin-right: 10px;
      @media (width <= 768px) {
        margin-right: auto;
      }
    }
    .p-index__app-item-info {
      margin-left: 50px;
      @media (width <= 768px) {
        margin-inline: calc(40/750*100vw);
      }
    }
  }
  &:nth-of-type(even) {
    .p-index__app-item-img {
      margin-left: 10px;
      @media (width <= 768px) {
        margin-left: auto;
      }
    }
    .p-index__app-item-info {
      margin-right: 50px;
      @media (width <= 768px) {
        margin-inline: calc(40/750*100vw);
      }
    }
  }
  &:nth-of-type(1) {
    .p-index__app-item-info-meta:before {
      content: "\f075";
    }
  }
  &:nth-of-type(2) {
    .p-index__app-item-info-meta:before {
      content: "\f590";
    }
  }
  &:nth-of-type(3) {
    .p-index__app-item-info-meta:before {
      content: "\f469";
    }
  }
  &:nth-of-type(4) {
    .p-index__app-item-info-meta:before {
      content: "\f0f3";
    }
    .p-index__app-item-img {
      @media (width <= 768px) {
        width: calc(477/750*100vw);
      }
    }
  }
}

.p-index__app-item-img {
  margin-top: -30px;
  width: 380px;
  display: flex;
  justify-content: center;
  @media (width <= 768px) {
    margin-inline: auto;
    margin-top: calc(-100/750*100vw);
    width: calc(450/750*100vw);
  }
}

.p-index__app-item-info {
  flex: 1;
  margin-top: 50px;
  position: relative;
  @media (width <= 768px) {
    margin-top: 0;
  }
}

.p-index__app-item-info-meta {
  position: relative;
  &:before {
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 1;
    font-size: 15rem;
    font-weight: 900;
    font-family: var(--font-awesome);
    color: rgb(240 15 29 / .1);
    @media (width <= 768px) {
      font-size: calc(160/750*100vw);
    }
  }
}

.p-index__app-item-catch-wrap {
  display: flex;
  align-items: center;
}

.p-index__app-item-catch {
  font-size: 3rem;
  font-weight: 900;
  background: var(--color-main);
  color: #fff;
  border-radius: 30px;
  padding: 6px 50px;
  display: inline-block;
  margin-bottom: 20px;
  @media (width <= 768px) {
    font-size: calc(40/750*100vw);
    border-radius: 0 calc(35/750*100vw) calc(35/750*100vw) 0;
    padding: calc(6/750*100vw) calc(45/750*100vw) calc(6/750*100vw) calc(35/750*100vw);
    margin-bottom: calc(14/750*100vw);
  }
}

.p-index__app-item-copy {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: 2px solid var(--color-main);
  margin-left: 32px;
  margin-bottom: 20px;
  @media (width <= 768px) {
    font-size: calc(28/750*100vw);
    margin-left: calc(25/750*100vw);
    margin-bottom: calc(14/750*100vw);
    font-feature-settings: "palt";
  }
}

.p-index__app-item-ttl {
  font-size: 4.6rem;
  font-weight: 900;
  @media (width <= 768px) {
    font-size: calc(56/750*100vw);
  }
}

.p-index__app-item-txt {
  padding-top: 30px;
  margin-top: 20px;
  border-top: 1px solid #dcdcdc;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  @media (width <= 768px) {
    padding-top: calc(30/750*100vw);
    margin-top: calc(20/750*100vw);
    font-size: calc(30/750*100vw);
  }
}

.p-index__app-item-attend {
  font-size: 1.2rem;
  color: #999999;
  position: absolute;
  bottom: 0;
  right: 0;
  @media (width <= 768px) {
    font-size: calc(24/750*100vw);
    position: static;
  }
}


.p-index__price {
  .c-ttl2__wrap {
    margin-bottom: 70px;
    @media (width <= 768px) {
      margin-bottom: calc(70/750*100vw);
    }
  }
  .c-ttl2 {
    @media (width <= 768px) {
      padding: 0 calc(60/750*100vw);
    }
    &:before , &:after {
      @media (width <= 768px) {
        bottom: calc(40/750*100vw);
        width: calc(60/750*100vw);
      }
    }
  }
}

.p-index__price-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  margin-inline: auto;
  width: 487px;
  @media (width <= 768px) {
    margin-bottom: calc(40/750*100vw);
    width: calc(487/750*100vw);
  }
}

.p-index__price-txt-1 {
  font-size: 2rem;
  font-weight: 700;
  background: var(--color-text);
  color: #fff;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 40px;
  margin-inline: auto;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    border-radius: calc(30/750*100vw);
    width: calc(400/750*100vw);
    height: calc(60/750*100vw);
  }
}

.p-index__price-txt-2 {
  font-size: 40px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 28px;
  font-feature-settings: "palt";
  @media (width <= 768px) {
    font-size: calc(50/750*100vw);
    margin-bottom: calc(47/750*100vw);
  }
  .num {
    font-size: 8rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    margin-inline: 10px 13px;
    @media (width <= 768px) {
      font-size: calc(90/750*100vw);
      margin-inline: calc(15/750*100vw) calc(19/750*100vw);
    }
  }
}

.p-index__price-point {
  margin-inline: 100px;
  margin-bottom: 40px;
  display: flex;
  justify-content: space-between;
  @media (width <= 768px) {
    margin-inline: 0;
    margin-bottom: calc(30/750*100vw);
    flex-direction: column;
    gap: calc(30/750*100vw);
  }
}

.p-index__price-point-item {
  width: 230px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  padding: 0 10px 20px;
  @media (width <= 768px) {
    width: inherit;
    border-radius: calc(10/750*100vw);
    padding: calc(20/750*100vw);
    position: relative;
  }
  .img {
    width: 60px;
    height: 60px;
    background: var(--color-main);
    color: #fff;
    border-radius: 50%;
    font-size: 2.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -30px;
    margin-inline: auto;
    @media (width <= 768px) {
      width: calc(60/750*100vw);
      height: calc(60/750*100vw);
      font-size: calc(26/750*100vw);
      margin-top: 0;
      margin-inline: inherit;
      position: absolute;
      top: calc(20/750*100vw);
      left: calc(20/750*100vw);
    }
  }
  .txt {
    font-size: 2.2rem;
    font-weight: 900;
    text-align: center;
    @media (width <= 768px) {
      font-size: calc(36/750*100vw);
      flex: 1;
    }
  }
}


.p-index__price-plus {
  display: flex;
  justify-content: center;
  margin-bottom: 54px;
  @media (width <= 768px) {
    width: calc(60/750*100vw);
    margin-bottom: calc(78/750*100vw);
    margin-inline: auto;
  }
}

.p-index__price-support {
  margin-inline: 100px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #fe4b8a;
  padding: 0 39px 40px;
  margin-bottom: 40px;
  @media (width <= 768px) {
    margin-inline: 0;
    border-radius: calc(10/750*100vw);
    padding: 0 calc(40/750*100vw) calc(40/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}

.p-index__price-support-ttl {
  background: #fe4b8a;
  color: #fff;
  width: 280px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 25px;
  margin: -25px auto 20px;
  font-size: 3rem;
  font-weight: 900;
  @media (width <= 768px) {
    width: calc(360/750*100vw);
    height: calc(80/750*100vw);
    border-radius: calc(40/750*100vw);
    margin: calc(-40/750*100vw) auto calc(30/750*100vw);
    font-size: calc(46/750*100vw);
  }
}

.p-index__price-support-attend {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fe4b8a;
  text-align: center;
  margin-bottom: 10px;
  @media (width <= 768px) {
    font-size: calc(25/750*100vw);
    margin-bottom: calc(30/750*100vw);
  }
}

.p-index__price-support-subttl {
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 20px;
  @media (width <= 768px) {
    font-size: calc(46/750*100vw);
    margin-bottom: calc(40/750*100vw);
  }
}

.p-index__price-support-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
  @media (width <= 768px) {
    gap: calc(30/750*100vw);
  }
  li {
    width: 445px;
    padding: 5.6px;
    border-radius: 20px;
    background: #fe4b8a;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    @media (width <= 768px) {
      width: 100%;
      padding: calc(6/750*100vw) calc(16/750*100vw);
      border-radius: calc(30/750*100vw);
      font-size: calc(30/750*100vw);
    }
    i {
      margin-right: 10px;
      @media (width <= 768px) {
        margin-right: calc(14/750*100vw);
      }
    }
    /* &:before {
      position: absolute;
      top: calc(50% - 9px);
      left: 15px;
      content: "\2b";
      font-weight: 900;
      font-family: var(--font-awesome);
      line-height: 1;
      @media (width <= 768px) {
        top: calc(50% - (14/750*100vw));
        left: calc(28/750*100vw);
      }
    } */
  }
}

.p-index__price-etc {
  background: #fff;
  border-radius: 10px;
  width: 720px;
  margin-inline: auto;
  padding: 20px 30px;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    width: inherit;
    padding: calc(30/750*100vw) calc(40/750*100vw);
  }
}

.p-index__price-etc-ttl {
  font-size: 2.2rem;
  font-weight: 900;
  padding-inline: 15px;
  padding-bottom: 4px;
  margin-bottom: 30px;
  display: inline-block;
  text-align: center;
  border-bottom: 2px solid var(--color-main);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  @media (width <= 768px) {
    font-size: calc(32/750*100vw);
    padding-inline: calc(8/750*100vw);
    padding-bottom: calc(8/750*100vw);
    margin-bottom: calc(24/750*100vw);
  }
}

.p-index__price-etc-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 23px;
  font-size: 1.8rem;
  font-weight: 700;
  font-feature-settings: "palt";
  /* list-style: disc; */
  @media (width <= 768px) {
    gap: calc(20/750*100vw) calc(50/750*100vw);;
    font-size: calc(28/750*100vw);
  }
  li {
    /* margin-left: 1em; */
    i {
      margin-right: 10px;
      @media (width <= 768px) {
        margin-right: calc(14/750*100vw);
      }
    }
  }
}


.p-index__case {
  .c-ttl {
    @media (width <= 768px) {
      margin-bottom: calc(120/750*100vw);
      margin-bottom: calc(60/750*100vw); /*catch-wrap非表示対応*/
    }
  }
}

.p-index__case-slider {
  .slick-prev,
  .slick-next {
    &:before {
      color: var(--color-text);
      font-size: 5rem;
      font-family: var(--font-awesome);
      font-weight: 900;
    }
  }
  .slick-prev {
    left: calc(50% - 516px);
    z-index: 1;
    &:before {
      content: "\f053";
    }
  }
  .slick-next {
    left: calc(50% + 480px);
    &:before {
      content: "\f054";
    }
  }
  .slick-dots li button:before {
    font-size: 10px;
  }
}

.p-index__case-slider-item-inner {
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  border-radius: 10px;
  position: relative;
  padding: 50px;
  margin: 30px 50px 10px;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    padding: calc(40/750*100vw);
    margin: 0 calc(30/750*100vw);
  }
}

.p-index__case-slider-item {
  width: 1000px;
  margin-inline: auto; /*スライド解除時必要*/
  @media (width <= 768px) {
    width: inherit;
    & + & {
      margin-top: calc(100/750*100vw);
    }
  }
  .catch-wrap {
    @media (width <= 768px) {
      text-align: center;
    }
  }
  .catch {
    font-size: 4.5rem;
    font-weight: 900;
    background: var(--color-main);
    color: #fff;
    border-radius: 10px;
    display: inline-block;
    padding-inline: 30px;
    position: absolute;
    top: -30px;
    right: -30px;
    @media (width <= 768px) {
      font-size: calc(55/750*100vw);
      border-radius: calc(10/750*100vw);
      padding-inline: calc(25/750*100vw);
      margin-bottom: calc(-25/750*100vw);
      margin-inline: auto;
      min-width: calc(400/750*100vw);
      text-align: center;
      top: calc(-80/750*100vw);
      left: 0;
      right: 0;
      position: relative;
    }
    .num {
      font-size: 6rem;
      font-weight: 700;
      font-family: var(--font-alpha);
      @media (width <= 768px) {
        font-size: calc(70/750*100vw);
      }
    }
    &:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 16%;
      border-style: solid;
      border-width: 14px 14px 0 0;
      border-color: var(--color-main) transparent transparent;
      translate: calc(-50% - 0.4px) 100%;
    }
  }

  .tag {
    font-size: 2.6rem;
    font-weight: 900;
    background: #f2f2f2;
    border-radius: 25px;
    min-width: 300px;
    padding: 2px 35px;
    margin-bottom: 30px;
    display: inline-block;
    @media (width <= 768px) {
      font-size: calc(36/750*100vw);
      border-radius: calc(30/750*100vw);
      min-width: calc(360/750*100vw);
      padding: calc(4/750*100vw) calc(50/750*100vw);
      margin-bottom: calc(40/750*100vw);
      position: relative;
      left: 50%;
      transform: translateX(-50%);
    }
  }

  .name {
    font-size: 3rem;
    font-weight: 900;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #dcdcdc;
    @media (width <= 768px) {
      font-size: calc(40/750*100vw);
      padding-bottom: calc(40/750*100vw);
      margin-bottom: calc(40/750*100vw);
      display: flex;
      justify-content: center;
    }
    i {
      color: #999999;
      margin-right: 15px;
      @media (width <= 768px) {
        margin-right: calc(26/750*100vw);
        margin-top: calc(12/750*100vw);
      }
    }
  }
}

.p-index__case-slider-item-dl {
  dt {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 6px;
    @media (width <= 768px) {
      font-size: calc(30/750*100vw);
      margin-bottom: calc(12/750*100vw);
    }
  }
  dd {
    font-size: 1.6rem;
    @media (width <= 768px) {
      font-size: calc(26/750*100vw);
    }
  }
  &.bg-case__gray {
    margin-top: 40px;
    padding: 24px 30px;
    border-radius: 10px;
    border: 1px solid #dcdcdc;
    background: #f8f9f9;
    @media (width <= 768px) {
      margin-top: calc(40/750*100vw);
      padding: calc(24/750*100vw) calc(30/750*100vw);
      border-radius: calc(10/750*100vw);
    }
  }
  &.bg-case__yellow {
    margin-top: 30px;
    padding: 24px 30px;
    border-radius: 10px;
    border: 1px solid #dcdcdc;
    background: #ffee44;
    @media (width <= 768px) {
      margin-top: calc(40/750*100vw);
      padding: calc(24/750*100vw) calc(30/750*100vw);
      border-radius: calc(10/750*100vw);
    }
  }
}


.p-index__about {
  .c-catch {
    margin-bottom: 70px;
    @media (width <= 768px) {
      margin-bottom: calc(50/750*100vw);
    }
  }
  .c-ttl2__wrap {
    @media (width <= 768px) {
      margin-inline: calc(-30/750*100vw);
      margin-bottom: calc(50/750*100vw);
    }
  }
}

.p-index__about-imgs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 27px;
  margin-bottom: 50px;
  @media (width <= 768px) {
    flex-direction: column;
    gap: calc(26/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
}

.p-index__about-img {
  @media (width <= 768px) {
    width: calc(625/750*100vw);
    margin-inline: auto;
  }
  img {
    border: 1px solid #fff;
    border-radius: 10px;
    @media (width <= 768px) {
      border-radius: calc(10/750*100vw);
    }
  }
}

.p-index__about-kakeru {
  @media (width <= 768px) {
    width: calc(47/750*100vw);
  }
}

.p-index__about-txt-1 {
  font-size: 4rem;
  font-weight: 900;
  margin-bottom: 30px;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(50/750*100vw);
    margin-bottom: calc(50/750*100vw);
    line-height: 1.2;
  }
}

.p-index__about-txt-2 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 60px;
  @media (width <= 768px) {
    font-size: calc(34/750*100vw);
    margin-bottom: calc(80/750*100vw);
  }
}

.p-index__about-box {
  border-radius: 10px;
  overflow: hidden;
  padding-bottom: 50px;
  background: #fff;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    padding-bottom: calc(40/750*100vw);
  }
}

.p-index__about-box-ttl {
  font-size: 3.6rem;
  font-weight: 900;
  background: #f2f2f2;
  text-align: center;
  padding-block: 11px;
  @media (width <= 768px) {
    font-size: calc(46/750*100vw);
    padding-block: calc(18/750*100vw);
  }
}

.p-index__about-box-img {
  display: flex;
  justify-content: center;
  padding-block: 42px 32px;
  @media (width <= 768px) {
    width: calc(626/750*100vw);
    padding-block: calc(40/750*100vw);
    margin-inline: auto;
  }
}

.p-index__about-box-txt {
  font-size: 1.6rem;
  color: #666666;
  text-align: center;
  @media (width <= 768px) {
    font-size: calc(26/750*100vw);
  }
}



.p-index__peace {
  .c-catch {
    margin-bottom: 50px;
    @media (width <= 768px) {
      margin-bottom: calc(60/750*100vw);
    }
  }
  .c-ttl2__wrap {
    @media (width <= 768px) {
      margin-inline: calc(-40/750*100vw);
      margin-bottom: calc(50/750*100vw);
    }
  }
}

.p-index__peace-item {
  border-radius: 10px;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  background: #fff;
  padding: 16px 50px;
  display: flex;
  gap: 30px;
  @media (width <= 768px) {
    border-radius: calc(10/750*100vw);
    padding: calc(30/750*100vw) calc(40/750*100vw);
    display: block;
    position: relative;
  }
  & + & {
    margin-top: 30px;
    @media (width <= 768px) {
      margin-top: calc(45/750*100vw);
    }
  }
  .img {
    width: 100px;
    height: 100px;
    background: #f2f2f2;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4rem;
    @media (width <= 768px) {
      width: calc(100/750*100vw);
      height: calc(100/750*100vw);
      font-size: calc(40/750*100vw);
      position: absolute;
      top: calc(-15/750*100vw);
      right: calc(-15/750*100vw);
    }
  }
}

.p-index__peace-item-inner {
  flex: 1;
  dt {
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 10px;
    color: var(--color-main);
    @media (width <= 768px) {
      font-size: calc(40/750*100vw);
      margin-bottom: calc(20/750*100vw);
    }
  }
  dd {
    font-size: 1.6rem;
    @media (width <= 768px) {
      font-size: calc(26/750*100vw);
    }
  }
}


.p-index__guide-list {
  position: relative;
  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 88px;
    /* width: 2px; */
    height: 100%;
    border-left: 4px dotted #f2f2f2;
    @media (width <= 768px) {
      left: calc(48/750*100vw);
    }
  }
}

.p-index__guide-item {
  display: flex;
  justify-content: space-between;
  & + & {
    margin-top: 30px;
    @media (width <= 768px) {
      margin-top: calc(45/750*100vw);
    }
  }
}

.p-index__guide-item-left {
  width: 80px;
  position: relative;
  @media (width <= 768px) {
    width: calc(100/750*100vw);
  }
  .alpha {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    color: var(--color-main);
    background: #fff;
    @media (width <= 768px) {
      font-size: calc(20/750*100vw);
    }
  }
  .num {
    width: 100%;
    height: 80px;
    border-radius: 50%;
    background: var(--color-main);
    color: #fff;
    font-size: 5rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    display: flex;
    justify-content: center;
    align-items: center;
    @media (width <= 768px) {
      height: calc(100/750*100vw);
      font-size: calc(60/750*100vw);
    }
  }
}

.p-index__guide-item-box {
  width: 970px;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  background: #fff;
  border-radius: 10px;
  padding: 16px 40px;
  position: relative;
  @media (width <= 768px) {
    width: calc(560/750*100vw);
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
}

.p-index__guide-item-box-top {
  @media (width <= 768px) {
    box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
    background: #fff;
    border-radius: calc(10/750*100vw);
    padding: calc(20/750*100vw) calc(30/750*100vw);
  }
}

.p-index__guide-item-icon {
  background: #e6e6e6;
  color: #fff;
  font-size: 3rem;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 10px 0 10px;
  @media (width <= 768px) {
    font-size: calc(30/750*100vw);
    width: calc(60/750*100vw);
    height: calc(60/750*100vw);
    border-radius: 0 calc(10/750*100vw) 0 calc(10/750*100vw);
  }
}

.p-index__guide-item-ttl {
  font-size: 3rem;
  font-weight: 900;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #dcdcdc;
  @media (width <= 768px) {
    font-size: calc(40/750*100vw);
    padding-bottom: calc(14/750*100vw);
    margin-bottom: calc(20/750*100vw);
  }
}

.p-index__guide-item-txt {
  font-size: 1.8rem;
  @media (width <= 768px) {
    font-size: calc(26/750*100vw);
  }
}

.p-index__guide-item-attend {
  margin-top: 20px;
  padding: 10px 20px;
  border-radius: 10px;
  border: 2px solid #fe4b8a;
  border: 4px solid #fe4b8a;
  @media (width <= 768px) {
    margin-top: calc(20/750*100vw);
    padding: calc(20/750*100vw) calc(30/750*100vw);
    border-radius: calc(10/750*100vw);
  }
  dt {
    font-size: 2.2rem;
    font-weight: 900;
    margin-bottom: 4px;
    @media (width <= 768px) {
      font-size: calc(32/750*100vw);
      margin-bottom: calc(8/750*100vw);
    }
  }
  dd {
    font-size: 1.8rem;
    @media (width <= 768px) {
      font-size: calc(26/750*100vw);
    }
  }
  &.bg {
    background: #fe4b8a;
    color: #fff;
  }
}


.p-index__seminar-item {
  
  & + & {
    margin-top: 50px;
    @media (width <= 768px) {
      margin-top: calc(50/750*100vw);
    }
  }
  a {
    border-radius: 10px;
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
    padding: 45px 45px 45px 0;
    display: flex;
    position: relative;
    @media (width <= 768px) {
      border-radius: calc(10/750*100vw);
      padding: calc(30/750*100vw) calc(40/750*100vw);
      display: block;
    }
    &:after {
      position: absolute;
      right: 40px;
      top: calc(50% - 16px);
      content: "\f105";
      font-family: var(--font-awesome);
      font-weight: 900;
      color: var(--color-main);
      font-size: 2rem;
      @media (width <= 768px) {
        right: calc(40/750*100vw);
        top: calc(30/750*100vw);
      }
    }
  }
}

.p-index__seminar-item-meta {
  width: 230px;
  text-align: center;
  @media (width <= 768px) {
    width: inherit;
    display: flex;
    align-items: baseline;
  }
  .date {
    font-size: 2.8rem;
    font-weight: 700;
    font-family: var(--font-alpha);
    @media (width <= 768px) {
      font-size: calc(38/750*100vw);
      margin-right: calc(30/750*100vw);

    }
  }
  .time {
    font-size: 2rem;
    font-weight: 500;
    font-family: var(--font-alpha);
    @media (width <= 768px) {
      font-size: calc(30/750*100vw);
    }
  }
}

.p-index__seminar-item-info {
  flex: 1;
  padding-left: 40px;
  border-left: 1px solid #dcdcdc;
  @media (width <= 768px) {
    margin-top: calc(20/750*100vw);
    padding-top: calc(20/750*100vw);
    padding-left: 0;
    border-left: none;
    border-top: 1px solid #dcdcdc;
  }
  dt {
    font-size: 2.4rem;
    font-weight: 900;
    color: var(--color-main);
    margin-bottom: 10px;
    @media (width <= 768px) {
      font-size: calc(34/750*100vw);
      margin-bottom: calc(20/750*100vw);
    }
  }
  dd {
    font-size: 1.8rem;
    @media (width <= 768px) {
      font-size: calc(26/750*100vw);
    }
  }
}

.p-index__seminar-no {
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
  width: 900px;
  margin-inline: auto;
  text-align: center;
  border-radius: 10px;
  font-size: 1.8rem;
  padding: 20px;
  @media (width <= 768px) {
    width: auto;
    border-radius: calc(10/750*100vw);
    font-size: calc(26/750*100vw);
  }
  a {
    color: #0066c0;
    text-decoration: underline;
    &:hover {
      text-decoration: none;
      opacity: 1;
    }
  }
}



/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

  faq

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.faq_list_item {
  border-bottom: 1px solid #e5e5e5;
  position: relative;
  z-index: 1;
  font-size: 1.8rem;
  font-weight: 700;
}

.faq_list_item_q {
  padding: 24px 50px;
  padding-right: 60px;
  position: relative;
  cursor: pointer;
  
}

@media screen and (max-width: 768px) {
  .faq_list_item_q {
    padding: calc( 30 /750*100vw) calc( 70 /750*100vw);
    padding-right: calc( 80 /750*100vw);
  }
}

.faq_list_item_q:after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--color-main);
  border-right: 2px solid var(--color-main);
  position: absolute;
  top: calc(50% - 4px);
  right: 30px;
  z-index: 1;
  -webkit-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
  -webkit-transition: top .3s, -webkit-transform .3s;
  transition: top .3s, -webkit-transform .3s;
  transition: transform .3s, top .3s;
  transition: transform .3s, top .3s, -webkit-transform .3s;
}

@media screen and (max-width: 768px) {
  .faq_list_item_q:after {
    width: calc( 20 /750*100vw);
    height: calc( 20 /750*100vw);
    top: calc(50%);
    right: calc( 8 /750*100vw);
  }
}

.faq_list_item_a {
  display: none;
  padding: 24px 50px;
  padding-right: 60px;
  background: #f8f8f8;
  position: relative;
}

@media screen and (max-width: 768px) {
  .faq_list_item_a {
    padding: calc( 30 /750*100vw) calc( 70 /750*100vw);
    padding-right: calc( 80 /750*100vw);
  }
}

@media screen and (max-width: 768px) {
  .faq_list_item p {
    font-size: calc( 28 /750*100vw);
  }
}

.faq_list_item .q, .faq_list_item .a {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media screen and (max-width: 768px) {
  .faq_list_item .q, .faq_list_item .a {
    font-size: calc( 28 /750*100vw);
    top: calc( 30 /750*100vw);
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

.faq_list_item .a {
  color: #f00f1d;
}

.faq_list_item.clicked .faq_list_item_q:after {
  top: calc(50% + 4px);
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}

.faq_list_item:first-child {
  border-top: 1px solid #e5e5e5;
}


.p-index__contact {
  padding-bottom: 120px;
  @media screen and (max-width: 768px) {
    padding-bottom: calc( 120 /750*100vw);
  }
}



.p-index__company-inner {
  display: flex;
  @media screen and (max-width: 768px) {
    display: block;
  }
}


.p-index__company-left {
  width: 600px;
  @media screen and (max-width: 768px) {
    width: 100%;
    margin-bottom: calc( 60 /750*100vw);
  }
  dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 32px 0;
    border-bottom: 1px solid #e5e5e5;
    @media screen and (max-width: 768px) {
      display: block;
      padding: calc( 40 /750*100vw) 0;
    }
    &:first-child {
      border-top: 1px solid #e5e5e5;
    }
  }
  dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 120px;
    font-weight: 900;
    font-size: 1.8rem;
    @media screen and (max-width: 768px) {
      width: 100%;
      margin-bottom: calc( 8 /750*100vw);
      font-size: calc( 28 /750*100vw);
    }
  }
  dd {
    width: 100%;
    font-size: 1.8rem;
    @media screen and (max-width: 768px) {
      font-size: calc( 28 /750*100vw);
    }
  }
}


.p-index__company-right {
  width: 450px;
  margin-left: auto;
  @media screen and (max-width: 768px) {
    width: 100%;
  }
  li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 96px;
    margin-bottom: 30px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(7, 1, 2, 0.1);
    font-size: 24px;
    font-weight: 800;
    @media screen and (max-width: 768px) {
      height: calc( 96 /750*100vw);
      margin-bottom: calc( 40 /750*100vw);
      border-radius: calc( 10 /750*100vw);
      font-size: calc( 34 /750*100vw);
      box-shadow: none;
    }
    .red {
      margin: 0 .1em;
      font-family: 'Montserrat', sans-serif;
      font-size: 50px;
      font-weight: 700;
      vertical-align: -7px;
      @media screen and (max-width: 768px) {
        font-size: calc( 60 /750*100vw);
        vertical-align: calc( -8 /750*100vw);
      }
    }
    &:last-child {
      margin-bottom: 0;
    }
  }
}




.pmark {
  padding: 16px 0;
  background: #fbfbfb;
}

@media screen and (max-width: 768px) {
  .pmark {
    padding: calc( 30 /750*100vw) 0;
  }
}

.pmark img {
  display: block;
  width: 56px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .pmark img {
    width: calc( 100 /750*100vw);
  }
}

.privacy {
  text-align: center;
  background: #fbfbfb;
  padding-bottom: 20px;
}

.privacy a {
  display: inline-block;
  color: #0000EE;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .privacy a {
    font-size: calc( 24 /750*100vw);
  }
}



 /* spからコーディング : モバイルファースト */
/* @media (width >= 1025px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}
@media (width <= 1024px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
} */

/* pcからコーディング */
@media (width >= 769px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}
@media (width <= 768px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}