@charset "UTF-8";
/* CSS Document */

body{
    position: relative;
}
#main-visual {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
#main-visual::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 150%;
}
#main-visual-inner {
    position: absolute;
    z-index: 1;
    height: 90%;
    width: calc(100% - 60px);
    padding: 5% 30px 5%;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    top: 0;
}
#main-visual-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 20%;
    top: 0;
}
.main-visual-inner-ja {
  margin-top: 5%;
}
.main-visual-inner-ja h1 {
    color: #fff;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 8vw;
    filter: drop-shadow(0px 0px 10px rgb(0, 0, 0));
    line-height: 1.6;
}
.main-visual-inner-ja p {
	color: #fff;
	font-size: 4vw;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; 
    filter: drop-shadow(0px 0px 5px rgb(0, 0, 0));
}
.main-visual-inner-en p{
    font-family: 'Sen', sans-serif;
    font-family: 'Spartan', sans-serif;
    font-weight: 500;
    font-size: 4.4vw;
    color: #fff;
    filter: drop-shadow(0px 0px 5px rgb(0, 0, 0));
}
#profile-top {
    padding: 0;
    display: flex;
    justify-content: space-between;
    margin: 10% auto;
    border-top: 0px solid #000;
    border-bottom: 0px dotted #000;
    flex-flow: column;
    align-items: center;
}
.profile-text {
    width: auto;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    order: 2;
    padding: 0;
    margin-top: 5%;
}
.profile-text h2 {
    color: #37BCBC;
    font-size: 1.8rem;
    margin-bottom: 40px;
    line-height: 1;
}
.profile-text h3 {
    color: #000;
    font-size: 2.4rem;
    margin-bottom: 10px;
    line-height: 1;
    letter-spacing: 5px;
}
.profile-text h4 {
    color: #000;
    font-size: 1.4rem;
    margin-bottom: 15px;
    padding-bottom: 15px;
    line-height: 1;
    font-family: 'Sen', sans-serif;
    font-family: 'Spartan', sans-serif;
    font-weight: 200;
    border-bottom: 1px solid #000;
    letter-spacing: 5px;
}
.profile-text h5 {
    color: #000;
    font-size: 1.6rem;
}
.button {
    margin-top: 20px;
}
.button-inner {
    display: flex;
    width: 280px;
    height: 40px;
    border-radius: 20px;
    color: #fff;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    cursor: pointer;
    background: transparent linear-gradient(105deg, #37BCBC 0%, #54DB7D 100%) 0% 0% no-repeat padding-box;
    position: relative;
}
.button-inner::after{
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    right: 20px;
    top: 50%;
    display: block;
    transform: translateY(-50%) rotate(-45deg);
}
.button-inner:hover{
    opacity: 1;
    color: #fff;
    text-decoration: none;
}
.profile-photo {
    width: 60%;
    height: auto;
    overflow: hidden;
    order: 1;
    position: relative;
    max-width: 280px;
}
.profile-photo::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 100%;
}
.profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    display: block;
    position: absolute;
}
#profile-bottom {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #44546E;
}
#profile-bottom::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 60%;
}
#profile-bottom-inner {
    position: absolute;
    z-index: 2;
    color: #fff;
    font-size: 2vw;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    top: 0;
    background-color: #44546E;
    align-items: center;
}
#profile-bottom-inner p {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50% ,-50%);
    font-family: 'Spartan', sans-serif;
    font-weight: 700;
    font-size: 8vw;
}
#profile-bottom-image {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 160%;
    mix-blend-mode: multiply;
}
#interview-top {
    padding: 0;
    display: flex;
    justify-content: space-between;
    margin: 10% auto;
    border-top: 0px solid #000;
    border-bottom: 0px solid #000;
    flex-flow: column;
    align-items: center;
}
.interview-photo{
    width: 60%;
    height: auto;
    overflow: hidden;
    order: 1;
    position: relative;
    max-width: 280px;
}
.interview-photo::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 100%;
}
.interview-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  display: block;
  position: absolute;
}
.interview-text{
    width: auto;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    order: 2;
    padding: 0;
    margin-top: 5%;
}
.interview-text h2 {
    color: #0388DB;
    font-size: 1.8rem;
    margin-bottom: 40px;
    line-height: 1;
}
.interview-text p {
    color: #000;
    font-size: 1.3rem;
    margin: 0;
}
#hdd {
    background-color: #9BC2FF;
    overflow: hidden;
    position: relative;
}
#hdd::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 60%;
}
#hdd-inner {
    position: absolute;
    z-index: 2;
    color: #fff;
    font-size: 2vw;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    top: 0;
    background-color: #44546E;
    align-items: center;
}
#hdd-inner p {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50% ,-50%);
    font-family: 'Spartan', sans-serif;
    font-weight: 700;
    font-size: 8vw;
    width: 80%;
}
.hdd-photo {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 160%;
    mix-blend-mode: multiply;
}
#topics-sec {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
#topics-sec::before {
    content: "";
    display: block;
    width: 100%;
/* トピックス背景   height: auto;*/
/*    padding-top: calc(100vh + 80vw);*/
    height: 900px;
}
.topics {
    position: absolute;
    z-index: 1;
    width: 90%;
    padding: 20% 5% 0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.36));
    top: 0;
}
.sec-ttl-under {
    font-size: 1.3rem;
    line-height: 1.5;
    display: block;
    padding-top: 5px;
    padding-bottom: 20px;
    text-align: center;
    color: #fff;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.36));
}
.about-sec-ttl {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    padding-bottom: 0px;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.6));
}
.topics-box {
  background-color: #fff;
  padding: 30px 20px;
}
.topics-list {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.topics-list li {
  width: 100%;
  padding-bottom: 30px;
}
.topics-list li:last-child {
  padding-bottom: 0;
}
.top-topics-img {
  width: 100%;
  height: auto;
}
.topics-list-date {
  color: #37BCBC;
  padding: 0 0 8px;
  font-size: 1.3rem;
  line-height: 1;
}
.topics-list-lead {
  font-size: 1.4rem;
  color: #000;
  text-decoration: underline;
}
.topics-bg-img {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    top: 0;
    object-position: cover;
}
#tagetTop {
  bottom: 120px !important;
}
/********************************************   min-width:768px  **************************************************/
@media screen and (min-width:768px){
sp {
    display: none;
}
#main-visual {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    max-height: 100%;
}
#main-visual-inner {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: calc(100% - 120px);
    padding: 0 60px 0;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
#main-visual::before {
    padding-top: 125%;
}
.main-visual-inner-ja {
  margin-top: 10%;
}
.main-visual-inner-ja h1 {
    color: #fff;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 6vw;
    filter: drop-shadow(0px 0px 10px rgb(0, 0, 0));
    line-height: 1.6;
}
.main-visual-inner-ja p {
	color: #fff;
	font-size: 2.8vw;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    filter: drop-shadow(0px 0px 5px rgb(0, 0, 0));
}
.main-visual-inner-en {
  margin-bottom: 5%;
}
.main-visual-inner-en p{
    font-family: 'Sen', sans-serif;
    font-family: 'Spartan', sans-serif;
    font-weight: 500;
    font-size: 3.2rem;
    color: #fff;
}
#profile {
    padding: 0;
}
#profile-top {
    padding: 60px 0 0;
    display: flex;
    justify-content: space-between;
    max-width: 1100px;
    margin: 60px;
    border-top: 1px solid #000;
    flex-flow: row nowrap;
    align-items: flex-start;
}
.profile-text {
    width: calc(100% - 320px);
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    order: 1;
    height: 300px;
    margin-top: 0;
}
.profile-photo {
    width: 300px;
    height: 300px;
    overflow: hidden;
    order: 2;
    max-width: 100%;
}
.profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#profile-bottom {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #44546E;
}
#profile-bottom::before {
  padding-top: 40%;
}
#profile-bottom-inner {

}
#profile-bottom-inner p {
    font-size: 6vw;
}
#profile-bottom-image {

}
#hdd::before {
  padding-top: 40%;
}
#interview {
  padding: 0 60px;
}
#interview-top {
    padding: 60px 0;
    display: flex;
    justify-content: space-between;
    margin: 60px auto;
    border-top: 1px solid #000;
    flex-flow: row nowrap;
    align-items: flex-start;
}
.interview-text {
    width: auto;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    order: 2;
    padding: 0;
    margin-top: 0;
    height: 300px;
}
.interview-text h2 {
    color: #0388DB;
    font-size: 1.8rem;
    margin-bottom: 0;
    line-height: 1;
}
.interview-text p {
    color: #000;
    font-size: 1.4rem;
    margin: 0;
    line-height: 2;
}
.interview-photo {
    width: 300px;
    height: auto;
    overflow: hidden;
    order: 2;
    position: relative;
    max-width: 100%;
}
#hdd-inner p {
    font-size: 6vw;
    width: 60%;
}
#topics-sec::before {
/* トピックス背景必要なければ削除   padding-top: calc(100vh + 80vw);*/
}
.topics {
    padding: 10% 5% 0;
}
.topics-box {
  background-color: #fff;
  padding: 50px;
}
.topics-bg-img {

}
}
/********************************************   min-width:960px  **************************************************/
@media screen and (min-width:960px){
#main-visual-inner {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: calc(100% - 120px);
    padding: 0 60px 0;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}
#main-visual-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.main-visual-inner-ja {
  margin-top: 5%;
}
.main-visual-inner-ja p {
  font-size: 2.4vw;
}
.main-visual-inner-ja h1 {
  font-size: 4vw;
  line-height: 1.4;
}
.main-visual-inner-en p {
  font-size: 2.2vw;
}
#main-visual::before {
    padding-top: 56.25%;
}
#profile-inner {
    padding: 0 60px;
}
#profile-top {
    padding: 80px 0 0;
    margin: 80px auto;
    max-width: 960px;
}
#profile-bottom-inner {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: 100%;
    padding: 0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    color: #fff;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
}
.profile-text {
    width: 500px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    order: 1;
    height: 400px;
    margin-top: 0;
}
.profile-photo {
    width: 400px;
    height: 400px;
    overflow: hidden;
    order: 2;
}
.profile-text h2 {
    font-size: 2.4rem;
    margin-bottom: 40px;
    line-height: 1;
}
.profile-text h3 {
    color: #000;
    font-size: 4rem;
    margin-bottom: 10px;
    line-height: 1;
    letter-spacing: 5px;
}
.profile-text h4 {
    color: #000;
    font-size: 2.4rem;
    margin-bottom: 15px;
    padding-bottom: 15px;
    line-height: 1;
    font-family: 'Sen', sans-serif;
    font-family: 'Spartan', sans-serif;
    font-weight: 200;
    border-bottom: 1px solid #000;
    letter-spacing: 5px;
}
.profile-text h5 {
    color: #000;
    font-size: 2.4rem;
}
.button-inner {
    display: flex;
    width: 320px;
    height: 60px;
    border-radius: 30px;
    color: #fff;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
}
#profile-bottom {
    position: relative;
    width: 100%;
    height: 550px;
    overflow: hidden;
    background-color: #44546E;
}
#profile-bottom-image {
    width: 100%;
    height: 120%;
}
#profile-bottom-inner p {
    font-size: 6rem;
}
#interview-top {
    padding: 80px 0;
    margin: 80px auto;
    max-width: 960px;
}
.interview-text h2 {
    color: #37BCBC;
    font-size: 2.4rem;
    margin-bottom: 0;
    line-height: 1;
}
.interview-text p {
    color: #000;
    font-size: 1.8rem;
    margin: 0;
    line-height: 2;
}
.interview-photo {
    width: 100%;
    height: auto;
    overflow: hidden;
    order: 2;
    position: relative;
    max-width: 400px;
}
.interview-photo::before {
      padding-top: 80%;
}
#hdd::before {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    padding-top: 40%;
}
.hdd-text p {
    font-family: 'Sen', sans-serif;
    font-family: 'Spartan', sans-serif;
    font-weight: 500;
    font-size: 2.6rem;
    color: #fff;
}
#hdd-inner p {
    font-size: 6rem;
    width: 100%;
}
.hdd-photo {
    position: absolute;
    width: 100%;
    height: 120%;
    object-fit: cover;
}
.about-sec-ttl {
  font-size: 2.4rem;
}
#topics-sec::before {
/* トピックス背景必要なければ削除 padding-top: calc(100vh + 40vw);*/
}
.topics {
    padding: 100px 0 0;
    max-width: 960px;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
}
.sec-ttl-under {
  font-size: 1.6rem;
}
.topics-bg-img {

}
.topics-list {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
}
.topics-box {
  padding: 50px;
}
.topics-list li {
    width: 100%;
    padding-bottom: 50px;
}
.topics-list-date {
  font-size: 1.6rem;
}
.topics-list-lead {
  font-size: 1.6rem;
}
.topics {
  max-width: 820px;
}
}
/********************************************   min-width:1280px  **************************************************/
@media screen and (min-width:1280px){
#profile-top {
    padding: 80px 0 0;
    margin: 80px auto;
    max-width: 1100px;
}
#interview-top {
    max-width: 1100px;
}
#profile-bottom-image {
    width: 100%;
    height: 130%;
}
.hdd-photo {
    width: 100%;
    height: 130%;
}
.topics {
    margin: 0 auto;
}
.topics-bg-img {

}
}