﻿@charset "utf-8";

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

html {font-size:62.5%;}
* {box-sizing:border-box;}
body {
  font-family:'Kosugi Maru',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size:1.6rem;
  font-weight:500;
  color:#3E3A39;
  line-height:1.75;
} 
.fcred {color:#FF0000;}
.fwbold {font-weight:bold;}
.left {float:left;}
.right {float:right;}
.center {text-align:center;}
.clear {clear: both;}
.italic {font-style:italic;}
img {max-width:100%;}
.anc {
  height:0;
  border:none;
  margin:-100px 0 0;
  padding:100px 0 0;
}
a {
  color:inherit;
  text-decoration:none;
}
sup {
  font-size:40%;
  vertical-align:super;
}

@media screen and (min-width: 768px){ 
  .sp_cont {display:none;} 
  a:hover {
    text-decoration:underline;
    color:inherit;
  }
  .hover_btn {transition:0.5s;opacity:1;}
  .hover_btn:hover {transition:0.5s;opacity:0.75;}
}

@media screen and (max-width: 767px){ 
  body {
    -webkit-text-size-adjust: 100%;
    font-size:1.2rem;
  }
  .pc_cont {display:none;} 
  .anc {
    margin:-50px 0 0;
    padding:50px 0 0;
  }
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */
 
/* :::::::::: header :::::::::: */
  
header {
  position:fixed;
  width:100%;
  height:100px;
  padding:20px;
  margin:auto;
  top:0;
  left:0;
  right:0;
  background:#FFFFFF;
  box-shadow:0 0 3px 3px rgba(0,0,0,0.2);
  z-index:100;
}
  
header.on_movie {z-index:0;}
header::before {
  position:absolute;
  display:block;
  content:"";
  width:100vw;
  height:8px;
  background:#9070AF;
  margin:auto;
  top:0;
  left:-100%;
  right:-100%;
  z-index:1;
}
header .header_box {
  width:100%;
  max-width:960px;
  height:60px;
  margin:0 auto;
}
header .logo {
  display:inline-block;
  width:auto;
  height:100%;
}
header .logo a {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  display:block;
  width:100%;
  height:100%;

}
header .logo img {
  height:100%;
  margin:0 25px 0 0;
  float:left;
}
header .logo span {
  display:inline;
  font-size:2.2rem;
  font-weight:900;
  vertical-align:middle;
  float:left;
  margin:15px 0 0;
}
header p.menu {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  position:relative;
  width:40px;
  height:60px;
  padding:35px 0 0;
  text-align:center;
  float:right;
  cursor:pointer;
}
header p.menu span {
  font-size:1.4rem;
  font-weight:900;
  color:#9070AF;
  text-align:center;
}
header p.menu span::before ,
header p.menu span::after {
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:4px;
  background:#9070AF;
  border-radius:2px;
  margin:auto;
  left:0;
  right:0;
}
header p.menu span::before {
  top:15px;
  box-shadow:0 10px 0 0 #9070AF;
}
header p.menu span::after {top:35px;}

/* :::::::::: nav :::::::::: */
nav {
  position:fixed;
  width:100vw;
  height:100vh;
  top:0;
  left:0;
  right:0;
  z-index:110;
  visibility:hidden;
  opacity:0;
  transition:0.5s;
}
nav.active {
  visibility:visible;
  opacity:1;
}
nav .bg_menu {
  width:100%;
  height:100%;
  background:rgba(144,112,175,0.85);
  z-index:0;
}
nav .menu_box {
  position:absolute;
  width:310px;
  height:310px;
  text-align:center;
  color:#FFFFFF;
  margin:auto;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
}
nav .menu_box .menu_title {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  width:100%;
  font-size:4rem;
  font-weight:800;
}
nav .menu_box .menu_title span {
  position:absolute;
  display:block;
  width:1em;
  height:1em;
  top:0.85em;
  right:0;
  cursor:pointer;
}
nav .menu_box .menu_title span::before,
nav .menu_box .menu_title span::after {
  position:absolute;
  display:block;
  content:"";
  width:1em;
  height:4px;
  border-radius:2px;
  background:#FFFFFF;
  top:0;
  right:0;
  transform:rotate(45deg);
}
nav .menu_box .menu_title span::after {transform:rotate(-45deg);}
nav .menu_box ul {
  width:100%;
  margin:0.5em 0 0;
  border-top:solid 1px #FFFFFF;
}
nav .menu_box ul li {
  width:100%;
  border-bottom:solid 1px #FFFFFF;
}
nav .menu_box ul li a {
  position:relative;
  display:block;
  padding:0.6em 0;
  text-decoration:none;
}
nav .menu_box ul li a:hover {background:rgba(255,255,255,0.2);}
nav .menu_box ul li a::after {
  position:absolute;
  display:block;
  content:"";
  width:0.5em;
  height:0.5em;
  border-top:solid 2px #FFFFFF;
  border-right:solid 2px #FFFFFF;
  transform:rotate(45deg);
  margin:auto;
  top:0;
  bottom:0;
  right:1em;
}

/* :::::::::: kv :::::::::: */

.kv {
  position:fixed;
  width:100%;
  height:250px;
  background:url(../img/page/bg_kv.jpg) no-repeat center / cover;
  margin:auto;
  top:100px;
  left:-100%;
  right:-100%;
  z-index:0;
}
.index .kv {background:none;}
.kv_booklet {
  height:auto;
  background:none;
}
.kv_booklet img {width:100%;}
.kv .p_title {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  position:absolute;
  margin:auto;
  top:15px;
  bottom:0;
  left:0;
  right:0;
  height:80px;
}

/* :::::::::: main :::::::::: */
  
main {
  position:relative;
  display:block;
  width:100%;
  height:auto;
  margin:350px 0 0;
  background:#FFFFFF;
  overflow:hidden;
  z-index:10;
}
main.archive {padding:60px 0 0;}
main.booklet {
  background:#FFFFFF;
  margin:calc(23.44% + 100px) 0 0;
}
.index main {
  background:none;
  margin:calc(31.25% + 55px) 0 0;
  padding:45px 0 0;
}
main article {
  width:100%;
  height:auto;
}
.index main article {
  background:url(../img/index/bg_main.jpg) no-repeat center / cover;
  background-attachment:fixed;
}
main article section {
  width:100%;
  margin:0 auto;
}
main article section .box {
  width:100%;
  max-width:1040px;
  padding:0 20px;
  margin:0 auto;
}
.common_share {
  text-align:center;
  padding:40px 0;
  background:#EEEEEE;
}
.common_share h2 {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  font-size:2.0rem;
  font-weight:900;
  margin:0 auto 10px;
}
.common_share ul {
  text-align:center;
  overflow:hidden;
}
.common_share ul li {
  display:inline-block;
  width:50px;
  height:52px;
  margin:0 5px;
}
.btn_common {
  position:relative;
  display:inline-block;
  min-width:240px;
}
.btn_common a {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:1rem 2rem;
  color:#FFFFFF;
  font-size:2rem;
  font-weight:800;
  text-align:center;
  border-radius:27px;
  background:#9070AF;
  box-shadow:0 4px 0 0 #8464A2;
}
.btn_common a:hover {
  text-decoration:none;
  opacity:0.8;
}
.btn_common a:active{
  top:4px;
  box-shadow:0 2px 0 2px #666;
}
.btn_common a::after {
  position:absolute;
  display:block;
  content:"";
  width:1rem;
  height:1rem;
  border-top:solid 2px #FFFFFF;
  border-right:solid 2px #FFFFFF;
  transform:rotate(45deg);
  margin:auto;
  top:0;
  bottom:0;
  right:2rem;
}
.devide {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  font-size:2rem;
  font-weight:900;
  margin:0 auto 20px;
  text-align:center;
}
.devide > span {display:block;}
.devide > span:nth-of-type(1) {font-size:4rem;line-height:1.2;}
.devide > span:nth-of-type(1) > span {display:inline-block;transform:translateX(100vw);transition:0.5s;}
.devide.fadein > span:nth-of-type(1) > span {transform:translateX(0);}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(1) {transition-delay:0s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(2) {transition-delay:0.1s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(3) {transition-delay:0.2s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(4) {transition-delay:0.3s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(5) {transition-delay:0.4s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(6) {transition-delay:0.5s;}
.devide.fadein > span:nth-of-type(1) > span:nth-of-type(7) {transition-delay:0.6s;}
.devide > span:nth-of-type(2) > span {display:inline-block;opacity:0;transform:translateY(50px);transition:0.5s;}
.devide.fadein > span:nth-of-type(2) > span {opacity:1;transform:translateY(0);}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(1) {transition-delay:0.5s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(2) {transition-delay:0.6s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(3) {transition-delay:0.7s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(4) {transition-delay:0.8s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(5) {transition-delay:0.8s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(6) {transition-delay:1.0s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(7) {transition-delay:1.1s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(8) {transition-delay:1.2s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(9) {transition-delay:1.3s;}
.devide.fadein > span:nth-of-type(2) > span:nth-of-type(10) {transition-delay:1.4s;}

/* :::::::::: footer :::::::::: */
  
footer {
  position:relative;
  width:100%;
  background:#FFFFFF;
  z-index:10;  
}
footer > div {
  width:100%;
  max-width:1040px;
  padding:38px 20px;
  margin:0 auto;
  overflow:hidden;
}
footer > div .f_logo {display:inline-block;}
footer > div .f_logo img {
  display:inline-block;
  width:auto;
  height:50px;
  vertical-align:middle;
}
footer > div .f_logo span {
  display:inline-block;
  font-weight:500;
  font-size:1.4rem;
  line-height:1.6;
  margin:0 0 0 30px;
  vertical-align:middle;
}
footer .copyright {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  width:100%;
  height:40px;
  font-size:1.4rem;
  color:#FFFFFF;
  background:#9070AF;
  text-align:center;
  line-height:40px;
}
footer .pagetop {
  position:fixed;
  width:50px;
  height:50px;
  cursor:pointer;
  bottom:50px;
  right:10px;
}
.totop {
  transform:translateY(100px);
  opacity:0;
  transition:0.75s;
}
.fadein.totop {
  transform:translateY(0);
  opacity:1;
}

@media screen and (max-width: 767px) {
  
  /* :::::::::: header :::::::::: */
  
  header {
    height:50px;
    padding:8px 3%;
    box-shadow:0 0 3px 3px rgba(0,0,0,0.2);
  }
  header::before {height:3px;}
  header .header_box {height:34px;}
  header .logo {width:calc(100% - 35px);}
  header .logo img {margin:0 2% 0 0;}
  header .logo span {
    font-size:1.3rem;
    margin:8px 0 0;
  }
  header p.menu {
    width:34px;
    height:34px;
    padding:20px 0 0;
  }
  header p.menu span {font-size:1.1rem;}
  header p.menu span::before {
    top:2px;
    box-shadow:0 8px 0 0 #9070AF;
  }
  header p.menu span::after {top:18px;}

  /* :::::::::: nav :::::::::: */
  
  nav .menu_box {
    width:90%;
    height:400px;
  }
  nav .menu_box .menu_title {font-size:3.6rem;}
  nav .menu_box ul li a {font-size:1.4rem;}

  /* :::::::::: kv :::::::::: */

  .kv {
    height:80px;
    background:url(../img/page/bg_kv_sp.jpg) no-repeat center / cover;
    top:50px;
  }
  .kv_booklet {background:none;}
  .kv .p_title {top:18px;}

  /* :::::::::: main :::::::::: */
  main {margin:130px 0 0;}
  main.archive {padding:0;}
  main article {padding:5% 0 0;}
  main.booklet article {padding:0;}
  main article section .box {padding:0 3%;}
  .common_share {padding:8% 0;}
  .common_share h2 {
    font-size:1.4rem;
    margin:0 auto 3%;
  }
  .common_share ul li {
    width:38px;
    height:40px;
    margin:0 5px;
  }
  .btn_common {
    min-width:220px;
    margin:0 auto 5%;
  }
  .btn_common a {
    font-size:1.4rem;
    border-radius:22px;
  }
  .btn_common a::after {right:1.5rem;}
  .devide {
    font-size:1.4rem;
    margin:0 auto 8%;
  }
  .devide > span:nth-of-type(1) {font-size:2.8rem;}

  /* :::::::::: footer :::::::::: */
  
  footer > div {padding:5% 3%;}
  footer > div .f_logo img {height:30px;margin:0 10px 0 0;}
  footer > div .f_logo span {
    font-size:1.2rem;
    margin:2% 0 0;
  }
  footer .copyright {
    height:auto;
    font-size:1.2rem;
    text-align:left;
    line-height:1.2;
    padding:0.5em 1em;
  }
  footer .pagetop {
    width:40px;
    height:40px;
    bottom:15px;
    right:15px;
  }
}

/* -----------------------------------------------------------
 archive
----------------------------------------------------------- */

main.archive article .tool_slider {
  width:100%;
  max-width:1080px;
  margin:0 auto 60px;
  padding:40px;
  overflow:hidden;
}
main.archive article .tool_slider li {
  width:48%;
  margin:0 4% 3% 0;
  float:left;
}
main.archive article .tool_slider li:nth-child(even) {margin:0 0 3%;}
.tool_slider li figure {
  width:100%;
  height:auto;
  margin:0 auto 1rem;
  border-radius:10px;
  border:solid 4px #9070AF;
  overflow:hidden;
}
.tool_slider li figure > span {
  position:relative;
  width:100%;
  height:0;
  padding:38% 0 0;
  border:solid 4px #EEEAF3;
  border-radius:8px;
  overflow:hidden;
}
.tool_slider li p {
  font-weight:bold;
  font-size:2.0rem;
}
.tool_slider li span {
  display:block;
  font-size:1.6rem;
}
.tool_slider li a {
  display:block;
  transform:scale(1);
  transition:0.5s;
}
.tool_slider li a:hover {
  text-decoration:none;
  transform:scale(1.05);
}
.tool_slider li a figure img {
  position:absolute;
  display:block;
  width:100%;
  margin:auto;
  top:-100%;
  bottom:-100%;
  left:0;
  right:0;
  transform:scale(1);
  transition:0.5s 0.2s;
}
.tool_slider li a:hover figure img {transform:scale(1.05);}
.topic_slider {
  overflow:hidden;
  margin:0 auto;
}
.archive .topic_slider {
  width:100%;
  max-width:1040px;
  padding:0 20px;
  margin:0 auto 60px;
}
.topic_slider li {
  position:relative;
  width:31%;
  margin:0 3.5% 3.5% 0;
  border-radius:10px;
  overflow:hidden;
  border:solid 1px #BDBDBD;
  float:left;
}
.topic_slider li:nth-child(3n) {margin:0 0 3.5%;}
.topic_slider li:nth-child(3n+1) {clear:both;}
.topic_slider li::after {
  position:absolute;
  display:block;
  content:"";
  width:26px;
  height:26px;
  background:url(../img/index/topic_li.png) no-repeat center / cover;
  bottom:10px;
  right:10px;
}
.topic_slider li a {position:relative;display:block;overflow:hidden;z-index:0;}
.topic_slider li a:hover {text-decoration:none;}
.topic_slider li a::after {
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:100%;
  border-radius:9px;
  box-shadow:inset 0 0 0 4px #9070AF;  
  top:0;
  opacity:0;
  transition:0.5s;
  z-index:1;
}
.topic_slider li a:hover::after {opacity:1;}
.topic_slider li a figure {
  position:relative;
  width:100%;
  height:0;
  padding:65% 0 0;
  overflow:hidden;
}
.topic_slider li a figure img {
  position:absolute;
  display:block;
  width:100%;
  margin:auto;
  top:-100%;
  bottom:-100%;
  left:0;
  right:0;
  transition:0.5s;
  transform:scale(1);
}
.topic_slider li a:hover figure img {transform:scale(1.1);}
.topic_slider li p {
  position:relative;
  font-weight:bold;
  font-size:1.6rem;
  padding:17px 15px 0;
  min-height:4.5em;
  height:4.8em;
  display: -webkit-box;
  display:block;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.topic_slider li span {
  display:block;
  font-size:1.2rem;
  color:#BDBDBD;
  padding:0 15px 17px;
}

@media screen and (max-width: 767px) {

  main.archive article .tool_slider {
    width:94%;
    margin:0 auto 10%;
    padding:0;
  }
  main.archive article .tool_slider li {
    width:100%;
    margin:0 0 5%;
    float:none;
  }
  main.archive article .tool_slider li:nth-child(even) {margin:0 0 5%;}
  .tool_slider li figure {margin:0 auto 0.5rem;}
  .tool_slider li p {font-size:1.4rem;}
  .tool_slider li span {font-size:1.2rem;}
  .tool_slider li a:hover {transform:scale(1);}
  .tool_slider li a:hover figure img {transform:scale(1);}
  .archive .topic_slider {
    padding:0 3%;
    margin:0 auto 10%;
  }
  .topic_slider li {
    width:100%;
    margin:0 0 3%;
    border-radius:4px;
  }
  .topic_slider li:nth-child(3n) {margin:0 0 3%;}
  .topic_slider li::after {
    width:18px;
    height:18px;
    bottom:10px;
    right:10px;
  }
  .topic_slider li a figure {
    width:45%;
    padding:28% 0 0;
    float:left;
  }
  .topic_slider li a::after {border-radius:4px;}
  .topic_slider li a:hover figure img {transform:scale(1.05);}
  .topic_slider li p {
    width:55%;
    font-size:1.4rem;
    padding:1em 1em 0;
    min-height:3em;
    height:4.8em;
    float:left;
  }
  .topic_slider li span {
    width:55%;
    font-size:1.2rem;
    padding:0 1em;
    float:left;
  }
}

/* -----------------------------------------------------------
 page
----------------------------------------------------------- */

@media screen and (max-width: 1920px) {
  .kv_booklet ,
  .kv_booklet {height:450px;}
  .kv_booklet h1 {
    position:relative;
    width:100%;
    height:450px;
  }
  .kv_booklet h1 img {
    position:absolute;
    width:auto!important;
    height:auto;
    min-height:100%;
    max-width:none;
    margin:auto;
    left:-100%;
    right:-100%;
  }
  main.booklet {margin:550px 0 0;}
}
@media screen and (max-width: 1280px) {
  .kv_booklet {height:35vw;}
  .kv_booklet h1 {
    height:100%;
  }
  .kv_booklet h1 img {
    position:absolute;
    width:auto!important;
    height:100%;
    min-height:100%;
    max-width:none;
    margin:auto;
    left:-100%;
    right:-100%;
  }
  main.booklet {margin:calc(35vw + 100px) 0 0;}
}
ul.anc_link {
  width:100%;
  max-width:1040px;
  padding:0 20px;
  margin:35px auto 25px;
  overflow:hidden;
}
ul.anc_link li {
  width:31%;
  height:40px;
  line-height:40px;
  font-size:1.6rem;
  margin:0 3.5% 0 0;
  float:left;
  text-align:center;
}
@media screen and (max-width: 860px) {
  ul.anc_link li {font-size:1.3rem;}
}
ul.anc_link li:nth-child(3n) {margin:0;}
ul.anc_link li a {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border:solid 1px #BDBDBD;
  border-radius:20px;
  text-decoration:none;
}
ul.anc_link li a::after {
  position:absolute;
  display:block;
  content:"";
  width:1rem;
  height:1rem;
  border-bottom:solid 2px #3E3A39;
  border-right:solid 2px #3E3A39;
  margin:auto;
  top:0;
  bottom:5px;
  right:20px;
  transform:rotate(45deg);
}
.lead {
  width:100%;
  max-width:1040px;
  font-size:1.6rem;
  padding:0 20px;
  margin:0 auto 60px;
}
main.archive .lead {margin:0 auto;}
.section_kv {
  position:relative;
  width:100%;
  max-width:1040px;
  margin:0 auto;
  padding:0 20px;
  z-index:1;
}
.section_kv::after {
  position:absolute;
  display:block;
  content:"";
  width:100vw;
  height:100%;
  background:#EEEAF3;
  margin:auto;
  top:0;
  left:-100vw;
  right:-100vw;
  z-index:-1;
}
.section_kv img {
  display:block;
  transform:translateX(100vw);
  transition:0.5s 0.5s;
}
.section_kv.fadein img {
  transform:translateX(0);
}
.section_kv + div {
  position:relative;
  width:100%;
  max-width:1040px;
  margin:0 auto;
  padding:100px 20px 60px;
  z-index:2;
}
.section_kv + div h2 {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  position:absolute;
  font-size:4rem;
  line-height:1.6;
  font-weight:900;
  left:45px;
  top:-70px;
}
.section_kv + div h2 span {
  display:inline-block;
  vertical-align:text-top;
  margin:0 25px 0 0;
}
.section_kv + div > p {
  font-size:1.6rem;
  margin:0 auto 50px;
}
.page_booklet ul {text-align:center;z-index:11;}
.page_booklet ul li {margin:0 10px;}
.page_movie .movie_thumb {
  width:48%;
  margin:0 4% 30px 0;
  float:left;
}
.page_movie > div > ul {overflow:hidden;}
.page_movie > div > ul li.movie_thumb01 {clear:both;}
.page_movie > div > ul li.movie_thumb02 {margin:0 0 30px;transition-delay:0.2s;}
.page_movie > div > ul li.movie_thumb03 {clear:both;transition-delay:0.4s;}
.page_movie > div > ul li.movie_thumb04 {margin:0 0 30px;transition-delay:0.6s;}
.page_movie .movie_thumb figure {
  position:relative;
  width:96%;
  height:0;
  padding:56.25% 0 0;
  margin:0 0 20px;
}
.page_movie .movie_thumb figure img {
  position:absolute;
  width:100%;
  top:0;
  left:0;
  z-index:1;
  cursor:pointer;
}
.page_movie .movie_thumb figure::before {
  position:absolute;
  display:block;
  content:"";
  width:50px;
  height:55px;
  background:url(../img/page/btn_movie.png) no-repeat center / cover;
  margin:auto;
  top:0;
  bottom:0;
  left:0;
  right:0;
  z-index:2;
  pointer-events:none;
}
.page_movie .movie_thumb figure::after {
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:100%;
  border-radius:5px;
  background:#DEDEDE;
  top:2%;
  left:3%;
  z-index:-1;
}
.page_movie .movie_thumb > p span {
  display:block;
  font-size:2rem;
  font-weight:900;
  line-height:1.2;
}
.page_movie .movie_box {
  position:fixed;
  width:96%;
  max-width:800px;
  max-height:500px;
  height:0;
  padding:56.25% 0 0;
  margin:auto;
  top:0;
  left:0;
  bottom:0;
  right:0;
  opacity:0;
  visibility:hidden;
  transition:0.5s;
  background:#CCC;
  z-index:11;
}
.page_movie .active .movie_box {
  opacity:1;
  visibility:visible;
  transition:0.5s;
}
.page_movie .active .movie_box iframe {
  position:absolute;
  display:block;
  width:100%;
  height:100%;
  margin:auto;
  top:0;
  bottom:0;
  right:0;
  left:0;
}
.page_movie .movie_bg {
  position:fixed;
  width:100vw;
  height:100vh;
  background:rgba(0,0,0,0.8);
  top:0;
  left:0;
  opacity:0;
  visibility:hidden;
  transition:0.5s;
  z-index:10;
}
.page_movie .active .movie_bg {
  opacity:1;
  visibility:visible;
  transition:0.5s;
}
.page_plan dl {
  width:100%;
  padding:20px 0;
  border-bottom:solid 1px #BDBDBD;
  overflow:hidden;
}
.page_plan dl:nth-of-type(1) {border-top:solid 1px #BDBDBD;}
.page_plan dl dt {
  display:inline-block;
  width:calc(100% - 430px);
  font-size:2rem;
  font-weight:800;
  vertical-align:middle;
}
.page_plan dl dd {
  position:relative;
  display:inline-block;
  width:420px;
  vertical-align:middle;
}
.page_plan dl dd a {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:1rem 2rem;
  color:#FFFFFF;
  font-size:2rem;
  font-weight:800;
  text-align:center;
  border-radius:27px;
  background:#9070AF;
  box-shadow:0 4px 0 0 #8464A2;
}
.page_plan dl dd a:hover {
  text-decoration:none;
  opacity:0.8;
}
.page_plan dl dd a:active{
  top:4px;
  box-shadow:0 2px 0 2px #666;
}
.page_plan dl dd::after {
  position:absolute;
  display:block;
  content:"";
  width:1rem;
  height:1rem;
  border-top:solid 2px #FFFFFF;
  border-right:solid 2px #FFFFFF;
  transform:rotate(45deg);
  margin:auto;
  top:0;
  bottom:0;
  right:2rem;
}
.page_kit .btn_common {
  display:block;
  width:300px;
  margin:0 auto;
}
.rule_box {
  padding:30px;
  margin:0 auto 50px;
  background:url(../img/page/bg_rulebox.png) no-repeat top 3rem right 3rem / 28%,url(../img/index/bg_seminar.gif);
  border-radius:0.6rem;
}
.rule_box ol {
  width:calc(100% - 30%);
  margin:0 0 2rem;
}
.rule_box ol li {
  position:relative;
  font-size:2rem;
  font-weight:900;
  padding:0 0 0 2em;
  margin:0 0 0.25em;
}
.rule_box ol li span {
  position:absolute;
  display:block;
  width:3rem;
  height:3rem;
  line-height:3rem;
  text-align:center;
  color:#FFFFFF;
  background:#9070AF;
  border-radius:50%;
  top:0.25rem;
  left:0;
}
.rule_box ul li::before {content:"※";}
.rule_box + section {
  position:relative;
  padding:40px 0 0;
  z-index:0;
}
.rule_box + section::before {
  position:absolute;
  display:block;
  content:"";
  width:198px;
  height:244px;
  background:url(../img/page/bg_rule.png) no-repeat center / cover;
  top:0;
  right:0;
  z-index:10;
}
.rule_box + section h3 {
  width:100%;
  height:40px;
  line-height:40px;
  text-align:center;
  margin:0 auto 30px;
  color:#FFFFFF;
  font-size:2rem;
  font-weight:900;
  background:#9070AF;
  border-radius:20px;
}
.rule_box + section .rule_detail {margin:0 0 20px;}
.rule_box + section .rule_detail img {display:block;}
.rule_box + section .rule_example {font-size:2rem;}
.rule_box + section dl {
  padding:0 0 25px;
  margin:0 0 25px;
  border-bottom:solid 1px #BDBDBD;
}
.rule_box + section dl dd ul li {
  position:relative;
  padding:0 0 0 1.8em;
  margin:0 0 0.25em;
}
.rule_box + section dl dd ul li::before {
  position:absolute;
  display:block;
  content:"";
  width:10px;
  height:10px;
  background:#9070AF;
  border-radius:50%;
  top:0.55em;
  left:0.6em;
}
.point_box {
  width:32%;
  margin:30px 2% 30px 0;
  padding:30px;
  background:#EEEAF3;
  border-radius:10px;
  float:left;
}
.point_box:nth-of-type(3) {margin:30px 0;}
.point_box h4 {
  font-size:2rem;
  font-weight:900;
  color:#9070AF;
  text-align:center;
  margin:0 auto 0.25em;
}
.point_box h4 span {
  display:block;
  width:55px;
  height:40px;
  padding:12px 0 0;
  color:#FFFFFF;
  font-size:1.8rem;
  text-align:center;
  margin:0 auto 5px;
  background:url(../img/page/bg_point.png) no-repeat center / cover;
}
.point_box ul li {
  position:relative;
  padding:0 0 0 1.5em;
  margin:0 0 0.5em;
}
.point_box ul li::before {
  position:absolute;
  display:block;
  content:"";
  width:10px;
  height:10px;
  background:#9070AF;
  border-radius:50%;
  top:0.55em;
  left:0;
}
.point_box + p {
  clear:both;
  margin:0 0 30px;
}
.point_box + p + .btn_common {
  display:block;
  width:360px;
  margin:0 auto;
}
.page_questionnaire {
  text-align:center;
  padding:40px 20px 50px;
  background:url(../img/index/bg_seminar.gif);
}
.page_questionnaire h2 {
  font-size:2rem;
  font-weight:900;
  margin:0 auto 20px;
}
.award > p:nth-of-type(1) {font-size:1.2em;margin:0 0 1em;}

.scroll_img {
  width:100%;
  max-width:1040px;
  padding:0 20px;
  margin:35px auto 25px;
}
.scroll_img div {
  width:100%;
  overflow-x:scroll;
}
.scroll_img figure {
  width:200%;
  overflow:hidden;
}
.scroll_img figure img {
  display:block;
  width:19%;
  margin:0 1% 1% 0;
  float:left;
}

.second article > .f_contents {margin-top:50px;}
.second .second_ul {
  text-align:left;
  margin:0 auto 60px;
}
.second .second_ul > li {
  position:relative;
  padding:0 0 0 1.5em;
  margin:0 0 0.5em;
}
.second .second_ul > li::before {
  position:absolute;
  content:"●";
  top:0;
  left:0;
}
.second .second_ul > li ul {
  margin:1.5em 0 1.5em 0.5em;
}
.second .second_ul > li ul li {
  text-align:left;
  list-style-type:disc;
}

@media screen and (max-width: 767px) {
  
  .kv_booklet {height:35vw;}
  .kv_booklet h1 {
    height:100%;
  }
  main.booklet {margin:calc(35vw + 50px) 0 0;}
  ul.anc_link {
    width:94%;
    padding:0;
    margin:0 auto 5%;
  }
  ul.anc_link li {
    width:100%;
    height:30px;
    line-height:30px;
    font-size:1.2rem;
    margin:0 0 2%;
  }
  ul.anc_link li a {border-radius:15px;}
  ul.anc_link li a::after {
    width:0.8rem;
    height:0.8rem;
    border-bottom:solid 1px #3E3A39;
    border-right:solid 1px #3E3A39;
  }
  .lead {
    font-size:1.2rem;
    padding:0 3%;
    margin:0 auto 5%;
  }
  main.archive .lead {margin:0 auto 5%;}
  .section_kv {padding:0 3%;margin:0 auto 5%;}
  .section_kv + div {
    position:static;
    padding:0 3% 8%;
  }
  .section_kv + div h2 {
    position:static;
    font-size:2.5rem;
    line-height:1.2;
  }
  .section_kv + div h2 span {margin:5px 0 0 10px;}
  .section_kv + div h2 span:nth-of-type(1) {width:6.5rem;margin:0;}
  .section_kv + div > p {
    font-size:1.2rem;
    margin:0 auto 6%;
  }
  .page_booklet ul li {margin:0 auto 3%;}
  .page_movie .movie_thumb {
    width:100%;
    margin:0 auto 6%;
  }
  .page_movie > div > ul li.movie_thumb02 {margin:0 0 6%;}
  .page_movie > div > ul li.movie_thumb04 {margin:0 0 6%;}
  .page_movie .movie_thumb figure {margin:0 0 4%;}
  .page_movie .movie_thumb figure::before {
    width:4em;
    height:4.4em;
  }
  .page_movie .movie_thumb > p span {font-size:1.4rem;}
  .page_plan dl {padding:5% 0;}
  .page_plan dl dt {
    display:block;
    width:100%;
    font-size:1.4rem;
    margin:0 0 2%;
  }
  .page_plan dl dd {
    display:inline-block;
    width:auto;
    max-width:80%;
    margin:0 0 0 20%;
  }
  .page_plan dl dd a {
    padding:0.5rem 2rem;
    font-size:1.4rem;
    border-radius:15px;
  }
  .page_plan dl dd::after {right:1rem;}
  .page_kit .btn_common {width:200px;}
  .rule_box {
    padding:5% 5% 16em;
    margin:2% auto 8%;
    background:url(../img/page/bg_rulebox.png) no-repeat bottom 1em center / auto 14em,url(../img/index/bg_seminar.gif);
  }
  .rule_box ol {
    width:100%;
    margin:0 0 3%;
  }
  .rule_box ol li {font-size:1.4rem;}
  .rule_box ol li span {
    width:2rem;
    height:2rem;
    line-height:2rem;
    top:0.2rem;
  }
  .rule_box + section {padding:0;}
  .rule_box + section::before {
    width:10em;
    height:13em;
    background:url(../img/page/bg_rule.png) no-repeat center / auto 100%;
    margin:auto;
    top:3em;
    left:0;
    right:0;
  }
  .rule_box + section h3 {
    height:27px;
    line-height:27px;
    margin:0 auto 12em;
    font-size:1.4rem;
    border-radius:14px;
  }
  .rule_box + section .rule_detail {
    width:100%;
    max-width:270px;
    margin:0 0 3%;
  }
  .rule_box + section .rule_example {font-size:1.4rem;}
  .rule_box + section dl {
    padding:0 0 5%;
    margin:0 0 5%;
  }
  .rule_box + section dl dd ul li {padding:0 0 0 1em;}
  .rule_box + section dl dd ul li::before {
    width:6px;
    height:6px;
    top:0.6em;
    left:0;
  }
 .point_box {
    width:100%;
    height:auto!important;
    margin:4% auto 0;
    padding:5%;
    border-radius:6px;
  }
  .point_box:nth-of-type(3) {margin:4% auto;}
  .point_box h4 {font-size:1.4rem;}
  .point_box h4 span {
    width:45px;
    height:36px;
    padding:10px 0 0;
    font-size:1.6rem;
    margin:0 auto 2%;
  }
  .point_box ul li {padding:0 0 0 1em;}
  .point_box ul li::before {
    width:6px;
    height:6px;
    top:0.6em;
    left:0;
  }
  .point_box + p {margin:0 0 6%;}
  .point_box + p + .btn_common {width:260px;}
  .page_questionnaire {padding:8% 3%;}
  .page_questionnaire h2 {
    font-size:1.4rem;
    margin:0 auto 3%;
  }
  .second .page_booklet {padding:0 0 8%;}
}  

/* -----------------------------------------------------------
 topics
----------------------------------------------------------- */

.topic_box {
  width:100%;
  max-width:1040px;
  padding:35px 20px 0;
  margin:0 auto 60px;
  overflow:hidden;
}
.topic_date {
  display:block;
  font-size:1.2rem;
  color:#BDBDBD;
  margin:0 0 0.5em;
}
.topic_box h1 {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  font-size:3rem;
  font-weight:900;
  line-height:1.3;
  margin:0 0 30px;
}
.topic_box .eyecatch {
  width:30%;
  margin:0 0 2% 2%;
  border-radius:10px;
  overflow:hidden;
  float:right;
}
.topic_box .eyecatch img {
  display:block;
  width:100%;
}
.topic_box .topic_content {width:100%;}
.topic_box.hasimg .topic_content {
  width:68%;
  float:left;
}
.topic_box p {
  font-weight:500;
  margin:0 0 2em;
}
.topic_box .btn_common {
  min-width:250px;
  margin:0 10px 20px 0;
}
.topic_box .btn_common a[target="_blank"] {padding:1rem 4rem 1rem 2rem;}
.topic_box .btn_common a[target="_blank"]::after {
  position:absolute;
  display:block;
  content:"";
  width:2.3rem;
  height:2rem;
  border:none;
  transform:rotate(0deg);
  background:url(../img/common/bg_target.png) no-repeat center / cover;
  margin:auto;
  top:0;
  bottom:0;
  right:1.5rem;
}

@media screen and (max-width: 767px) {
  
  .topic_box {
    padding:0 3%;
    margin:0 auto 6%;
  }
  .topic_date {font-size:1rem;}
  .topic_box h1 {
    font-size:2.1rem;
    margin:0 0 3%;
  }
  .topic_box .eyecatch {
    width:100%;
    margin:0 auto;
  }
  .topic_box.hasimg .topic_content {width:100%;}
  .topic_box p {margin:0 0 1em;}
  .topic_box .btn_common {
    min-width:160px;
    margin:0 3% 5% 0;
  }
}

/* -----------------------------------------------------------
 index
----------------------------------------------------------- */

.index .kv .kv_slider {margin:0;}
.index .kv .kv_slider .slick-slide {
  width:100vw;
  overflow:hidden;
  z-index:0;
}
.index .kv .kv_slider .slick-slide img {
  width:100%!important;
  height:auto;
  max-width:none;
  margin:auto;
}
.index .kv .kv_slider .slick-prev,.index .kv .kv_slider .slick-next {
  width:16px;
  height:30px;
  z-index:10;
}
.slick-prev::before,.slick-next::before {content:none!important;}
.index .kv .kv_slider .slick-prev {background:url(../img/index/before.png) no-repeat center / cover;}
.index .kv .kv_slider .slick-next {background:url(../img/index/after.png) no-repeat center / cover;}
.index .kv .kv_slider .slick-dots {bottom:60px;}
.index .kv .kv_slider .slick-dots li button::before {opacity:1!important;color:#FFFFFF;}
.index .kv .kv_slider .slick-dots li.slick-active button::before {color:#9070AF;}

@media screen and (max-width: 1920px) {
  .index .kv .kv_slider .slick-slide {
    position:relative;
    height:600px;
  }
  .index .kv .kv_slider .slick-slide img {
    position:absolute;
    width:auto!important;
    height:auto;
    min-height:100%;
    max-width:none;
    margin:auto;
    left:-100%;
    right:-100%;
  }
  .index main {margin:655px 0 0;}
}
@media screen and (max-width: 1320px) {
  .index .kv .kv_slider .slick-slide {
    position:relative;
    height:45.4545vw;
  }
  .index .kv .kv_slider .slick-slide img {
    max-height:100%;
    max-width:none;
  }
  .index main {margin:calc(45.4545vw + 45px) 0 0;}
}

.index_tool {
  position:relative;
  padding:55px 0 35px;
  background:#EEEAF3;
}
.index_tool .box {
  max-width:1080px;
  padding:20px;
  overflow:hidden;
}
.index_tool .box .btn_common,
.index_topic .box .btn_common {
  display:block;
  width:220px;
  margin:0 auto;
  clear:both;
}
.index_tool .box h2 {
  font-family:'M PLUS Rounded 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  position:absolute;
  font-size:2.4rem;
  font-weight:800;
  color:#FFFFFF;
  text-align:center;
  width:678px;
  height:80px;
  padding:10px 0 0;
  margin:auto;
  left:0;
  right:0;
  top:-35px;
  background:url(../img/index/bg_h2.png) no-repeat center;
}
.index_tool .box .tool_slider {margin:0 auto 30px;}
.index_tool .box .tool_slider .slick-list {
  padding:0!important;
  overflow:visible!important;
}
.index_tool .box .tool_slider .slick-slide {margin:0 20px;}
.index_tool .tool_slider .slick-prev,
.index_tool .tool_slider .slick-next{
  width:16px;
  height:30px;
  margin:auto;
  top:0%;
  bottom:20%;
  z-index:100;
}
.index_tool .tool_slider .slick-prev {background:url(../img/index/before.png) no-repeat center / cover;left:-15px;}
.index_tool .tool_slider .slick-next {background:url(../img/index/after.png) no-repeat center / cover;right:-15px;}

.index_topic {
  padding:60px 0 70px;
  background:#FFF;
}
.index_topic .box {padding:0 20px;}
.index_seminar {
  padding:60px 0 80px;
}
.index_seminar .box {position:relative;}
.index_seminar .seminar_box {
  width:100%;
  padding:40px;
  border-radius:10px;
  background:url(../img/index/bg_seminar.gif);
  overflow:hidden;
  z-index:0;
}
.index_seminar .seminar_box figure {
  width:25%;
  float:right;
}
.index_seminar .seminar_box figure img {
  display:block;
  border-radius:10px;
}
.index_seminar .seminar_box p {
  width:70%;
  font-size:1.6rem;
  float:left;
}
.index_seminar .box > .btn_common {
  position:absolute;
  width:240px;
  margin:auto;
  left:0;
  right:0;
  bottom:-20px;
}
.index_about {
  padding:60px 0 0;
  background:#EEEEEE;
}
.index_about > div {
  position:relative;
  padding:70px 0 40px;
  background:#DED4E7;
  text-align:center;
  z-index:1;
}
.index_about > div::before {
  position:absolute;
  display:block;
  content:"";
  width:200px;
  height:200px;
  border-radius:50%;
  background:url(../img/common/logo_thinking.png) no-repeat top 30px center / 40%,#DED4E7;
  margin:auto;
  top:-60px;
  left:0;
  right:0;
  z-index:-1;
}
.index_about > div h2 {
  font-size:2rem;
  font-weight:900;
  margin:0 auto 20px;
}
.index_about > div p {
  width:650px;
  font-size:1.4rem;
  text-align:left;
  margin:0 auto 1.4em;
}
  
@media screen and (max-width: 767px) {
  .index .kv .kv_slider .slick-dots {bottom:3%;}
  .index .kv .kv_slider .slick-prev,.index .kv .kv_slider .slick-next {
    width:14px;
    height:26px;
  }
  .index main {margin:45.4545vw 0 0;}
  .index main article {padding:0;}
  .index_tool {padding:0;}
  .index_tool .box {
    padding:3% 3% 8%;
    overflow:hidden;
  }
  .index_tool .box .btn_common,
  .index_topic .box .btn_common {
    width:160px;
  }
  .index_tool .box h2 {
    position:static;
    font-size:4.2vw;
    width:90%;
    height:auto;
    line-height:1.3;
    padding:0.2em 0 0.6em;
    margin:0 auto 3%;
    background:url(../img/index/bg_h2_sp.png) no-repeat center / 100%;
  }
  .index_tool .box .tool_slider {margin:0 auto 5%;}
  .index_tool .tool_slider .slick-prev,
  .index_tool .tool_slider .slick-next{
    width:14px;
    height:26px;
  }
  .index_tool .tool_slider .slick-prev {left:-10px;}
  .index_tool .tool_slider .slick-next {right:-10px;}
  .index_topic {padding:8% 0;}
  .index_topic .box {padding:0 3%;}
  .index_topic .box .topic_slider {margin:0 auto 5%;}
  .index_seminar {
    padding:8% 0;
    background:url(../img/index/bg_main.jpg) no-repeat center / cover;
  }
  .index_seminar .box {padding:0 6%;}
  .index_seminar .seminar_box {
    padding:5%;
    border-radius:5px;
  }
  .index_seminar .seminar_box figure {
    width:100%;
    margin:0 auto 5%;
    text-align:center;
  }
  .index_seminar .seminar_box figure img {margin:0 auto;}
  .index_seminar .seminar_box p {
    width:100%;
    font-size:1.2rem;
    margin:0 auto 5%;
  }
  .index_about {padding:50px 0 0;}
  .index_about > div {padding:70px 0 5%;}
  .index_about > div::before {
    width:140px;
    height:140px;
    background:url(../img/common/logo_thinking.png) no-repeat top 30px center / 50%,#DED4E7;
    top:-40px;
  }
  .index_about > div h2 {
    font-size:1.4rem;
    margin:0 auto 5%;
  }
  .index_about > div p {
    width:94%;
    font-size:1.1rem;
  }
}

