@charset "UTF-8";
/*
	BASE
*******************************/
/*
font-family: "heisei-kaku-gothic-std", sans-serif;
font-family: hiragino-kaku-gothic-pron, sans-serif;
font-weight: 300;
font-weight: 600;
font-family: roc-grotesk-wide, sans-serif;
font-family: roc-grotesk, sans-serif;
font-weight: 400;
font-weight: 600;
*/
* {
  font-family: "heisei-kaku-gothic-std", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-feature-settings: "palt";
  line-height: 1;
}

.font_jp {
  font-family: hiragino-kaku-gothic-pron, sans-serif;
}

.font_en {
  font-family: roc-grotesk, sans-serif;
  font-weight: 600;
  font-style: normal;
}

:root {
  --color_main: #DB0025;
  --color_hover: #E54C66;
  --color_sub: #627A86;
  --color_white: #FFFFFF;
  --color_txt: #000000;
  --color_txt2: #1D1D1D;
  --color_gray: #595757;
  --color_gray2: #DCDCDC;
  --color_gray3: #999999;
  --color_gray4: #EFEFEF;
  --color_bg1: #F5F5F5;
  --font_jp: hiragino-kaku-gothic-pron, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font_en: roc-grotesk-wide, sans-serif;
}

html {
  font-size: 62.5%;
  line-height: 1;
}
html body {
  font-size: 1.6rem;
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
}
html body img {
  -webkit-backface-visibilityｺﾈｸﾄ: hidden;
  vertical-align: bottom;
  line-height: 0;
}
html body li {
  list-style: none;
}
html body p, html body th, html body td, html body dt, html body dd, html body li, html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, html body label {
  color: #1D1D1D;
}
html body a,
html body a:link,
html body a:visited {
  color: #1D1D1D;
  text-decoration: none;
  outline: none;
  border: none;
}
html body a:hover {
  text-decoration: none;
}
html body a img {
  outline: none;
  border: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
html body area {
  border: none;
  outline: none;
}
html body .clear {
  clear: both;
}
html body * img {
  max-width: 100%;
  height: auto;
}
html.wf-active body {
  opacity: 1;
  pointer-events: all;
  transition-property: opacity;
  transition-duration: 1s;
}

.wrap {
  position: relative;
  padding: 200px 0;
}
.wrap .contents {
  max-width: 1720px;
  width: calc(100% - 100px);
  margin: 0 auto;
}
.wrap .contents .title_h2 {
  font-size: 8.2rem;
  line-height: 1;
  display: grid;
  grid-row-gap: 0.15em;
  margin-bottom: 0.5em;
}
.wrap .contents .title_h2 .font_jp {
  font-size: 1.8rem;
  display: grid;
  grid-template-columns: auto 8.5em;
  align-items: center;
  justify-content: start;
  grid-column-gap: 1em;
}
.wrap .contents .title_h2 .font_jp::after {
  content: "";
  height: 1px;
  background-color: var(--color_main);
}
.wrap .contents .title_h2 .subttl {
  display: grid;
  grid-template-columns: repeat(2, auto);
  align-items: center;
  justify-content: start;
  grid-column-gap: 3em;
  font-size: 1.8rem;
  border-top: 1px solid #000000;
  padding: 20px 0;
  margin-top: 10px;
}
.wrap .contents .title_h2 .subttl .font_jp {
  color: var(--color_white);
  background-color: var(--color_main);
  display: grid;
  grid-template-columns: auto 8.5em;
  align-items: center;
  grid-column-gap: 1em;
  padding: 0.5em 1.5em;
}
.wrap .contents .title_h2 .subttl .font_jp::after {
  content: "";
  height: 1px;
  background-color: var(--color_white);
}
.wrap .contents .title_h2 .subttl .font_en {
  display: grid;
  grid-template-columns: repeat(3, auto);
  align-items: center;
  justify-content: start;
  grid-column-gap: 0.66em;
}
.wrap .contents .title_h2 .subttl .font_en span {
  font-family: inherit;
}
.wrap .contents .title_h2 .subttl .font_en::after {
  content: "";
  width: 0.5em;
  height: 1px;
  background-color: var(--color_txt);
  grid-area: 1/2/2/3;
}
.wrap .contents p {
  line-height: 2;
}
.wrap .contents .txt_red {
  color: var(--color_main);
}
.wrap .contents .btn_round {
  background-color: var(--color_main);
  height: 78px;
  border-radius: 39px;
  width: 310px;
  font-size: 1.8rem;
  font-family: roc-grotesk, sans-serif;
  font-style: normal;
  color: #FFFFFF;
  display: grid;
  grid-template-columns: 1fr 1em;
  align-items: center;
  padding: 0 3em;
}
.wrap .contents .btn_round.btn_prev {
  grid-template-columns: 1em 1fr;
  text-align: right;
}
.wrap .contents .btn_round.btn_prev.btn_gray {
  color: var(--color_sub);
  background-color: var(--color_gray2);
}

#contact .wrap {
  padding-top: 0;
}
#contact .wrap .contents {
  border-top: 1px solid var(--color_gray2);
  padding-top: 200px;
}
#contact .wrap .contents .contents_inner {
  max-width: 1520px;
  display: grid;
  grid-template-columns: 1fr 44%;
  grid-column-gap: 5%;
  align-items: start;
}
#contact .wrap .contents .contents_inner .detail p {
  margin-bottom: 3em;
}
#contact .wrap .contents .contents_inner ul {
  display: grid;
  grid-row-gap: 50px;
}
#contact .wrap .contents .contents_inner ul li {
  border-left: 1px solid var(--color_main);
  padding-left: 30px;
}
#contact .wrap .contents .contents_inner ul li h3 {
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 1em;
}
main .animation {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
main .animation.show {
  opacity: 1;
  transform: translateY(0px);
}


@media (hover: hover) {
  .wrap .contents a {
    transition: 0.3s;
  }
  .wrap .contents a img, .wrap .contents a::before, .wrap .contents a::after {
    transition: 0.3s;
  }
  .wrap .contents a.btn_round:hover {
    background-color: var(--color_hover);
  }
  .wrap .contents a.btn_round.btn_prev.btn_gray:hover {
    filter: brightness(1.05);
  }
}
@media screen and (max-width: 1200px) {
  .wrap .contents {
    width: calc(100% - 60px);
  }
  .pcOnly3 {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .wrap {
    padding: 150px 0;
  }
  .wrap .contents .title_h2 {
    font-size: 6.2rem;
  }
  .wrap .contents .btn_round {
    height: 64px;
    border-radius: 32px;
    width: 300px;
    font-size: 1.7rem;
  }
  #contact .wrap .contents {
    padding-top: 150px;
  }
  #contact .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 100px;
  }
  #contact .wrap .contents .contents_inner .detail .btn_round {
    margin: 0 auto;
  }
  .pcOnly2 {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  html body {
    font-size: 1.5rem;
  }
  .wrap {
    padding: 75px 0 100px;
  }
  .wrap .contents {
    width: calc(100% - 40px);
  }
  .wrap .contents .title_h2 {
    font-size: 4.2rem;
    grid-row-gap: 0.33em;
    margin-bottom: 0.66em;
  }
  .wrap .contents .title_h2 .font_jp {
    grid-template-columns: auto 1fr;
  }
  .wrap .contents .title_h2 .font_jp::after {
    max-width: 15em;
  }
  .wrap .contents .title_h2 .subttl {
    grid-template-columns: 1fr;
    margin-top: 0;
    grid-row-gap: 0.5em;
    padding-bottom: 10px;
  }
  .wrap .contents .title_h2 .subttl .font_jp {
    grid-template-columns: auto 1fr;
    padding: 0.66em 1em;
  }
  .wrap .contents .title_h2 .subttl .font_en {
    font-size: 1.5rem;
  }
  .wrap .contents p {
    line-height: 2;
  }
  .wrap .contents .btn_round {
    height: 56px;
    border-radius: 28px;
    width: 280px;
    font-size: 1.5rem;
  }
  #contact .wrap .contents {
    padding-top: 100px;
  }
  #contact .wrap .contents .contents_inner {
    grid-row-gap: 90px;
  }
  #contact .wrap .contents .contents_inner .detail p {
    margin-bottom: 2em;
  }
  #contact .wrap .contents .contents_inner ul {
    grid-row-gap: 40px;
  }
  #contact .wrap .contents .contents_inner ul li {
    padding-left: 20px;
  }
  #contact .wrap .contents .contents_inner ul li h3 {
    margin-bottom: 0.66em;
  }
  .pcOnly {
    display: none !important;
  }
  .tbOnly3 {
    display: none !important;
  }
  .tbOnly4 {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .tbOnly {
    display: none !important;
  }
  .tbOnly3 {
    display: none !important;
  }
}
@media screen and (min-width: 1201px) {
  .tbOnly2 {
    display: none !important;
  }
  .tbOnly4 {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}