@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@700;900&display=swap');
/*共通----------*/
body {
  position: relative;
  z-index: 0;
  color: #2b2b2b;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.154vw;
  background-color: #ffffff;
  font-feature-settings: "palt";
}
.zenold {
  font-family: "Zen Old Mincho", serif;
  font-style: normal;
}
.itc {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  font-style: normal;
}
html {}
img {
  max-width: 100%;
  height: auto;
}
.sp {
  display: none;
}
.pc {
  display: block;
}
a {
  text-decoration: none;
}
ul {
  padding: 0;
  margin: 0;
}
li {
  list-style: none;
}
dl, dt, dd {
  padding: 0;
  margin: 0;
}
/*unit----------*/
.unit {
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
  z-index: 100;
  opacity: 0;
  animation: op 0.7s 0.2s ease-in forwards;
}
@keyframes op {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.unit .logo {
  width: 30.7vw;
  background-color: #fff;
  padding: 1.25vw 2.4vw 1.25vw 0.65vw;
  box-shadow: 0px 2px 10px #00000026;
  border-radius: 0 0 1.2vw 0;
}
.unit .logo a {}
.unit .logo a img {}
.unit .coplink {
  width: 18.8vw;
}
.unit .coplink a {
  font-size: 1.2em;
  font-weight: 900;
  color: #fff;
  text-decoration: none;
  background-color: #ed3338;
  box-shadow: 0px 2px 10px #00000026;
  border-radius: 0 0 0 1.2vw;
  display: block;
  padding: 1.7vw 0 1.9vw;
  text-align: center;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
.unit .coplink a:hover {
  opacity: .65;
}
.unit .coplink a span {
  position: relative;
  z-index: 0;
  padding-right: 1.5vw;
  letter-spacing: 0.1vw;
}
.unit .coplink a span::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-image: url("../img/arrow2.png");
  width: 1.3vw;
  height: 100%;
  top: 0;
  bottom: 0;
  right: -.5vw;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
/*TOP共通----------*/
.fadein {
  opacity: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
  transform: translate(0px, 20px);
}
.fadein.on {
  opacity: 1;
  transform: translate(0px, 0px);
}
.fadeleft {
  opacity: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
  transform: translate(-20px, 0px);
}
.fadeleft.on {
  opacity: 1;
  transform: translate(0px, 0px);
}
.faderight {
  opacity: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
  transform: translate(20px, 0px);
}
.faderight.on {
  opacity: 1;
  transform: translate(0px, 0px);
}
.top_sec {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.inbox {}
.link_box {}
/*TOPPAGE----------*/
#top_fv {
  width: 100%;
  height: 58.4vw;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
  background-color: #fcf8f3;
}
#top_fv::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 98%;
  top: 0;
  left: 0;
  background-image: url(../img/fv_bg.png);
  background-size: 84.8% auto;
  background-repeat: no-repeat;
  background-position: center;
}
#top_fv h1 {
  font-weight: 900;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 2.2em;
  margin: 0 auto;
  padding: 8vw 0;
  line-height: 320%;
  letter-spacing: .72vw;
  opacity: 0;
  transform: translate(0px, 20px);
  animation: opfadein 0.7s 0.2s ease forwards;
}
@keyframes opfadein {
  0% {
    opacity: 0;
    transform: translate(0px, 20px);
  }
  100% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}
#top_fv .scroll {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 4.25vw;
  width: 3.5vw;
  animation: scrollin 1s 0s ease forwards infinite;
}
@keyframes scrollin {
  0% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
  100% {
    opacity: 0;
    transform: translate(0px, 20px);
  }
}
#top_fv .scroll a {
  position: relative;
  z-index: 0;
  color: #ed3338;
  font-size: 0.8em;
  padding-bottom: 2.2vw;
}
#top_fv .scroll a::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 1.8vw;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url("../img/arrow.png");
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center;
}
#top_01 {
  padding: 8.7vw 0 8.2vw;
}
#top_01::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/top_01bg.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top;
}
#top_01 .inbox {
  width: 75.5%;
  margin: 0 auto;
  padding: 9.2vw 0vw 5.3vw;
  background-color: #fff;
  position: relative;
  z-index: 0;
}
#top_01 .inbox::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 3.5vw solid transparent;
  border-left: 3.5vw solid transparent;
  border-top: 3.5vw solid #fcf7f3;
  border-bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}
#top_01 .inbox h2 {
  font-size: 5.2em;
  line-height: 100%;
  text-align: center;
  color: #ed3338;
  font-weight: 900;
}
#top_01 .inbox .txt1 {
  text-align: center;
  margin: 2.6vw 0 3.5vw;
  font-size: 1.06em;
  letter-spacing: 0.38vw;
  line-height: 235%;
}
#top_01 .inbox ul {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
  width: 81%;
  margin: 0 auto;
  font-weight: 900;
}
#top_01 .inbox ul li {
  width: 19.1vw;
  color: #fff;
  line-height: 108%;
  letter-spacing: -.1vw;
  font-size: 2.3em;
  text-align: center;
  height: 19.1vw;
  border-radius: 50%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  background: radial-gradient(circle, rgba(237, 51, 56, 1) 0%, rgba(255, 132, 126, 1) 56%);
  filter: drop-shadow(15px 0px 38px #ede6e8);
  box-shadow: inset 0px 0px 29px rgb(237 51 56 / 52%);
}
#top_01 .inbox .txt2 {
  text-align: center;
  margin: 4.2vw 0 0;
  font-size: 2.5em;
  letter-spacing: .2vw;
  color: #ed3338;
  font-weight: 900;
}
#top_01 .newsbox {
  width: 90%;
  margin: 0 auto;
  margin-top: 5.5vw;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: stretch;
  background-color: #FFF;
  box-shadow: 7px 5px 1px #ffd0d1;
}
#top_01 .newsbox h3 {
  width: 28%;
  background-color: #ed3338;
  color: #fff;
  font-size: 4.3em;
  font-weight: 700;
  padding: 8.1vw 0vw 0vw 7vw;
  line-height: 100%
}
#top_01 .newsbox h3 span {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .275em;
  letter-spacing: .11vw;
  line-height: 100%;
  margin-top: .3vw;
}
#top_01 .newsbox .content {
  width: calc(72% - 7.1vw);
  height: 20.6vw;
  padding: 0 0 0 4.5vw;
  overflow-y: scroll;
  margin: 1.5vw 7.1vw 1.9vw 0;
}
#top_01 .newsbox .content dl {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
  padding: 1.2vw .4vw 1.5vw;
  border-bottom: 1px solid #e0e4ef;
  width: 96.5%;
}
#top_01 .newsbox .content dl:not(:first-of-type) {
  padding: 1.7vw .4vw;
}
#top_01 .newsbox .content dl dt {
  font-size: 1.14em;
  width: 16.8%;
}
#top_01 .newsbox .content dl dd {
  width: 83.2%;
}
#top_01 .newsbox .content dl dd h4 {
  font-size: 1.37vw;
  font-weight: 500;
}
#top_01 .newsbox .content dl dd p {
  font-weight: 400;
}
#top_02 {
  padding: 2.05vw 0 19.7vw;
}
#top_02::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/top_03img01.png);
  background-size: 73.6% auto;
  background-repeat: no-repeat;
  background-position: bottom right;
  bottom: 0;
  right: 0;
}
#top_02 .vertical_txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  z-index: 0;
  font-size: 5.9em;
  left: -1.65vw;
  top: 0;
  line-height: 100%;
  font-weight: bolder;
  color: #fbd6d7;
  letter-spacing: .35vw;
}
#top_02 .inbox {
  margin: 0 auto;
  width: 73.1%;
  margin-left: 15.3%;
}
#top_02 .inbox .txt {
  font-size: 2em;
  font-weight: 700;
  margin-left: .6vw;
  letter-spacing: .2vw;
  line-height: 172%;
}
#top_02 .inbox h2 {
  font-size: 4.0em;
  font-weight: 900;
  margin-left: .8vw;
  line-height: 100%;
  margin-top: 1.1vw;
}
#top_02 .inbox h2 span {
  font-size: 1.24em;
  line-height: 100%;
  color: #ed3338;
}
#top_02 .inbox h2 span b {
  font-size: 1.2em;
  line-height: 100%;
}
#top_02 .inbox ul {
  margin-top: 2.5vw;
  padding-top: 5.9vw;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: stretch;
}
#top_02 .inbox ul li {
  width: 23.5vw;
  text-align: center;
  padding-bottom: 2.1vw;
  background: radial-gradient(circle, rgba(237, 51, 56, 1) 0%, rgba(255, 132, 126, 1) 56%);
  filter: drop-shadow(15px 0px 38px #ede6e8);
  box-shadow: inset 0px 0px 29px rgb(237 51 56 / 52%);
  color: #fff;
  border-radius: 1.8vw;
}
#top_02 .inbox ul li h3 {
  font-size: 1.7em;
  height: 9.5vw;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-top: 2.4vw;
  line-height: 130%;
}
#top_02 .inbox ul li p {
  font-size: 1.07em;
  line-height: 158%;
}
#top_02 .inbox ul li:not(:nth-of-type(1)) p {
  margin-top: .9vw;
}
#top_03 {
  padding: 0 0 10.8vw;
  margin: 8vw 0 0;
}
#top_03::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/top_03img02.png);
  background-size: 28.6% auto;
  background-repeat: no-repeat;
  background-position: top left;
  top: 0;
  left: 0;
}
#top_03 .inbox {
  margin: 0 0 0 auto;
  width: 76.3%;
}
#top_03 .inbox h2 {
  font-size: 3.4em;
  margin-left: 5.3vw;
  line-height: 100%;
  letter-spacing: -.11vw;
  margin-top: 2.5vw;
}
#top_03 .inbox h2 small {
  display: block;
  font-size: 0.645em;
  line-height: 100%;
  letter-spacing: .0vw;
  margin-bottom: -1vw;
  color: #ed3338;
}
#top_03 .inbox h2 span {
  font-size: 1.51em;
  margin-left: .7vw;
  color: #ed3338;
}
#top_03 .inbox ul {
  margin-top: 4vw;
}
#top_03 .inbox ul li {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  padding: 2.35vw 11vw 2.35vw 1.6vw;
  border-radius: 1.4vw 0 0 1.4vw;
  background-color: #fff;
  filter: drop-shadow(0px 7px 16px #f7f4f5);
}
#top_03 .inbox ul li:not(:last-of-type) {
  margin-bottom: 1.75vw;
}
#top_03 .inbox ul li h3 {
  font-size: 1.65em;
  line-height: 100%;
}
#top_03 .inbox ul li h3 span {
  font-size: 1.3em;
  margin-right: 1vw;
  color: #ed3338;
}
#top_03 .inbox ul li p {
  margin-left: .95vw;
}
#top_03 .inbox ul li .link {
  margin: 0 0 0 auto;
}
#top_03 .inbox ul li .link a {
  color: #bb434d;
  font-weight: 900;
  font-size: .93em;
  padding-right: 1.8vw;
  padding-left: 3.5vw;
  position: relative;
  z-index: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_03 .inbox ul li .link a:hover {
  opacity: .65;
}
#top_03 .inbox ul li .link a::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 2.65vw;
  height: 1px;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: #ed3338;
}
#top_03 .inbox ul li .link a::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1.3vw;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-image: url("../img/arrow_r.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_03 .inbox ul li .link a:hover::after {
  right: -0.3vw;
}
.common_layout {}
.common_layout .inbox {
  width: 78.5%;
  margin: 0 auto;
}
.common_layout h2 {
  position: relative;
  z-index: 0;
  text-align: center;
  font-size: 3em;
  letter-spacing: .6vw;
  line-height: 100%;
  font-weight: 900;
  padding: 4.6vw 0 5.4vw;
}
.common_layout h2 span {
  position: absolute;
  z-index: -1;
  left: 1.5vw;
  right: 0;
  margin: auto;
  top: 0.8vw;
  bottom: 0;
  font-size: 5.0em;
  line-height: 101%;
  font-weight: 300;
  letter-spacing: -0.5vw;
  background: linear-gradient(0deg, rgba(255, 232, 188, 1) 0%, rgba(237, 51, 56, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 30%;
}
.common_layout h2 small {
  display: block;
  line-height: 100%;
  font-size: .5em;
  letter-spacing: 0.1vw;
  margin-bottom: 1vw;
}
.common_layout h3 {
  margin-top: 2.4vw;
  text-align: center;
  color: #ed3338;
  font-size: 2.9em;
  line-height: 100%;
  letter-spacing: 0.5vw;
}
#top_09.common_layout h3 {
  line-height: 120%;
}
.common_layout .txt {
  text-align: center;
  margin: 2.5vw 0 3.1vw;
  font-size: 1.2em;
  letter-spacing: .16vw;
  line-height: 160%;
}
#top_06.common_layout .txt {
  margin: 2.9vw 0 3.1vw;
}
#top_07.common_layout .txt {
  margin: 3.0vw 0 4.7vw;
  line-height: 146%;
}
.common_layout .flex {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
}
.common_layout .flex .box {
  width: 47%;
  background-color: #ffffff;
  height: 37.5vw;
  border-radius: 1.2vw;
  filter: drop-shadow(0px 3px 15px #e3e3e3);
  padding: 3vw 4.6vw 0;
}
#top_06.common_layout .flex .box {
    height: 57vw;
  padding: 5.8vw 4.5vw 0;
}
#top_07.common_layout .flex .box {
  height: 55vw;
  padding: 3vw 4.5vw 0;
}
#top_09.common_layout .flex .box {
  height: 59.4vw;
  padding: 4.8vw 4.5vw 0;
}
.common_layout .flex .box h4 {
  text-align: center;
  font-size: 1.65em;
}
#top_06.common_layout .flex .box h4 {
  font-size: 1.870em;
}
#top_09.common_layout .flex .box h4 {
  font-size: 1.85em;
}
.common_layout .flex .box .img {
  margin: 0 auto;
  text-align: center;
}
#top_05.common_layout .flex .box:nth-of-type(1) .img {
  margin-top: 1.5vw;
  margin-bottom: 1.1vw;
}
#top_05.common_layout .flex .box:nth-of-type(2) .img {
  margin-top: 2vw;
  margin-bottom: 0.5vw;
}
#top_06.common_layout .flex .box:nth-of-type(1) .img {
  margin-top: 1.2vw;
  margin-bottom: 1.1vw;
}
#top_06.common_layout .flex .box:nth-of-type(2) .img {
  margin-top: 2vw;
  margin-bottom: 1.2vw;
}
#top_07.common_layout .flex .box:nth-of-type(1) .img {
  margin-top: 1.9vw;
  margin-bottom: 1.1vw;
}
#top_07.common_layout .flex .box:nth-of-type(2) .img {
  margin-top: 2vw;
  margin-bottom: 1.2vw;
}
#top_09.common_layout .flex .box:nth-of-type(1) .img {
  margin-top: 1.9vw;
  margin-bottom: .9vw;
}
#top_09.common_layout .flex .box:nth-of-type(2) .img {
  margin-top: 2vw;
  margin-bottom: 1.2vw;
}
#top_05.common_layout .flex .box:nth-of-type(1) .img img {
  width: 44%;
}
#top_05.common_layout .flex .box:nth-of-type(2) .img img {
  width: 58%;
  margin-bottom: .6vw;
}
#top_06.common_layout .flex .box:nth-of-type(1) .img img {
  width: 42%;
  margin-bottom: .7vw;
}
#top_06.common_layout .flex .box:nth-of-type(2) .img img {
  width: 56%;
  margin-bottom: .7vw;
}
#top_07.common_layout .flex .box:nth-of-type(1) .img img {
  width: 27%;
  margin-bottom: 0.7vw;
}
#top_07.common_layout .flex .box:nth-of-type(2) .img img {
  width: 37%;
  margin-bottom: .7vw;
}
#top_09.common_layout .flex .box:nth-of-type(1) .img img {
  width: 36%;
  margin-bottom: 0.6vw;
}
#top_09.common_layout .flex .box:nth-of-type(2) .img img {
  width: 35%;
  margin-bottom: 1.1vw;
}
.common_layout .flex .box .img span {
  display: block;
  font-size: 1.6em;
}
#top_07.common_layout .flex .box:nth-of-type(2) .img span {
  font-size: 1.5em;
}
.common_layout .flex .box p {
  border-top: 1px solid #e2e5e8;
}
#top_06.common_layout .flex .box p {
  line-height: 172%;
  height: 12.5vw;
  border-top: 0px solid #e2e5e8;
}
#top_07.common_layout .flex .box p {
  line-height: 172%;
  height: 12.5vw;
  border-top: 0px solid #e2e5e8;
}
#top_09.common_layout .flex .box p {
  line-height: 172%;
  height: 14vw;
  border-top: 0px solid #e2e5e8;
}
#top_05.common_layout .flex .box:nth-of-type(1) p {
  padding: 1.05vw 0 1.05vw 1.5vw;
  line-height: 164%;
  font-size: 1.06em;
}
#top_05.common_layout .flex .box:nth-of-type(2) p {
  padding: 1.5vw 0 0;
  line-height: 190%;
  font-size: 1.06em;
}
.common_layout .flex .box ul {
  border-top: 1px solid #e2e5e8;
}
.common_layout .flex .box ul li {
  padding: 0 0vw 0vw 2.1vw;
  position: relative;
  z-index: 0;
  margin-top: 1.6vw;
  letter-spacing: .05vw;
}
.common_layout .flex .box ul li::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1.1vw;
  height: 1.1vw;
  background-color: #ed3338;
  border-radius: 50%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#top_04 {
  padding: 2.5vw 0 27.5vw;
}
#top_04::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/top04_bg.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: bottom;
  top: 0;
  left: 0;
}
#top_04 .inbox {
  position: relative;
  z-index: 0;
}
#top_04 .inbox h2 {
  font-size: 5em;
  letter-spacing: .9vw;
  padding: 4.5vw 0 4vw;
}
#top_04 .inbox h2 span {
  top: 0.8vw;
  font-size: 3.2em;
}
#top_04 .inbox h2 small {
  font-size: .3em;
}
#top_04 .inbox .txt {
  text-align: center;
  margin: 2.2vw 0 3.1vw;
  font-size: 1.25em;
  letter-spacing: .16vw;
}
#top_04 .inbox .flex1 {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: stretch;
}
#top_04 .inbox .flex1 .box {
  width: 33.0%;
  height: 41.2vw;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0px 5px 22px #0000002b;
}
#top_04 .inbox .flex1 .box:nth-of-type(1) {
  border-radius: 1vw 0 0 1vw;
}
#top_04 .inbox .flex1 .box:nth-of-type(3) {
  border-radius: 0 1vw 1vw 0;
}
#top_04 .inbox .flex1 .box .year {
  text-align: center;
  font-size: 2.05vw;
  padding: .9vw 0 1vw;
  color: #fff;
  background-color: #ed3338;
}
#top_04 .inbox .flex1 .box h4 {
  text-align: center;
  font-size: 1.7em;
  height: 9vw;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  line-height: 110%;
}
#top_04 .inbox .flex1 .box p:nth-of-type(1) {
  border-top: 1px solid #e2e5e8;
}
#top_04 .inbox .flex1 .box p {
  border-bottom: 1px solid #e2e5e8;
  margin: 0 auto;
  width: 83%;
  padding: 1.4vw 0;
  line-height: 150%;
}
#top_04 .human {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: 7vw;
  height: 17.0vw;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  bottom: 10.8vw;
  left: 11.5vw;
}
#top_04 .human::before {
    content: "";
  position: absolute;
    z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/human1.svg);
  background-repeat: no-repeat;
  background-size: 7vw 17.0vw;
  background-position: center;
  top: 0;
  left: 0;
}
#top_04 .human::after {
  content: "";
  position: absolute;
    z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/human2.svg);
  background-repeat: no-repeat;
  background-size: 7vw 17.0vw;
  background-position: center;
  top: 0;
  left: 0;
    opacity: 0;
}
#top_04.on .human {
  animation: human_ani 10s 0.5s linear forwards;
}
#top_04.on .human::before {
  animation: human_bef 10s 0.5s linear forwards;
}
#top_04.on .human::after {
  animation: human_afhu 10s 0.5s linear forwards;
}
@keyframes human_bef {
  0% {
      opacity: 1;
  }
  9.9% {
      opacity: 1;
  }
  10% {
      opacity: 0;
  }
  19.9% {
      opacity: 0;
  }
  20% {
      opacity: 1;
  }
  29.9% {
      opacity: 1;
  }
  30% {
      opacity: 0;
  }
  39.9% {
      opacity: 0;
  }
  40% {
      opacity: 1;
  }
  49.9% {
      opacity: 1;
  }
  50% {
      opacity: 0;
  }
  59.9% {
      opacity: 0;
  }
  60% {
      opacity: 1;
  }
  69.9% {
      opacity: 1;
  }
  70% {
      opacity: 0;
  }
  79.9% {
      opacity: 0;
  }
  80% {
      opacity: 1;
  }
  89.9% {
      opacity: 1;
  }
  90% {
      opacity: 0;
  }
  99.9% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}
@keyframes human_afhu {
  0% {
      opacity: 0;
  }
  9.9% {
      opacity: 0;
  }
  10% {
      opacity: 1;
  }
  19.9% {
      opacity: 1;
  }
  20% {
      opacity: 0;
  }
  29.9% {
      opacity: 0;
  }
  30% {
      opacity: 1;
  }
  39.9% {
      opacity: 1;
  }
  40% {
      opacity: 0;
  }
  49.9% {
      opacity: 0;
  }
  50% {
      opacity: 1;
  }
  59.9% {
      opacity: 1;
  }
  60% {
      opacity: 0;
  }
  69.9% {
      opacity: 0;
  }
  70% {
      opacity: 1;
  }
  79.9% {
      opacity: 1;
  }
  80% {
      opacity: 0;
  }
  89.9% {
      opacity: 0;
  }
  90% {
      opacity: 1;
  }
  99.9% {
      opacity: 1;
  }
  100% {
      opacity: 0;
  }
}
@keyframes human_ani {
  0% {
  bottom: 10.8vw;
  left: 11.5vw;
  }
  10% {
    bottom: 11.12vw;
    left: 17.5vw;
  }
  20% {
    bottom: 11.44vw;
    left: 24.5vw;
  }
  30% {
    bottom: 11.76vw;
    left: 31.5vw;
  }
  40% {
    bottom: 11.2vw;
    left: 38.5vw;
  }
  50% {
    bottom: 12.08vw;
    left: 45.5vw;
  }
  60% {
    bottom: 12.4vw;
    left: 52.5vw;
  }
  70% {
    bottom: 12.72vw;
    left: 59.5vw;
  }
  80% {
    bottom: 13.04vw;
    left: 66.5vw;
  }
  90% {
    bottom: 13.36vw;
    left: 73.5vw;
  }
  100% {
    bottom: 14vw;
    left: 81.5vw;
  }
}
@keyframes human_anisp {
  0% {
    bottom: 32.8vw;
  left: 11.5vw;
  }
  10% {
    bottom: 33.9vw;
    left: 17.8vw;
  }
  20% {
    bottom: 35vw;
    left: 24.1vw;
  }
  30% {
    bottom: 36.1vw;
    left: 30.4vw;
  }
  40% {
    bottom: 37.2vw;
    left: 36.7vw;
  }
  50% {
    bottom: 38.3vw;
    left: 43vw;
  }
  60% {
    bottom: 39.4vw;
    left: 49.3vw;
  }
  70% {
    bottom: 40.5vw;
    left: 55.6vw;
  }
  80% {
    bottom: 41.6vw;
    left: 61.9vw;
  }
  90% {
    bottom: 42.7vw;
    left: 68.2vw;
  }
  100% {
    bottom: 43.8vw;
    left: 74.5vw;
  }
}
#top_05 {
  padding: 5.5vw 0;
}
#top_06 {
  background-color: #fff8f8;
  padding: 7.2vw 0;
}
#top_07 {
  padding: 6.5vw 0;
}
#top_08 {
  padding: 6vw 0 15.6vw;
}
#top_08::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url("../img/top_08bg.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top;
  top: 0;
  left: 0;
}
#top_08 .inbox {
  margin: 0 auto;
  width: 62%;
}
#top_08 .inbox h2 {
  text-align: center;
  font-size: 4.1em;
  color: #ed3338;
  line-height: 100%;
}
#top_08 .inbox h2 span {
  display: block;
  color: #2b2b2b;
  font-size: 0.55em;
  line-height: 100%;
  margin-bottom: 1vw;
}
#top_08 .inbox p {
  text-align: center;
  margin: 3.5vw 0 3.3vw;
  font-size: 1.1em;
  letter-spacing: .3vw;
  line-height: 220%;
}
#top_08 .inbox .link {
  width: 42.5vw;
  margin: 0 auto;
}
#top_08 .inbox .link a {
  display: block;
  color: #fff;
  background-color: #ed3338;
  padding: 1.95vw 0;
  font-size: 1.7em;
  text-align: center;
  position: relative;
  z-index: 0;
  border-radius: 1.5vw;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_08 .inbox .link a:hover {
  opacity: .65;
}
#top_08 .inbox .link a::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 2.1vw;
  height: 100%;
  background-image: url(../img/arrow2.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  right: 2.1vw;
  top: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_08 .inbox .link a:hover::before {
  transform: translate(15%,0);
}
#top_09 {
  padding-bottom: 8.6vw;
}
#top_10 {
  background-color: #fff8f8;
  padding: 7.5vw 0 9vw;
}
#top_10 .inbox {
  margin-left: 10.9vw;
}
#top_10 .inbox h2 {
  font-size: 2.8em;
  letter-spacing: .72vw;
  margin-bottom: 2.5vw;
}
#top_10 .inbox h2 span {
  display: block;
  font-size: .65em;
  letter-spacing: .15vw;
  color: #ed3338;
}
#top_10 .inbox .txt {
  width: 87.5%;
  font-size: 1.3em;
  letter-spacing: .06vw;
  line-height: 149%;
  margin-bottom: 3.6vw;
}
#top_10 .inbox .box {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
  filter: drop-shadow(0px 3px 15px #e3e3e3);
  border-radius: 1vw 0 0 1vw;
}
#top_10 .inbox .box:not(:last-of-type) {
  margin-bottom: 1.4vw;
}
#top_10 .inbox .box h4 {
  width: 33.8%;
  line-height: 100%;
  padding-left: 3.5vw;
  font-size: 1.9em;
  padding-bottom: 1vw;
}
#top_10 .inbox .box h4 span {
  display: block;
  line-height: 100%;
  font-size: 0.61em;
  margin-top: .9vw;
}
#top_10 .inbox .box .inner {
  width: 66.2%;
  padding: 3.2vw 10.8vw 2.7vw 0;
}
#top_10 .inbox .box .inner p {
  line-height: 175%;
  letter-spacing: 0.06vw;
}
#top_10 .inbox .box .inner ul {
  margin-top: 1.4vw;
  border-top: 1px solid #e2e5e8;
  padding-top: 1.5vw;
}
#top_10 .inbox .box .inner ul li {
  padding-left: 2.5vw;
  position: relative;
  z-index: 0;
}
#top_10 .inbox .box .inner ul li:not(:last-of-type) {
  margin-bottom: .9vw;
}
#top_10 .inbox .box .inner ul li::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1.1vw;
  height: 1.1vw;
  background-color: #ed3338;
  border-radius: 50%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#top_11 {
  padding: 8vw 0;
}
#top_11 .inbox {}
#top_11 .inbox .flex {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 0;
}
#top_11 .inbox .flex:nth-of-type(1) {
  padding: 5.4vw 0;
}
#top_11 .inbox .flex:nth-of-type(2) {
  padding: 9vw 0 6.5vw;
  margin-top: 5vw;
}
#top_11 .inbox .flex .img {
  width: 43.4vw;
  position: absolute;
  z-index: -1;
  top: 0;
}
#top_11 .inbox .flex:nth-of-type(1) .img {
  left: 0;
}
#top_11 .inbox .flex:nth-of-type(2) .img {
  right: 0;
}
#top_11 .inbox .flex .img img {}
#top_11 .inbox .flex .txt {
  width: 40.5vw;
}
#top_11 .inbox .flex:nth-of-type(1) .txt {
  margin: 0 0 0 auto;
  margin-right: 11vw;
}
#top_11 .inbox .flex:nth-of-type(2) .txt {
  margin: 0 auto 0 0;
  margin-left: 11vw;
}
#top_11 .inbox .flex .txt h2 {
  font-size: 2.75em;
  font-weight: 700;
  letter-spacing: .9vw;
  line-height: 123%;
}
#top_11 .inbox .flex .txt h2 span {
  display: block;
  font-size: .65em;
  letter-spacing: 0.05vw;
  color: #ed3338;
  line-height: 100%;
  margin-left: .5vw;
  margin-bottom: 1vw;
}
#top_11 .inbox .flex .txt p {
  margin-top: 3.2vw;
  font-size: 1.2em;
  letter-spacing: .25vw;
  line-height: 161%;
  margin-bottom: 6.6vw;
}
#top_11 .inbox .flex .txt .inner {}
#top_11 .inbox .flex .txt .inner h4 {
  font-size: 2em;
  letter-spacing: .05vw;
  color: #ed3338;
}
#top_11 .inbox .flex .txt .inner dl {}
#top_11 .inbox .flex .txt .inner dl:not(:last-of-type) {
  margin-bottom: 2.7vw;
}
#top_11 .inbox .flex .txt .inner dl dt {
  font-size: 1.55em;
  font-weight: 600;
  color: #ed3338;
}
#top_11 .inbox .flex .txt .inner dl dd {
  margin-top: 1.8vw;
}
#top_11 .inbox .flex .txt .inner dl dd p {
  margin: 0;
  font-size: 1em;
  letter-spacing: 0.1vw;
  line-height: 172%;
}
#top_11 .inbox .flex .txt .inner dl dd ul {}
#top_11 .inbox .flex .txt .inner dl dd ul li {
  padding-left: 2.5vw;
  position: relative;
  z-index: 0;
  letter-spacing: .075vw;
}
#top_11 .inbox .flex .txt .inner dl dd ul li:not(:last-of-type) {
  margin-bottom: .9vw;
}
#top_11 .inbox .flex .txt .inner dl dd ul li::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1.1vw;
  height: 1.1vw;
  background-color: #ed3338;
  border-radius: 50%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#top_12 {
  padding: 14vw 0 9.9vw;
}
#top_12::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url("../img/top12bg.png");
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top;
  top: 0;
  left: 0;
}
#top_12 .inbox {
  margin: 0 auto;
  width: 78.5%;
}
#top_12 .inbox h2 {
  text-align: center;
  font-size: 2.9em;
  color: #ed3338;
  line-height: 100%;
  letter-spacing: .75vw;
}
#top_12 .inbox h2 span {
  display: block;
  font-size: 0.55em;
  line-height: 100%;
  margin-bottom: 1.3vw;
  letter-spacing: 0.1vw;
}
#top_12 .inbox p {
  text-align: center;
  margin: 3vw 0 3vw;
  font-size: 1.1em;
  letter-spacing: .3vw;
  line-height: 180%;
}
#top_12 .inbox ul {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
}
#top_12 .inbox ul li {
  width: 32.7%;
  background-color: #ffffff;
  border-radius: 1.2vw;
  filter: drop-shadow(0px 3px 15px #e3e3e3);
  padding: 2.55vw 0 0;
}
#top_12 .inbox ul li .img {
  margin: 0 auto;
  height: 10vw;
  text-align: center;
}
#top_12 .inbox ul li:nth-of-type(1) .img {
  width: 37%;
}
#top_12 .inbox ul li:nth-of-type(2) .img {
  width: 23%;
}
#top_12 .inbox ul li:nth-of-type(3) .img {
  width: 44%;
  padding-top: 1.9vw;
}
#top_12 .inbox ul li .txt {
  text-align: center;
}
#top_12 .inbox ul li .txt h3 {
  font-size: 1.8em;
  line-height: 110%;
}
#top_12 .inbox ul li .txt p {
  font-size: 1em;
  letter-spacing: 0.2vw;
  margin: 2vw 0 2.7vw;
}
#top_12 .inbox .link {
  width: 42.5vw;
  margin: 0 auto;
  margin-top: 3.8vw;
}
#top_12 .inbox .link a {
  display: block;
  color: #fff;
  background-color: #ed3338;
  padding: 1.95vw 0;
  font-size: 1.7em;
  text-align: center;
  position: relative;
  z-index: 0;
  border-radius: 1.5vw;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_12 .inbox .link a:hover {
  opacity: .65;
}
#top_12 .inbox .link a::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 2.1vw;
  height: 100%;
  background-image: url(../img/arrow2.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
  right: 2.1vw;
  top: 0;
  transition: all ease 0.5s 0s;
  -webkit-transition: all ease 0.5s 0s;
  -moz-transition: all ease 0.5s 0s;
}
#top_12 .inbox .link a:hover::before {
  transform: translate(15%,0);
}
footer {
  background-color: #ed3338;
  color: #fff;
  text-align: center;
  padding: 2vw 0;
  font-size: .9em;
}
footer .cop {}
@media screen and (max-width:1400px) {}
@media screen and (max-width:1200px) {}
@media screen and (max-width:1024px) {}
@media screen and (max-width:850px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
body {
    font-size: 3.2vw;
}
.unit {
    align-items: stretch;
}
.unit .logo {
    width: 50vw;
    background-color: #fff;
        padding: 1.5vw 1vw 0 1vw;
    box-shadow: 0px 2px 10px #00000026;
    border-radius: 0 0 0 0;
    display: flex
;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.unit .coplink {
    width: 50vw;
}
.unit .coplink a span::before {
    width: 3.3vw;
    right: -2.5vw;
}
.unit .coplink a {
    font-size: 1.0em;
    padding: 2.7vw 0 2.9vw;
    border-radius: 0 0 0 0;
}
#top_fv {
    height: 145vw;
}
#top_fv::before {
    height: 100%;
    background-size: 90% auto;
}
#top_fv h1 {
        line-height: 230%;
        font-size: 2.0em;
}
#top_fv .scroll {
    bottom: 4.25vw;
    width: 10vw;
}
#top_fv .scroll a {
    padding-bottom: 4.2vw;
}
#top_fv .scroll a::before {
    height: 3.8vw;
}
#top_01 {
    padding: 16.7vw 0 16.2vw;
}
#top_01 .inbox {
    width: 85%;
    padding: 9.2vw 5vw 5.3vw;
}
#top_01 .inbox h2 {
        font-size: 2.5em;
}
#top_01 .inbox .txt1 {
    margin: 4.6vw 0 5.5vw;
    letter-spacing: 0vw;
}
#top_01 .inbox ul {
    width: 100%;
}
#top_01 .inbox ul li {
        width: 24.5vw;
        font-size: 1.05em;
        height: 24.5vw;
}
#top_01 .inbox .txt2 {
    font-size: 1.3em;
}
#top_01 .newsbox h3 {
    width: 100%;
    font-size: 2.5em;
        padding: 4.1vw 0vw 4.1vw 6vw;
}
#top_01 .newsbox h3 span {
    margin-top: 1.3vw;
}
#top_01 .newsbox .content {
    width: calc(100% - 3.1vw);
        height: 89.6vw;
    margin: 1.5vw 3.1vw 1.9vw 0;
}
#top_01 .newsbox .content dl dt {
    width: 100%;
}
#top_01 .newsbox .content dl dd {
    width: 100%;
}
#top_01 .newsbox .content dl dd h4 {
    font-size: 1.3em;
}
#top_01 .newsbox .content dl dd p {
    margin-top: .5vw;
}
#top_01 .newsbox .content dl {
    padding: 2.2vw .4vw 3.5vw;
}
#top_01 .newsbox .content dl:not(:first-of-type) {
    padding: 3.5vw .4vw;
}
#top_02 {
        padding: 6.05vw 0 60.7vw;
}
#top_02 .inbox {
    width: 80%;
    margin-left: 10%;
}
#top_02 .vertical_txt {
    font-size: 3.9em;
    left: -3.65vw;
}
#top_02 .inbox .txt {
    font-size: 1.3em;
}
#top_02 .inbox h2 {
    font-size: 2.2em;
}
#top_02 .inbox ul li {
    width: 100%;
    padding-bottom: 4.1vw;
}
#top_02 .inbox ul li:not(:last-of-type) {
        margin-bottom: 3vw;
}
#top_02 .inbox ul li h3 {
    height: 16.5vw;
    padding-top: 3.4vw;
}
#top_02 .inbox ul li:not(:nth-of-type(1)) p {
    margin-top: 1.9vw;
}
#top_02::before {
    background-size: 94.6% auto;
}
#top_03 .inbox {
    width: 90%;
}
#top_03 .inbox h2 {
    font-size: 2.2em;
}
#top_03 .inbox h2 small {
    margin-bottom: 1vw;
}
#top_03 .inbox h2 span {
    display: block;
    margin-top: 3vw;
}
#top_03 .inbox ul li h3 {
    font-size: 1.45em;
    width: 100%;
    margin-bottom: 2vw;
}
#top_03 .inbox ul li p {
    margin-left: 0;
    width: 100%;
}
#top_03 .inbox ul li .link a {
    padding-right: 3.8vw;
}
#top_03 .inbox ul li .link a::after {
    width: 3vw;
}
#top_03 .inbox ul li {
    padding: 3.35vw 4vw 3.35vw 2.6vw;
}
#top_03 .inbox ul li .link {
    margin: 1vw 0 0 auto;
}
#top_03 .inbox ul {
    margin-top: 7vw;
}
#top_03::before {
    background-size: 67.6% auto;
}
#top_04 {
        padding: 9.5vw 0 83.5vw;
}
#top_04 .inbox h2 {
    font-size: 3.5em;
    padding: 6.5vw 0 6vw;
}
#top_04 .inbox h2 span {
    top: 0vw;
    line-height: 105%;
}
.common_layout h3 {
    margin-top: 5.4vw;
    font-size: 1.5em;
}
#top_04 .inbox .txt {
    margin: 4.2vw 0 5.1vw;
    font-size: 1.05em;
}
#top_04 .inbox .flex1 .box {
    width: 100%;
    height: auto;
    padding-bottom: 4.8vw;
}
#top_04 .inbox .flex1 .box:not(:last-of-type) {
    margin-bottom: 3vw;
}
#top_04 .inbox .flex1 .box:nth-of-type(1) ,
#top_04 .inbox .flex1 .box:nth-of-type(3) {
    border-radius: 0;
}
#top_04 .inbox .flex1 .box .year {
    font-size: 1.2em;
    padding: 1.9vw 0;
}
#top_04 .inbox .flex1 .box h4 {
    font-size: 1.5em;
    padding: 3vw 0;
    height: auto;

    line-height: 120%;
}
#top_04 .inbox .flex1 .box p {
    width: 90%;
    padding: 2.4vw 0;
}
#top_04::before {
    background-size: auto 100%;
}
#top_04 .human {
    width: 17vw;
    height: 33vw;
    bottom: 32.8vw;
    left: 11.5vw;
}
#top_04.on .human {
    animation: human_anisp 8s 0.5s linear forwards;
}
#top_04 .human::before {
  background-size: 17vw 33vw;
}
#top_04 .human::after {
  background-size: 17vw 33vw;
}
#top_04.on .human::before {
  animation: human_bef 8s 0.5s linear forwards;
}
#top_04.on .human::after {
  animation: human_afhu 8s 0.5s linear forwards;
}
.common_layout h2 {
    font-size: 2em;
    padding: 6.6vw 0 8.4vw;
}
.common_layout h2 span {
    top: 0;
    line-height: 105%;
}
.common_layout .txt {
    margin: 4.5vw 0 5.1vw;
    font-size: 1.05em;
    letter-spacing: .05vw;
}
.common_layout .inbox {
    width: 85%;
}
.common_layout .flex .box {
    width: 100%;
    padding: 5vw 4.6vw 5vw;
    height: auto;
}
.common_layout .flex .box:not(:last-of-type) {
    margin-bottom: 3vw;
}
#top_05.common_layout .flex .box:nth-of-type(1) .img {
    margin-top: 3.5vw;
    margin-bottom: 3.1vw;
}
#top_05.common_layout .flex .box:nth-of-type(1) p {
    padding: 3.05vw 0 3.05vw 1.5vw;
}
#top_05 {
    padding: 12.5vw 0;
}
#top_06 {
    padding: 12.2vw 0;
}
#top_06.common_layout .txt {
    margin: 4.9vw 0 5.1vw;
}
#top_06.common_layout .flex .box {
    height: auto;
    padding: 6.8vw 4.5vw 6.8vw;
}
#top_06.common_layout .flex .box p {
    height: auto;
}
.common_layout .flex .box ul {
    margin-top: 3vw;
}
.common_layout .flex .box ul li {
    margin-top: 3vw;
    padding: 0 0vw 0vw 3.1vw;
}
.common_layout .flex .box ul li::before {
    width: 1.8vw;
    height: 1.8vw;
}
#top_06.common_layout .flex .box:nth-of-type(1) .img {
    margin-top: 3.2vw;
    margin-bottom: 3.1vw;
}
.common_layout .flex .box .img span {
    font-size: 1.4em;
}
#top_06.common_layout .flex .box h4 {
    font-size: 1.570em;
}
#top_07 {
    padding: 12.5vw 0;
}
#top_07.common_layout .flex .box {
    height: auto;
    padding: 5vw 4.5vw 5vw;
}
#top_07.common_layout .flex .box:nth-of-type(1) .img {
    margin-top: 2.9vw;
    margin-bottom: 2.1vw;
}
#top_07.common_layout .flex .box p {
    height: auto;
}
#top_07.common_layout .flex .box:nth-of-type(2) .img {
    margin-top: 3vw;
    margin-bottom: 2.2vw;
}
#top_08 {
        padding: 12vw 0 28.6vw;
}
#top_08 .inbox {
    margin: 0 auto;
    width: 85%;
}
#top_08 .inbox h2 {
    font-size: 2.2em;
}
#top_08 .inbox h2 span {
    font-size: 0.65em;
    margin-bottom: 1.5vw;
}
#top_08 .inbox p {
    margin: 4.5vw 0 4.3vw;
    font-size: 1.05em;
    letter-spacing: .0vw;
}
#top_08 .inbox .link {
    width: 83.5vw;
    margin: 0 auto;
}
#top_08 .inbox .link a {
    padding: 2.95vw 0;
    font-size: 1.4em;
}
#top_08 .inbox .link a::before {
    width: 4.1vw;
    right: 4.1vw;
}
#top_08::before {
    background-size: auto 100%;
}
#top_09.common_layout .flex .box {
    height: auto;
    padding: 5.8vw 4.5vw 5.8vw;
}
#top_09.common_layout .flex .box h4 {
    font-size: 1.65em;
}
#top_09.common_layout .flex .box:nth-of-type(1) .img {
    margin-top: 2.9vw;
    margin-bottom: 1.9vw;
}
#top_09.common_layout .flex .box p {
    height: auto;
}
#top_09 {
    padding-bottom: 12.6vw;
}
#top_10 {
    padding: 12.5vw 0 13vw;
}
#top_10 .inbox {
    margin-left: 7.9vw;
}
#top_10 .inbox h2 {
    font-size: 2.2em;
}
#top_10 .inbox .txt {
    width: 91.5%;
    font-size: 1.1em;
    margin-bottom: 5.6vw;
}
#top_10 .inbox .box h4 {
    width: 100%;
    padding-left: 0;
    font-size: 1.7em;
    padding-bottom: 0vw;
}
#top_10 .inbox .box .inner {
    width: 100%;
    padding: 3.2vw 10.8vw 2.7vw 0;
}
#top_10 .inbox .box {
    padding: 6vw 0 6vw 6vw;
}
#top_10 .inbox .box:not(:last-of-type) {
    margin-bottom: 5.4vw;
}
#top_10 .inbox .box .inner {
    width: 100%;
    padding: 4vw 8.8vw 0vw 0;
}
#top_10 .inbox .box h4 span {
    margin-top: 1.9vw;
}
#top_11 {
    padding: 12vw 0;
}
#top_11 .inbox .flex .txt {
    width: 70.5vw;
}
#top_11 .inbox .flex:nth-of-type(1) .txt {
    margin-right: 5vw;
}
#top_11 .inbox .flex .txt h2 {
    font-size: 2.25em;
}
#top_11 .inbox .flex .txt p {
    margin-top: 4.2vw;
    font-size: 1.12em;
}
#top_11 .inbox .flex:nth-of-type(1) {
    padding: 0 0;
}
#top_11 .inbox .flex .img {
    width: 90vw;
    position: relative;
    margin: 0 auto;
}
#top_11 .inbox .flex .txt {
        width: 75vw;
}
#top_11 .inbox .flex:nth-of-type(1) .txt {
    margin: 0vw auto 5vw;
    margin-right: auto;
}
#top_11 .inbox .flex:nth-of-type(1) {
    flex-direction: column-reverse;
}
#top_11 .inbox .flex:nth-of-type(2) {
    padding: 15vw 0 0vw;
    margin-top: 0;
}
#top_11 .inbox .flex:nth-of-type(2) .txt {
        margin: 0 auto 10vw;
    margin-left: auto;
}
#top_11 .inbox .flex .txt .inner h4 {
    font-size: 1.8em;
        margin-bottom: 2vw;
}
#top_11 .inbox .flex .txt .inner dl dt {
    font-size: 1.45em;
}
#top_11 .inbox .flex .txt .inner dl:not(:last-of-type) {
    margin-bottom: 3.7vw;
}
#top_11 .inbox .flex:nth-of-type(2) .img {
    margin: 0 0 0 auto;
}
#top_12 {
        padding: 14vw 0 20vw;

}
#top_12 .inbox {
    width: 85%;
}
#top_12 .inbox h2 {
    font-size: 1.7em;
}
#top_12 .inbox h2 span {
    font-size: 0.75em;
    margin-bottom: 2.3vw;
}
#top_12 .inbox p {
    margin: 5vw 0 5vw;
    font-size: 1.06em;
}
#top_12 .inbox ul li {
    width: 100%;
    padding: 5vw 0 5vw;
}
#top_12 .inbox ul li:not(:last-of-type) {
    margin-bottom: 5vw;
}
#top_12 .inbox ul li .img {
    height: auto;
}
#top_12 .inbox ul li:nth-of-type(1) .img {
    width: 32%;
}
#top_12 .inbox ul li:nth-of-type(3) .img {
    width: 38%;
    padding-top: 0;
}
#top_12 .inbox ul li .txt h3 {
    font-size: 1.6em;
    margin-top: 3vw;
}
#top_12 .inbox ul li .txt p {
    font-size: 1em;
    margin: 3vw 0 3vw;
}
#top_12 .inbox .link {
    width: 83.5vw;
        margin: 7vw auto 0
}
#top_12 .inbox .link a {
    padding: 2.95vw 0;
    font-size: 1.4em;
}
#top_12 .inbox .link a::before {
    width: 4.1vw;
    right: 4.1vw;
}
footer {
    padding: 3vw 0;
    font-size: .85em;
}
}
@media screen and (max-width:600px) {}