@charset "utf-8";
:root {
  --red: #c21517;
  --light-red: #f4d5d5;
  --blue: #0062ce;
  --light-blue: #3da4ee;
  --dark-gray: #1B212A;
  --light-gray: #f4f4f4;
  --vision-page-color: #c7a8a8;
  --pc-contents-max-width: 1152px;
  --pc-contents-width: calc(100% - 100px);
  --pc-wrapper-max-width: 1720px;
  --pc-wrapper-width: calc(100% - 200px);
  --sp-contents-width: 92%;
  --block-02-width: 48%;
  --block-03-width: 32%;
  --block-05-width: 19%;
}
html {
  font-size: 62.5%;
}
body {
  color: #000;
  font-family: "游ゴシック体","游ゴシック",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","メイリオ",sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
ul, li {
  list-style: none;
}
a, img {
  transition: all 0.3s 0s ease;
}
a:link {
  color: var(--blue);
}
a:visited {
  color: var(--light-blue);
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}
.note {
  font-size: 0.85em;
}
div#wrapper {
  position: relative;
}
.contents_block_02,
.contents_block_03,
.contents_block_05 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.contents_block_02 > * {
  width: var(--block-02-width);
}
.contents_block_03 > * {
  width: var(--block-03-width);
}
.contents_block_05 > * {
  width: var(--block-05-width);
}
.target_blank::after {
  background-image: url("../images/icon_window_blue.svg");
  content: "";
  display: inline-block;
  height: 1em;
  margin: 0 0.3em;
  width: 1em;
}
.entry_btn li:first-of-type {
  background-color: var(--red);
}
.entry_btn li:last-of-type {
  background-color: var(--light-red);
}
.entry_btn li a,
.entry_btn li a:hover {
  text-decoration: none;
}
.entry_btn li:first-of-type a span,
.entry_btn li:first-of-type a strong {
  color: #FFF;
}
.entry_btn li:last-of-type a span,
.entry_btn li:last-of-type a strong {
  color: var(--red);
}
.entry_btn span {
  font-weight: bold;
}
.entry_btn strong {
  font-family: Poppins,"游ゴシック体","游ゴシック",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","メイリオ",sans-serif;
}
.link_btn_01,
.link_btn_02 {
  border-radius: 30px;
  font-family: Poppins,"游ゴシック体","游ゴシック",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","メイリオ",sans-serif;
  font-size: clamp(15px, 2vw, 2.5rem);
}
.link_btn_01 {
  background-color: var(--red);
}
.link_btn_02 {
  background-color: #FFF;
  border: solid 1px var(--red);
}
.link_btn_01 a,
.link_btn_02 a {
  display: block;
  padding: 0.35em 0;
  text-align: center;
  text-decoration: none;
}
.link_btn_01 a {
  color: #FFF;
}
.link_btn_02 a {
  color: var(--red);
}
.link_btn_01 a::after,
.link_btn_02 a::after {
  content: "";
  display: inline-block;
  width: 0.95em;
  height: 0.95em;
  margin-left: 0.5em;
}
.link_btn_01 a::after {
  background-image: url("../images/icon_arrow_white.svg");
}
.link_btn_02 a::after {
  background-image: url("../images/icon_arrow_red.svg");
}
.js-modal-btn {
  cursor: pointer;
}
.js-modal-btn:hover {
  opacity: 0.85;
  box-shadow: 7px 7px 14px -5px var(--dark-gray);
}
header {
  position: relative;
  z-index: 999;
}
header h1 a:link,
header h1 a:visited,
header h2 a:link,
header h2 a:visited {
  color: var(--dark-gray);
  text-decoration: none;
}
footer {
  background-color: #3d424a;
  color: #FFF;
}
footer a,
footer a:link,
footer a:visited {
  color: #FFF;
  text-decoration: none;
}
footer > .foot {
  background-color: var(--dark-gray);
}
.contents > div:not(:nth-of-type(1)) {
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .contents > div:not(:nth-of-type(1)) {
    margin-top: 2em;
    margin-bottom: 2em;
  }
}

/* ///////////// 動き ////////////// */
/* 流れるテキスト */
.slide-in {
  overflow: hidden;
  display: inline-block;
}
.slide-in_inner {
  display: inline-block;
}
/*左右のアニメーション*/
.leftAnime{
  opacity: 0;/*事前に透過0にして消しておく*/
}
.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
/* 上下のアニメーション*/
.downAnime{
    opacity: 0;/* 事前に透過0 にして消しておく*/
}

.slideAnimeDownUp {
    animation-name:slideTextY100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);/* 要素を上の枠外に移動*/
        opacity: 0;
    }
    to {
        transform: translateY(0);/* 要素を元の位置に移動*/
        opacity: 1;
    }
}

.slideAnimeUpDown {
    animation-name:slideTextY-100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY-100 {
    from {
        transform: translateY(-100%);/* 要素を下の枠外に移動*/
        opacity: 0;
    }
    to {
        transform: translateY(0);/* 要素を元の位置に移動*/
        opacity: 1;
    }
}

/*==================================================
ふわっ
===================================*/
/* fadeUp */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
/* 左から */
.fadeLeft{
  animation-name:fadeLeftAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 右から */
.fadeRight{
  animation-name:fadeRightAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRightAnime{
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
  opacity: 0;
}