@charset "utf-8";
#suntory_contents {
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-weight: 500;
}
.modalbox {
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-weight: 500;
}
/* SP */
@media screen and (max-width:767px) {
 #suntory_contents {
  overflow: hidden;
 }
 .mvbg {
  background: url("../img/mvbg_sp.png") no-repeat center bottom;
  background-size: cover;
 }
 #mv {
  background: url("../img/mv_mask_sp.png") no-repeat center bottom;
  background-size: contain;
  height: 580px;
 }
 #mv .mvinner {
  position: relative;
  height: 580px;
 }
 #mv .headlogo {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 25%;
 }
 #mv .mvlogo {
  position: absolute;
  top: 18%;
  left: 15%;
  width: 70%;
 }
 #mv .navicon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 60px;
  z-index: 10;
 }
 #mv .navicon a {
  display: block;
  cursor: pointer;
 }
 #mv .navlayer {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  background: url("../img/navbg.png") no-repeat center top #4165de;
  background-size: contain;
  color: #fff;
  display: none;
  padding: 20% 10% 15% 10%;
 }
 #mv .navclose {
  position: absolute;
  top: 20px;
  right: 10px;
  width: 60px;
  z-index: 10;
 }
 #mv .navclose a {
  display: block;
  cursor: pointer;
 }
 #mv .navlist li {
  border-bottom: 1px dashed#fff;
 }
 #mv .navlist li a {
  display: block;
  font-size: 4.5vw;
  color: #fff;
  font-weight: 700;
  padding: 8% 3%;
  text-decoration: none;
 }
 #mv .scroll {
  position: absolute;
  bottom: 30px;
  left: 50%;
  width: 56px;
  margin: 0 0 0 -28px;
  animation: scrollmove 2s infinite;
 }
 #new {
  position: fixed;
  bottom: 40px;
  right: 5%;
  width: 80px;
  z-ndex: 5;
 }
 #new a {
  display: block;
 }
 #lead {
  background: #e6faff;
  padding: 0 0 15% 0;
 }
 #lead .leadbody {
  margin: 0 auto;
  padding: 8% 5% 12% 5%;
  position: relative;
 }
 #lead .leadbody .text01 {
  width: 40%;
  margin: 0 0 3% 4%;
 }
 #lead .leadbody .text02 {
  width: 50%;
  margin: 0 0 5% 0;
 }
 #lead .leadbody .text03 {
  width: 50%;
  margin: 0 0 2% 40%;
 }
 #lead .leadbody .text04 {
  width: 50%;
  margin: 0 0 10% 0;
 }
 #lead .leadbody .text05 {
  width: 90%;
  margin: 0 auto 3% auto;
 }
 #lead .leadbody .text06 {
  width: 80%;
  margin: 0 auto;
 }
 #lead .leadbody .text07 {
  width: 90%;
  margin: 3% auto 0 auto;
 }
 #lead .leadbody .pic01 {
  width: 44%;
  position: absolute;
  top: 11%;
  right: 4%;
 }
 #lead .leadbody .pic02 {
  width: 48%;
  position: absolute;
  top: 27%;
  left: 2%;
 }
 #lead .leadbody .pic03 {
  width: 41%;
  position: absolute;
  top: 47%;
  right: 6%;
 }
 #lead .leadcolumn {
  margin: 0 5%;
  background: #fff;
  background-size: contain;
  color: #4165de;
  border-radius: 40px;
 }
 #lead .leadcolumn .columninner {
  padding: 10% 5% 5% 5%;
 }
 #lead .leadcolumn .columntext {
  font-weight: 700;
 }
 #lead .leadcolumn .columntext .set01 {
  margin: 0 0 5% 0;
 }
 #lead .leadcolumn .columntext .text {
  margin: 5% 0 10% 0;
 }
 #lead .leadcolumn .columntext .note {
  font-size: 3vw;
  line-height: 1.2;
  margin: 0 3.5%;
 }
 #lead .releasebtn {
  width: 60%;
  margin: 5% auto 0 auto;
  text-align: center;
 }
 #lead .releasebtn a {
  display: block;
  background: #4165de;
  font-size: 3.5vw;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
  text-decoration: none;
 }
 #tips {
  background: #fff;
  padding: 15% 5% 15% 5%;
 }
 #tips .contentstitle {
  width: 70%;
  margin: 0 auto 10% auto;
 }
 #tips .leadtext {
  width: 90%;
  margin: 0 auto 8% auto;
  font-size: 4vw;
  line-height: 1.5;
  font-weight: 700;
  text-align-last: justify;
 }
 #tips .tipslist {
  width: 95%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
 }
 #tips .tipslist .tipsitem {
  background: #fff;
  box-shadow: 2px 2px 8px rgba(65, 101, 222, 0.5);
  width: 47%;
  position: relative;
  margin: 0 0 5.5% 0;
  padding: 13% 3% 3% 3%;
 }
  #tips .tipslist .tipsitem .newicon {
  width: 22%;
  position: absolute;
  top: 3%;
  right: 5%;
 }
 #tips .tipslist .tipsitem .num {
  width: 30%;
  position: absolute;
  top: -5%;
  left: 5%;
 }
 #tips .tipslist .catchtext {
  font-size: 3.5vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  bottom: 5%;
  left: 8%;
 }
 #tips .tipslist .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 0 3px;
 }
 #tips .morebtn {
  width: 50%;
  margin: 10% auto 0 auto;
  text-align: center;
 }
 #tips .morebtn a {
  display: block;
  background: #4165de;
  font-size: 3.5vw;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
 }
 #tips .moretips {
  display: none;
 }
 #topics {
  background: url("../img/tips_bottom_sp.png") no-repeat center top #e6faff;
  background-size: contain;
  padding: 30% 0 0 0;
 }
 #topics .contentsinner {
  background: url("../img/message_bg.png") no-repeat center bottom #e6faff;
  background-size: contain;
  padding: 0 0 15% 0;
 }
 #topics .contentstitle {
  width: 65%;
  margin: 0 auto 10% auto;
 }
 #topics .leadtext {
  width: 80%;
  margin: 0 auto 8% auto;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align:center;
 }
 #topics .linkbtn {
  width: 60%;
  margin: 3% auto 10% auto;
  text-align: center;
 }
 #topics .linkbtn a {
  display: block;
  background: #4165de;
  font-size: 3.5vw;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
  text-decoration: none;
 }
 #topics .slidewrap {
  width: 100%;
  overflow: visible;
  margin: 0 auto 25% auto;
 }
 #topics .slidewrap .slick-slide {
  padding: 0 10px;
 }
 #topics .slick-prev {
  height: 0;
  width: 40px;
  padding: 40px 0 0 0;
  overflow: hidden;
  background: url("../img/topics_prev_sp.png") no-repeat center center;
  background-size: contain;
  left: -2px;
  margin-top: -20px;
  z-index: 10;
 }
 #topics .slick-next {
  height: 0;
  width: 40px;
  padding: 40px 0 0 0;
  overflow: hidden;
  background: url("../img/topics_next_sp.png") no-repeat center center;
  background-size: contain;
  right: -2px;
  margin-top: -20px;
  z-index: 10;
 }
 #topics .slick-dots {
  bottom: -10%;
 }
 #topics .slick-dots li {
  width: 15%;
  margin: 0;
 }
 #topics .slick-dots li button {
  padding: 0;
  width: 100%;
  height: 4px;
  background: #c5d0f5;
  transition: 0.3s;
 }
 #topics .slick-dots li.slick-active button {
  padding: 0;
  background: #4165de;
 }
 #topics .topicsitem {
  width: 95%;
  background: #fff;
  position: relative;
  margin: 0 auto;
 }
 #topics .topicsitem::before {
  content: '';
  width: 30px;
  height: 30px;
  border-top: 1px solid #4165de;
  border-left: 1px solid #4165de;
  position: absolute;
  top: 0;
  left: 0;
 }
 #topics .topicsitem::after {
  content: '';
  width: 30px;
  height: 30px;
  border-top: 1px solid #4165de;
  border-right: 1px solid #4165de;
  position: absolute;
  top: 0;
  right: 0;
 }
 #topics .topicsitem .topicsbox {
  padding: 5%;
  position: relative;
 }
 #topics .topicsitem .topicsbox::before {
  content: '';
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #4165de;
  border-left: 1px solid #4165de;
  position: absolute;
  bottom: 0;
  left: 0;
 }
 #topics .topicsitem .topicsbox::after {
  content: '';
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #4165de;
  border-right: 1px solid #4165de;
  position: absolute;
  bottom: 0;
  right: 0;
 }
 #topics .topicsitem .graph {
  width: 100%;
  margin: 0 auto;
 }
 #topics .topicsitem.item01 .graph {
  margin: 0 auto 3% auto;
 }
 #topics .topicsitem.item02 .graph {
  margin: 0 auto -5% auto;
 }
 #topics .topicsitem.item03 .graph {
  margin: 0 auto 5% auto;
 }
 #topics .topicsitem.item04 .graph {
  margin: 0 auto -5% auto;
 }
 #topics .topicsitem.item05 .graph {
  margin: 0 auto 0 auto;
 }
 #topics .topicsitem.item06 .graph {
  margin: 0 auto 3% auto;
 }
 #topics .topicsitem .catchtext {
  font-size: 5vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: 3%;
  right: 5%;
  writing-mode: vertical-rl;
 }
 #topics .topicsitem .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 3px 0px;
 }
 #topics .topicsitem .pic {
  width: 50%;
  position: absolute;
  bottom: 3%;
  right: 5%;
 }
 #topics .topicsitem.item03 .pic {
  width: 40%;
 }
 #topics .topicsitem.item06 .pic {
  width: 45%;
 }
 #topics .topicsitem .textbox {
  width: 90%;
  padding: 0 0 46% 0;
  margin: 0 auto;
 }
 #topics .topicsitem .textbox .label {
  border-left: 5px solid #4165de;
  padding: 0 0 0 15px;
  font-size: 4.5vw;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 3% 0;
 }
 #topics .topicsitem .textbox .text {
  font-size: 3.5vw;
  line-height: 2;
 }
 #comment {
  width: 90%;
  margin: 0 auto;
  padding: 10% 5%;
  background: #c8e6ff;
 }
 #comment .commenttitle {
  text-align: center;
  font-size: 6vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 8% 0;
 }
 #comment .commenttitle .icon {
  display: inline-block;
  position: relative;
 }
 #comment .commenttitle .icon::after {
  content: '';
  width: 40px;
  height: 30px;
  position: absolute;
  top: -3px;
  right: -40px;
  background: url("../img/topics_commenticon.png") no-repeat center center;
  background-size: contain;
 }
 #comment .commentbox {
  background: url("../img/topics_commentline.png") no-repeat center bottom;
  background-size: contain;
  padding: 0 0 30px 0;
  margin: 0 0 5% 0;
 }
 #comment .leadtext {
  width: auto;
  text-align: center;
  margin: 0 0 5% 0;
  font-size: 4.5vw;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align-last: auto;
 }
 #comment .text {
  width: auto;
  margin: 0 0 5% 0;
  font-size: 3.5vw;
  line-height: 1.5;
  letter-spacing: 0.075em;
 }
 #topics .prof {
  display: flex;
  justify-content: space-between;
  color: #646464;
 }
 #topics .prof .profpic {
  width: 40%;
  padding: 0 5%;
 }
 #topics .prof .proftext {
  width: 58%;
 }
 #topics .prof .proftext .label {
  font-size: 3vw;
  font-weight: 700;
  margin: 0 0 3% 0;
 }
 #topics .prof .proftext .name {
  font-size: 3.5vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 5% 0;
 }
 #topics .prof .proftext .text {
  font-size: 3vw;
  line-height: 1.5;
 }
 #message {
  padding: 8% 5% 10% 5%;
  color: #0096da;
 }
 #message .contentstitle {
  text-align: center;
  font-size: 6vw;
  font-weight: 700;
  margin: 0 0 10% 0;
 }
 #message .contentstitle .ul {
  padding: 0 0 20px 0;
  display: inline-block;
  border-bottom: 4px solid #0096da;
 }
 #message .messagetext {
  font-size: 3.5vw;
  line-height: 2;
  margin: 0 auto;
 }
 .modalwrap {
  width: 85%;
  margin: 0 auto;
  background: #fff;
  position: relative;
  padding: 8% 5% 22% 5%;
 }
 .modalwrap .num {
  width: 20%;
  position: absolute;
  top: -5px;
  left: 10px;
 }
 .modalwrap img {
  width: 100%;
  height: auto;
 }
 .modalwrap .picbox .pic {
  width: 90%;
  margin: 0 auto;
 }
 .modalwrap .profbox {
  border-top: 2px solid #4165de;
  padding: 5% 0 0 0;
  color: #646464;
  display: flex;
  justify-content: space-between;
 }
 .modalwrap .picbox .catchtext {
  font-size: 6vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: 30%;
  left: 12%;
 }
 .modalwrap .picbox .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 0 3px;
 }
 .modalwrap .picbox .text {
  font-size: 3.5vw;
  line-height: 1.5;
  margin: 3% 0 5% 0;
 }
 .modalwrap .profbox .profpic {
  width: 25%;
 }
 .modalwrap .profbox .proftext {
  width: 70%;
 }
 .modalwrap .profbox .name {
  font-size: 4vw;
  margin: 0 0 3% 0;
 }
 .modalwrap .box01 .profbox .name, .modalwrap .box02 .profbox .name, .modalwrap .box08 .profbox .name, .modalwrap .box12 .profbox .name, .modalwrap .box16 .profbox .name, .modalwrap .box22 .profbox .name, .modalwrap .box23 .profbox .name, .modalwrap .box24 .profbox .name {
  padding: 1.5em 0 0 0;
 }
 .modalwrap .profbox .label {
  font-size: 3vw;
  display: block;
 }
 .modalwrap .profbox .text {
  font-size: 3vw;
  line-height: 1.5;
 }
 .modalwrap .mfp-close {
  width: 44px;
  height: 0;
  padding: 44px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_close.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: auto;
  bottom: 3%;
  left: 50%;
  margin: 0 0 0 -22px;
  opacity: 1;
 }
 .mfp-container .mfp-arrow-left {
  width: 40px;
  height: 0;
  padding: 40px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_prev_w_sp.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  left: -4px;
  opacity: 1;
  margin-top: -20px;
 }
 .mfp-container .mfp-arrow-right {
  width: 40px;
  height: 0;
  padding: 40px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_next_w_sp.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  right: -4px;
  opacity: 1;
  margin-top: -20px;
 }
}
/* PC */
@media screen and (min-width:768px) {
 #suntory_contents {
  min-width: 1300px;
  margin: 0 auto;
  overflow: hidden;
 }
 .mvbg {
  background: url("../img/mvbg.png") no-repeat center bottom;
  background-size: 2140px auto;
 }
 #mv {
  min-width: 1300px;
  background: url("../img/mv_mask.png") no-repeat center bottom;
  background-size: 1920px auto;
  height: 880px;
  position: relative;
 }
 #mv .mvinner {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  height: 880px;
 }
 #mv .headlogo {
  position: absolute;
  top: 40px;
  left: -155px;
  width: 155px;
 }
 #mv .mvlogo {
  position: absolute;
  top: 32px;
  left: 50%;
  width: 546px;
  margin: 0 0 0 -273px;
 }
 #mv .navicon {
  position: absolute;
  top: 40px;
  right: -90px;
  width: 90px;
  z-index: 10;
 }
 #mv .navicon a {
  display: block;
  cursor: pointer;
 }
 #mv .navlayer {
  position: absolute;
  top: 20px;
  right: -90px;
  width: 435px;
  background: url("../img/navbg.png") no-repeat center top #4165de;
  background-size: contain;
  color: #fff;
  display: none;
  padding: 120px 45px 80px 45px;
 }
 #mv .navclose {
  position: absolute;
  top: 20px;
  right: 0;
  width: 90px;
  z-index: 10;
 }
 #mv .navclose a {
  display: block;
  cursor: pointer;
 }
 #mv .navlist li {
  border-bottom: 1px dashed#fff;
 }
 #mv .navlist li a {
  display: block;
  font-size: 28px;
  color: #fff;
  font-weight: 700;
  padding: 24px 10px;
  text-decoration: none;
  transition: 0.2s;
 }
 #mv .navlist li a:hover {
  padding: 24px 15px;
 }
 #mv .scroll {
  position: absolute;
  bottom: 80px;
  left: 50%;
  width: 56px;
  margin: 0 0 0 -28px;
  animation: scrollmove 2s infinite;
 }
 #mv .mvinner::before {
  content: '';
  width: 100%;
  height: 107px;
  background: #e6faff;
  position: absolute;
  bottom: 0;
  left: -100%;
 }
 #mv .mvinner::after {
  content: '';
  width: 100%;
  height: 107px;
  background: #e6faff;
  position: absolute;
  bottom: 0;
  right: -100%;
 }
 #new {
  position: fixed;
  bottom: 60px;
  right: 80px;
  width: 146px;
  z-index: 5;
 }
 #new a {
  display: block;
  transition: 0.2s;
 }
 #new a:hover {
  transform: translateY(10px)
 }
 #lead {
  background: #e6faff;
  min-width: 1300px;
  padding: 0 0 110px 0;
 }
 #lead .leadbody.leadbody01 {
  width: 800px;
  margin: 0 auto;
  padding: 30px 0 90px 0;
  position: relative;
 }
 #lead .leadbody .text01 {
  width: 380px;
  margin: 0 0 20px 85px;
 }
 #lead .leadbody .text02 {
  width: 380px;
  margin: 0 0 45px 85px;
 }
 #lead .leadbody .text03 {
  width: 380px;
  margin: 0 0 64px 320px;
 }
 #lead .leadbody .text04 {
  width: 380px;
  margin: 0 0 120px 85px;
 }
 #lead .leadbody .text05 {
  width: 640px;
  margin: 0 auto 10px auto;
 }
 #lead .leadbody .text06 {
  width: 650px;
  margin: 0 auto 10px auto;
 }
 #lead .leadbody .text07 {
  width: 620px;
  margin: 0 auto;
 }
 #lead .leadbody .pic01 {
  width: 262px;
  position: absolute;
  top: 74px;
  right: 68px;
 }
 #lead .leadbody .pic02 {
  width: 262px;
  position: absolute;
  top: 275px;
  left: 25px;
 }
 #lead .leadbody .pic03 {
  width: 262px;
  position: absolute;
  top: 486px;
  right: 52px;
 }
 #lead .leadbody.leadbody02 {
  width: 800px;
  margin: 100px auto 0 auto;
  position: relative;
 }
 #lead .leadbody .text08 {
  width: 712px;
  margin: 0 auto;
 }
 #lead .leadcolumn {
  width: 1000px;
  margin: 0 auto;
  background: #fff;
  border-radius: 80px;
  color: #4165de;
 }
 #lead .leadcolumn .columninner {
  padding: 80px 40px 20px 40px;
 }
 #lead .leadcolumn .columntext {
  font-weight: 700;
 }
 #lead .leadcolumn .columntext strong {
  font-weight: 700;
  background: #c1f2f7;
 }
 #lead .leadcolumn .columntext .text {
  width: 664px;
  margin: 30px auto 0 auto;
 }
 #lead .leadcolumn .columntext .note {
  width: 840px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  margin: 60px auto 0 auto;
 }
 #lead .leadcolumn .picgroup {
  display: flex;
  justify-content: space-between;
 }
 #lead .leadcolumn .picgroup .set01 {
  margin: 0 -50px 0 0;
 }
 #lead .leadcolumn .picgroup .set02 {
  margin: 0 0 0 -50px;
 }
 #lead .releasebtn {
  width: 320px;
  margin: 100px auto 0 auto;
  text-align: center;
 }
 #lead .releasebtn a {
  display: block;
  background: #4165de;
  font-size: 24px;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s;
 }
 #lead .releasebtn a:hover {
  background: #438cdd;
 }
 #tips {
  background: #fff;
  min-width: 1300px;
  padding: 120px 0 50px 0;
 }
 #tips .contentstitle {
  width: 440px;
  margin: 0 auto 60px auto;
 }
 #tips .leadtext {
  width: 560px;
  margin: 0 auto 60px auto;
  font-size: 25px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align-last: justify;
 }
 #tips .tipslist {
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
 }
 #tips .tipslist .tipsitem {
  background: #fff;
  box-shadow: 2px 2px 8px rgba(65, 101, 222, 0.5);
  width: 48%;
  position: relative;
  margin: 0 0 3.5% 0;
  padding: 20px;
 }
  #tips .tipslist .tipsitem .newicon {
  width: 80px;
  position: absolute;
  top: 95px;
  left: 13px;
 }
 #tips .tipslist .tipsitem .num {
  width: 102px;
  position: absolute;
  top: -20px;
  left: 10px;
 }
 #tips .tipslist .tipsitem .pic {
  margin: 0 0 0 80px;
 }
 #tips .tipslist .catchtext {
  font-size: 32px;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  bottom: 20px;
  left: 110px;
 }
 #tips .tipslist .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 0 3px;
 }
 #tips .morebtn {
  width: 250px;
  margin: 30px auto 0 auto;
  text-align: center;
 }
 #tips .morebtn a {
  display: block;
  background: #4165de;
  font-size: 28px;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.2s;
 }
 #tips .morebtn a .icon {
  display: inline-block;
  line-height: 0.9;
  margin: 0 0 0 10px;
 }
 #tips .morebtn a:hover {
  background: #438cdd;
 }
 #tips .moretips {
  display: none;
 }
 #topics {
  background: url("../img/tips_bottom.png") repeat-x center top #e6faff;
  background-size: 1920px auto;
  min-width: 1300px;
  padding: 220px 0 0 0;
 }
 #topics .contentsinner {
  background: url("../img/message_bg.png") repeat-x center bottom #e6faff;
  background-size: 1920px auto;
  padding: 0 0 140px 0;
 }
 #topics .contentstitle {
  width: 360px;
  margin: 0 auto 60px auto;
 }
 #topics .leadtext {
  width: 500px;
  margin: 0 auto 60px auto;
  font-size: 25px;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center;
 }
 #topics .linkbtn {
  width: 320px;
  margin: 20px auto 80px auto;
  text-align: center;
 }
 #topics .linkbtn a {
  display: block;
  background: #4165de;
  font-size: 24px;
  color: #fff;
  padding: 15px 20px;
  border-radius: 30px;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s;
 }
 #topics .linkbtn a:hover {
  background: #438cdd;
 }
 #topics .slidewrap {
  width: 100%;
  overflow: visible;
  margin: 0 auto 200px auto;
 }
 #topics .slidewrap .slick-slide {
  padding: 0 50px;
 }
 #topics .slick-prev {
  width: 50px;
  height: 0;
  padding: 50px 0 0 0;
  overflow: hidden;
  background: url("../img/topics_prev.png") no-repeat center center;
  background-size: contain;
  left: 15%;
  z-index: 10;
 }
 #topics .slick-next {
  width: 50px;
  height: 0;
  padding: 50px 0 0 0;
  overflow: hidden;
  background: url("../img/topics_next.png") no-repeat center center;
  background-size: contain;
  right: 15%;
  z-index: 10;
 }
 #topics .slick-dots {
  left: 50%;
  margin: 0 0 0 -500px;
  bottom: -100px;
  width: 1000px;
 }
 #topics .slick-dots li {
  width: 15%;
  margin: 0;
 }
 #topics .slick-dots li button {
  padding: 0;
  width: 100%;
  height: 4px;
  background: #c5d0f5;
  transition: 0.3s;
 }
 #topics .slick-dots li.slick-active button {
  padding: 0;
  background: #4165de;
 }
 #topics .topicsitem {
  width: 800px;
  background: #fff;
  position: relative;
  margin: 0 auto;
 }
 #topics .topicsitem::before {
  content: '';
  width: 30px;
  height: 30px;
  border-top: 1px solid #4165de;
  border-left: 1px solid #4165de;
  position: absolute;
  top: 0;
  left: 0;
 }
 #topics .topicsitem::after {
  content: '';
  width: 30px;
  height: 30px;
  border-top: 1px solid #4165de;
  border-right: 1px solid #4165de;
  position: absolute;
  top: 0;
  right: 0;
 }
 #topics .topicsitem .topicsbox {
  padding: 20px 50px;
  position: relative;
  min-height: 720px;
  width: 800px;
 }
 #topics .topicsitem .topicsbox::before {
  content: '';
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #4165de;
  border-left: 1px solid #4165de;
  position: absolute;
  bottom: 0;
  left: 0;
 }
 #topics .topicsitem .topicsbox::after {
  content: '';
  width: 30px;
  height: 30px;
  border-bottom: 1px solid #4165de;
  border-right: 1px solid #4165de;
  position: absolute;
  bottom: 0;
  right: 0;
 }
 #topics .topicsitem .graph {
  width: 720px;
  margin: 0 auto;
 }
 #topics .topicsitem.item01 .graph {
  margin: 0 auto 20px auto;
 }
 #topics .topicsitem.item02 .graph {
  margin: 0 auto -60px auto;
 }
 #topics .topicsitem.item03 .graph {
  margin: 0 auto 20px auto;
 }
 #topics .topicsitem.item04 .graph {
  margin: 0 auto -80px auto;
 }
 #topics .topicsitem.item05 .graph {
  margin: 0 auto -20px auto;
 }
 #topics .topicsitem.item06 .graph {
  margin: 0 auto -20px auto;
 }
 #topics .topicsitem .catchtext {
  font-size: 44px;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: 40px;
  right: 180px;
  writing-mode: vertical-rl;
 }
 #topics .topicsitem .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 3px 0px;
 }
 #topics .topicsitem .pic {
  width: 260px;
  position: absolute;
  bottom: 30px;
  right: 30px;
 }
 #topics .topicsitem .textbox {
  width: 460px;
 }
 #topics .topicsitem .textbox .label {
  border-left: 5px solid #4165de;
  padding: 0 0 0 15px;
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 20px 0;
 }
 #topics .topicsitem .textbox .text {
  font-size: 22px;
  line-height: 2;
 }
 #comment {
  width: 700px;
  margin: 0 auto;
  padding: 60px;
  background: #c8e6ff;
 }
 #comment .commenttitle {
  text-align: center;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 40px 0;
 }
 #comment .commenttitle .icon {
  display: inline-block;
  position: relative;
 }
 #comment .commenttitle .icon::after {
  content: '';
  width: 70px;
  height: 50px;
  position: absolute;
  top: -3px;
  right: -75px;
  background: url("../img/topics_commenticon.png") no-repeat center center;
  background-size: contain;
 }
 #comment .commentbox {
  background: url("../img/topics_commentline.png") no-repeat center bottom;
  background-size: contain;
  padding: 0 0 40px 0;
  margin: 0 0 30px 0;
 }
 #comment .leadtext {
  width: auto;
  text-align: center;
  margin: 0 0 30px 0;
  font-size: 32px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align-last: auto;
 }
 #comment .text {
  width: auto;
  margin: 0 0 30px 0;
  font-size: 22px;
  line-height: 1.5;
 }
 #topics .prof {
  display: flex;
  justify-content: space-between;
  color: #646464;
 }
 #topics .prof .profpic {
  width: 200px;
  padding: 0 40px;
 }
 #topics .prof .proftext {
  width: 380px;
 }
 #topics .prof .proftext .label {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
 }
 #topics .prof .proftext .name {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 0 0 20px 0;
 }
 #topics .prof .proftext .text {
  font-size: 20px;
  line-height: 1.5;
 }
 #message {
  min-width: 1300px;
  padding: 120px 0 180px 0;
  color: #0096da;
 }
 #message .contentstitle {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  margin: 0 0 80px 0;
 }
 #message .contentstitle .ul {
  padding: 0 0 20px 0;
  display: inline-block;
  border-bottom: 4px solid #0096da;
 }
 #message .messagetext {
  width: 640px;
  font-size: 22px;
  line-height: 2;
  margin: 0 auto;
 }
 .modalwrap {
  width: 850px;
  min-height: 800px;
  margin: 0 auto;
  background: #fff;
  position: relative;
  padding: 100px 100px 150px 100px;
 }
 .modalwrap#modal01, .modalwrap#modal02, .modalwrap#modal08 {
  padding: 40px 100px 110px 100px;
 }
 .modalwrap .num {
  width: 140px;
  position: absolute;
  top: -5px;
  left: 10px;
 }
 .modalwrap img {
  width: 100%;
  height: auto;
 }
 .modalwrap .modalbox {
  display: flex;
  justify-content: space-between;
 }
 .modalwrap .picbox {
  width: 395px;
 }
 .modalwrap .picbox .pic {
  width: 395px;
  margin: 0 auto;
 }
 .modalwrap .profbox {
  width: 220px;
  color: #646464;
 }
 .modalwrap .modalbox.box01, .modalwrap .modalbox.box02, .modalwrap .modalbox.box08, .modalwrap .modalbox.box12, .modalwrap .modalbox.box16, .modalwrap .modalbox.box22, .modalwrap .modalbox.box23, .modalwrap .modalbox.box24 {
  display: block;
 }
 .modalwrap .modalbox.box01 .picbox, .modalwrap .modalbox.box02 .picbox, .modalwrap .modalbox.box08 .picbox, .modalwrap .modalbox.box12 .picbox, .modalwrap .modalbox.box16 .picbox, .modalwrap .modalbox.box22  .picbox, .modalwrap .modalbox.box23 .picbox, .modalwrap .modalbox.box24 .picbox {
  width: 80%;
  margin: 0 auto 20px auto;
  padding: 0 0 10px 0;
  border-bottom: 2px solid #4165de;
 }
 .modalwrap .picbox .catchtext {
  font-size: 32px;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: 340px;
  left: 110px;
 }
 .modalwrap .picbox .catchtext .bg {
  background: #4165de;
  display: inline-block;
  line-height: 1.2;
  padding: 0 3px;
 }
 .modalwrap .picbox .text {
  font-size: 20px;
  line-height: 1.5;
  margin: 15px 0 0 0;
 }
 .modalwrap .profbox .profpic {
  width: 100px;
  margin: 0 auto 20px auto;
 }
 .modalwrap .profbox .name {
  font-size: 26px;
  margin: 0 0 10px 0;
  text-align: center;
 }
 .modalwrap .profbox .name .label {
  font-size: 14px;
  display: block;
 }
 .modalwrap .profbox .text {
  font-size: 16px;
  line-height: 1.5;
  margin: 15px 0 0 0;
 }
 .modalwrap .modalbox.box01 .profbox, .modalwrap .modalbox.box02 .profbox, .modalwrap .modalbox.box08 .profbox, .modalwrap .modalbox.box12 .profbox, .modalwrap .modalbox.box16 .profbox, .modalwrap .modalbox.box22 .profbox, .modalwrap .modalbox.box23 .profbox, .modalwrap .modalbox.box24 .profbox {
  display: flex;
  justify-content: space-between;
  width: 55%;
  margin: 0 auto;
 }
 .modalwrap .modalbox.box01 .profbox .name, .modalwrap .modalbox.box02 .profbox .name, .modalwrap .modalbox.box08 .profbox .name, .modalwrap .modalbox.box12 .profbox .name, .modalwrap .modalbox.box16 .profbox .name, .modalwrap .modalbox.box22 .profbox .name, .modalwrap .modalbox.box23 .profbox .name, .modalwrap .modalbox.box24 .profbox .name {
  padding: 25px 0 0 0;
 }
 .modalwrap .mfp-close {
  width: 46px;
  height: 0;
  padding: 46px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_close.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: auto;
  bottom: 30px;
  left: 50%;
  margin: 0 0 0 -23px;
  opacity: 1;
 }
 .mfp-container .mfp-arrow-left {
  width: 50px;
  height: 0;
  padding: 50px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_prev_w.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  left: 15%;
  opacity: 1;
  margin-top: -12px;
 }
 .mfp-container .mfp-arrow-right {
  width: 50px;
  height: 0;
  padding: 50px 0 0 0;
  overflow: hidden;
  background: url("../img/modal_next_w.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 15%;
  opacity: 1;
  margin-top: -12px;
 }
}
@keyframes scrollmove {
 0%, 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(10px);
 }
}