@charset "UTF-8";
@import url("../css/common.css");
.br_pc {
  display: none;
}

@media screen and (min-width: 429px) {
  .br_pc {
    display: block;
  }
}

.br_notePc {
  display: none;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .br_notePc {
    display: block;
  }
}

.ruby {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  padding-top: .4rem;
  font-size: .3rem;
  color: #aaa;
  letter-spacing: .1em;
}

.sub-title {
  font-weight: bold;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (min-width: 1920px) {
  .sub-title {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 1440px) {
  .top-title {
    height: 16rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  .top-title {
    height: 16rem;
  }
}

@media screen and (min-width: 1920px) {
  .top-title {
    height: 21rem;
  }
}

section.front .title-sp {
  text-align: center;
  font-size: 1.2rem;
  margin: 2.2rem 0;
}

@media screen and (min-width: 429px) {
  section.front .title-sp {
    display: none;
  }
}

section.front .photo {
  display: none;
}

@media screen and (min-width: 429px) {
  section.front .photo {
    display: block;
  }
}

section.front .photo-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .photo-sp {
    display: none;
  }
}

section.front .front-text-1 {
  margin-top: 3.2rem;
  text-align: center;
  padding-bottom: 0;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 {
    margin-top: 5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 {
    margin-top: 3rem;
  }
}

section.front .front-text-1 .sub-title {
  letter-spacing: .2em;
  font-size: 1.1rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .sub-title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .sub-title {
    font-size: 1.1rem;
  }
}

section.front .front-text-1 .ruby {
  margin-bottom: .5rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .ruby {
    font-size: .3rem;
    margin-bottom: 2.2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .ruby {
    margin-bottom: 3rem;
  }
}

section.front .front-text-1 .content {
  width: 90%;
  text-align: start;
  font-size: 1rem;
  margin: 0 auto;
  letter-spacing: .3em;
  line-height: 1.3;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content {
    font-size: .9rem;
    width: 60%;
    padding-bottom: 6.5rem;
    line-height: normal;
    letter-spacing: normal;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content {
    padding-bottom: 3rem;
    width: 65%;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content {
    padding-bottom: 6.5rem;
    width: 60%;
  }
}

section.front .front-text-1 .content p {
  margin-bottom: 1.4rem;
  font-size: 1rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content p {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-text-1 .content p {
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content p {
    margin-bottom: 2rem;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content p {
    margin-bottom: 2.2rem;
    font-size: .9rem;
  }
}

section.front .front-text-1 .content p:last-child {
  margin-bottom: 3rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content p:last-child {
    margin-bottom: 1.4rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content p:last-child {
    margin-bottom: 2rem;
  }
}

section.front .front-text-1 .content .sub-title {
  letter-spacing: .2em;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content .sub-title {
    font-size: 1rem;
  }
}

section.front .front-text-1 .content .ruby {
  margin-bottom: 2.2rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content .ruby {
    margin-bottom: 7rem;
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content .ruby {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    margin-bottom: 5.5rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content .ruby {
    margin-bottom: 7rem;
  }
}

section.front .front-text-1 .photo-sp {
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .photo-sp {
    display: none;
  }
}

section.front .front-photo-container-1 {
  background-color: #fff;
  padding-top: .8rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 {
    margin-bottom: 2.5rem;
    background-color: #fdf7f3;
    padding-bottom: 0;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-1 {
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-1 {
    margin-bottom: 3.5rem;
  }
}

section.front .front-photo-container-1 .front-text {
  width: 100%;
  font-size: .9rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text {
    width: 50%;
  }
}

section.front .front-photo-container-1 .front-text .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content {
    margin: 0 0 0 auto;
    padding-top: 2%;
    width: 85%;
  }
}

section.front .front-photo-container-1 .front-text .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-1 .front-text .content p {
  font-size: 1rem;
  margin: 1.8rem 0 0;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 1.2;
    width: 90%;
    margin: .8rem 0 0;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 1.5;
    margin: 1rem 0 0;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-1 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 2;
    margin: 1.8rem 0 0;
    font-size: .9rem;
  }
}

section.front .front-photo-container-1 .front-photo {
  width: 100%;
  margin-top: 1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-photo {
    text-align: left;
    margin-top: 0;
    width: 50%;
  }
}

section.front .front-photo-container-1 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-photo img {
    width: 80%;
  }
}

section.front .front-photo-container-2 {
  margin-bottom: 4rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 {
    margin-bottom: 7rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 {
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 {
    margin-bottom: 2rem;
  }
}

section.front .front-photo-container-2 .front-photo {
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-photo {
    text-align: right;
    width: 50%;
  }
}

section.front .front-photo-container-2 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 2rem;
    width: 80%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 2rem;
  }
}

section.front .front-photo-container-2 .front-text {
  display: none;
  width: 50%;
  margin-top: 6rem;
  font-size: .9rem;
  text-align: start;
  line-height: 1.7;
  padding-left: 1rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text {
    display: block;
    padding-left: 0;
    margin-top: 3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text {
    margin-top: 4.5rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-2 .front-text {
    font-size: 0.8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text {
    margin-top: 6rem;
    font-size: 0.9rem;
  }
}

section.front .front-photo-container-2 .front-text-sp {
  line-height: 1.7;
  margin: 0 auto 2.5rem;
  font-size: .7rem;
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text-sp {
    display: none;
  }
}

section.front .front-photo-container-2 .front-text-sp p {
  font-size: 1rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text-sp p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text-sp p {
    font-size: .9rem;
  }
}

section.front .front-photo-container-2 .front-text .content {
  width: 85%;
  margin: 0 auto 0 0;
}

section.front .front-photo-container-2 .front-text .content p {
  margin: 0 0 0 .8rem;
  font-size: .9rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 1.2;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 1.5;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 2;
    font-size: .9rem;
  }
}

section.front .front-photo-container-3 {
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 {
    padding-top: 2.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 {
    padding-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 {
    padding-bottom: 3rem;
  }
}

section.front .front-photo-container-3 .sub-title {
  letter-spacing: .2em;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1.1rem;
  }
}

section.front .front-photo-container-3 .ruby {
  margin-bottom: 1rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 2rem;
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 1.5rem;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 2rem;
  }
}

section.front .front-photo-container-3 img {
  width: 100%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 img {
    width: 85%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 {
  margin-bottom: 2.5rem;
  background-color: #fdf7f3;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    padding-bottom: 0;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    margin-top: 4.5rem;
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    margin-top: 6.5rem;
    margin-bottom: 3.5rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text {
  width: 100%;
  font-size: .9rem;
  text-align: center;
  display: none;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text {
    display: block;
    width: 50%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content {
    margin: 0 0 0 auto;
    padding-top: 2%;
    width: 85%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
  font-size: 1rem;
  margin: 0 0 .8rem;
  line-height: 2;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    width: 90%;
    font-size: .7rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    line-height: 1.5;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    line-height: 2;
    font-size: .9rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp {
  width: 100%;
  font-size: .9rem;
  text-align: center;
  letter-spacing: .1rem;
  margin-top: 2.5rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content {
    margin: 0;
    padding-top: 2%;
    width: 100%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
  font-size: 1rem;
  margin: 0 0 1.5rem;
  line-height: 2.5;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    line-height: 2;
    font-size: .7rem;
    margin: 0 0 2.5rem 9.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    margin: 0 0 .8rem 6rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    font-size: .9rem;
    margin: 0 0 1.6rem 9.5rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo {
  width: 100%;
  margin-top: 2rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo {
    text-align: left;
    margin-top: 0;
    width: 50%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo img {
    width: 80%;
  }
}

section.front .front-photo-container-4 {
  text-align: center;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 {
    padding-bottom: 6rem;
    text-align: left;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 {
    margin-bottom: 3rem;
    padding-bottom: 4.4rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 {
    margin-bottom: 4rem;
    padding-bottom: 6rem;
  }
}

section.front .front-photo-container-4 .front-photo {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-photo {
    text-align: right;
    width: 50%;
  }
}

section.front .front-photo-container-4 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-photo img {
    width: 80%;
    margin-right: 2.5rem;
  }
}

section.front .front-photo-container-4 .front-text {
  letter-spacing: .1rem;
  margin: 1rem auto 0;
  width: 90%;
  line-height: 2.5;
  font-size: 1rem;
  padding-left: 0;
  text-align: start;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-text {
    line-height: 1.7;
    margin-top: 2rem;
    letter-spacing: normal;
    font-size: .7rem;
    width: 50%;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 3rem;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 4rem;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 6rem;
    font-size: .9rem;
  }
}

section.front .front-photo-container-4 .front-text .content {
  width: 85%;
  margin: 0 auto 0 0;
}

section.front .front-photo-container-4 .front-text .content p {
  margin: 0 0 0 .8rem;
  padding-bottom: 1.7rem;
  line-height: 1.2;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-text .content p {
    padding-bottom: 1.5rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-4 .front-text .content p {
    line-height: 1.5;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 .front-text .content p {
    padding-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 .front-text .content p {
    line-height: 2;
    padding-bottom: 2.5rem;
  }
}

section.profile {
  position: relative;
}

@media screen and (min-width: 429px) {
  section.profile {
    background-color: #fff;
  }
}

section.profile .btn-goto-top {
  display: none;
}

@media screen and (min-width: 429px) {
  section.profile .btn-goto-top {
    display: block;
  }
}

section.profile .sub-title {
  letter-spacing: .2em;
  text-align: center;
  margin-bottom: 1.7rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .sub-title {
    margin-bottom: 5rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .sub-title {
    margin-bottom: 4rem;
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .sub-title {
    margin-bottom: 5rem;
    font-size: 1.2rem;
  }
}

section.profile .under {
  border-bottom: 0.8px solid #333;
  padding-bottom: 6px;
}

section.profile .profile-photo-container {
  margin-bottom: 3rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container {
    margin-bottom: 5rem;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container {
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container {
    margin-bottom: 5rem;
  }
}

section.profile .profile-photo-container .profile-photo {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-photo {
    width: 50%;
    text-align: right;
  }
}

section.profile .profile-photo-container .profile-photo img {
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 3rem 0 0;
    width: 75%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 4rem 0 0;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 4rem 0 0;
  }
}

section.profile .profile-photo-container .profile-text {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text {
    text-align: left;
    margin-left: 0;
    width: 55%;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 0;
    width: 50%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 1rem;
    width: 50%;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 2.5rem;
    width: 50%;
  }
}

section.profile .profile-photo-container .profile-text .sub-title {
  margin: 1.5rem auto 1.8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .2em;
  text-align: center;
  width: 43%;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    width: 51%;
  }
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    width: 100%;
    margin: 2rem 0 1rem;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 2.5rem 0 1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 2.5rem 0 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 4rem 0 3rem;
  }
}

section.profile .profile-photo-container .profile-text .sub-title .ruby {
  padding-top: .3rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title .ruby {
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .ruby {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}

section.profile .profile-photo-container .profile-text .sub-title .name-text {
  font-size: 1.2rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .name-text {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title .name-text {
    font-size: 1.2rem;
  }
}

section.profile .profile-photo-container .profile-text .sub-title .position-text {
  font-size: 1rem;
  margin: .3rem  1.8rem auto 0;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.7rem auto 0;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.4rem auto 0;
    font-size: .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.7rem auto 0;
    font-size: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography {
  display: none;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  text-align: left;
  width: 90%;
  margin: 0 auto;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography {
    display: block;
    margin: 0 0 0 -3.5%;
    width: 100%;
  }
}

section.profile .profile-photo-container .profile-text .biography h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .7rem;
    margin-bottom: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .9rem;
    margin-bottom: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography p {
  font-size: 1.6rem;
  margin: 0 0 1.6rem 2rem;
  letter-spacing: .2em;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography p {
    margin: 0 0 .8rem;
    letter-spacing: normal;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography p {
    font-size: .6rem;
    margin: 0 0 .6rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography p {
    font-size: .8rem;
    margin: 0 0 .8rem;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  text-align: left;
  width: 86%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp {
    display: none;
    margin: 0;
    width: 100%;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp .biography-sp-2 {
  margin-top: 1.8rem;
}

section.profile .profile-photo-container .profile-text .biography-sp h2 {
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    margin-bottom: 1rem;
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    font-size: .7rem;
    margin-bottom: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    font-size: .9rem;
    margin-bottom: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp p {
  font-size: 0.7rem;
  line-height: 1.4;
  margin: 0 0 .6rem .4rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    margin: 0 0 .8rem 2rem;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    font-size: .6rem;
    margin: 0 0 .6rem .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    font-size: .8rem;
    margin: 0 0 .8rem 2rem;
  }
}

section.profile .thoughts-text {
  padding-bottom: 2rem;
  padding-top: .5rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text {
    padding-bottom: 8.5rem;
    padding-top: 0;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text {
    padding-bottom: 7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text {
    padding-bottom: 8.5rem;
  }
}

section.profile .thoughts-text .sub-title {
  letter-spacing: .2em;
  text-align: center;
  margin-bottom: 1.7rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .sub-title {
    margin-bottom: 2.6rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text .sub-title {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text .sub-title {
    font-size: 1.2rem;
  }
}

section.profile .thoughts-text .under {
  border-bottom: 0.8px solid #333;
  padding-bottom: 6px;
}

section.profile .thoughts-text .contents {
  display: none;
  margin: 3.7rem auto 0;
  text-align: start;
  line-height: 1.7;
  font-size: 1rem;
  width: 90%;
  letter-spacing: .2em;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents {
    display: block;
    letter-spacing: normal;
    margin: 0 auto;
    width: 50%;
    font-size: .9rem;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .thoughts-text .contents {
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text .contents {
    font-size: .7rem;
    width: 56%;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text .contents {
    font-size: .9rem;
    width: 51%;
  }
}

section.profile .thoughts-text .contents p {
  margin-bottom: .7rem;
}

section.profile .thoughts-text .contents-sp {
  margin: 1.8rem auto 0;
  text-align: start;
  line-height: 1.7;
  font-size: 1rem;
  width: 88%;
  letter-spacing: .1em;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents-sp {
    display: none;
  }
}

section.profile .thoughts-text .contents-sp p {
  margin-bottom: 1.1rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents-sp p {
    margin-bottom: .7rem;
  }
}

section.application-sp {
  display: block;
  padding: 4rem 0 6rem;
  position: relative;
  font-size: 1.1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.application-sp {
    display: none;
  }
}

section.application-sp p {
  margin-bottom: 1.2rem;
}

section.application-sp .btn-more {
  margin: 0 auto;
}

section.application-sp .btn-goto-top {
  position: absolute;
  width: 50px;
  height: 30px;
  border-radius: 40px 40px 0 0;
  background: #fdf7f3;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 429px) {
  section.application-sp .btn-goto-top {
    background: #f4f4f4;
    width: 60px;
    height: 30px;
    border-radius: 30px 30px 0 0;
  }
}

section.application-sp .txt-goto-top {
  position: absolute;
  text-align: center;
  bottom: -11%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.application-sp .txt-goto-top {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.application-sp .txt-goto-top {
    font-size: 1rem;
  }
}

section.application-sp .txt-goto-top .arrow {
  margin: 0 auto .1rem;
  width: 8px;
  height: 8px;
  border: 1px solid;
  border-color: #666 #666 transparent transparent;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 429px) {
  section.application-sp .txt-goto-top .arrow {
    margin: 0 auto;
    width: 6px;
    height: 6px;
  }
}

section.application-sp .txt-goto-top p {
  margin-bottom: 0;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.application-sp .txt-goto-top p {
    font-size: .7rem;
  }
}

footer {
  padding: 3rem 0 .5rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  footer {
    padding: 2rem 0 .5rem;
  }
}

@media screen and (min-width: 1920px) {
  footer {
    padding: 3rem 0 .5rem;
  }
}

footer p {
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  footer p {
    margin-bottom: .6rem;
    text-align: right;
    margin-right: 1.5rem;
  }
}

footer .copyright.-sp {
  margin-bottom: .8rem;
}

@media screen and (min-width: 429px) {
  .-sp {
    display: none;
  }
}
ront-text-1 .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .sub-title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .sub-title {
    font-size: 1.1rem;
  }
}

section.front .front-text-1 .ruby {
  margin-bottom: .5rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .ruby {
    font-size: .3rem;
    margin-bottom: 2.2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .ruby {
    margin-bottom: 3rem;
  }
}

section.front .front-text-1 .content {
  width: 90%;
  text-align: start;
  font-size: 1rem;
  margin: 0 auto;
  letter-spacing: .3em;
  line-height: 1.3;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content {
    font-size: .9rem;
    width: 60%;
    padding-bottom: 6.5rem;
    line-height: normal;
    letter-spacing: normal;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content {
    padding-bottom: 3rem;
    width: 65%;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content {
    padding-bottom: 6.5rem;
    width: 60%;
  }
}

section.front .front-text-1 .content p {
  margin-bottom: 1.4rem;
  font-size: 1rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content p {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-text-1 .content p {
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content p {
    margin-bottom: 2rem;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content p {
    margin-bottom: 2.2rem;
    font-size: .9rem;
  }
}

section.front .front-text-1 .content p:last-child {
  margin-bottom: 3rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content p:last-child {
    margin-bottom: 1.4rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content p:last-child {
    margin-bottom: 2rem;
  }
}

section.front .front-text-1 .content .sub-title {
  letter-spacing: .2em;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content .sub-title {
    font-size: 1rem;
  }
}

section.front .front-text-1 .content .ruby {
  margin-bottom: 2.2rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .content .ruby {
    margin-bottom: 7rem;
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-text-1 .content .ruby {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    margin-bottom: 5.5rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-text-1 .content .ruby {
    margin-bottom: 7rem;
  }
}

section.front .front-text-1 .photo-sp {
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-text-1 .photo-sp {
    display: none;
  }
}

section.front .front-photo-container-1 {
  background-color: #fff;
  padding-top: .8rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 {
    margin-bottom: 2.5rem;
    background-color: #fdf7f3;
    padding-bottom: 0;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-1 {
    margin-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-1 {
    margin-bottom: 3.5rem;
  }
}

section.front .front-photo-container-1 .front-text {
  width: 100%;
  font-size: .9rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text {
    width: 50%;
  }
}

section.front .front-photo-container-1 .front-text .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content {
    margin: 0 0 0 auto;
    padding-top: 2%;
    width: 85%;
  }
}

section.front .front-photo-container-1 .front-text .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-1 .front-text .content p {
  font-size: 1rem;
  margin: 1.8rem 0 0;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 1.2;
    width: 90%;
    margin: .8rem 0 0;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 1.5;
    margin: 1rem 0 0;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-1 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-1 .front-text .content p {
    line-height: 2;
    margin: 1.8rem 0 0;
    font-size: .9rem;
  }
}

section.front .front-photo-container-1 .front-photo {
  width: 100%;
  margin-top: 1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-photo {
    text-align: left;
    margin-top: 0;
    width: 50%;
  }
}

section.front .front-photo-container-1 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-1 .front-photo img {
    width: 80%;
  }
}

section.front .front-photo-container-2 {
  margin-bottom: 4rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 {
    margin-bottom: 7rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 {
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 {
    margin-bottom: 2rem;
  }
}

section.front .front-photo-container-2 .front-photo {
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-photo {
    text-align: right;
    width: 50%;
  }
}

section.front .front-photo-container-2 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 2rem;
    width: 80%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-photo img {
    margin-right: 2rem;
  }
}

section.front .front-photo-container-2 .front-text {
  display: none;
  width: 50%;
  margin-top: 6rem;
  font-size: .9rem;
  text-align: start;
  line-height: 1.7;
  padding-left: 1rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text {
    display: block;
    padding-left: 0;
    margin-top: 3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text {
    margin-top: 4.5rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-2 .front-text {
    font-size: 0.8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text {
    margin-top: 6rem;
    font-size: 0.9rem;
  }
}

section.front .front-photo-container-2 .front-text-sp {
  line-height: 1.7;
  margin: 0 auto 2.5rem;
  font-size: .7rem;
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text-sp {
    display: none;
  }
}

section.front .front-photo-container-2 .front-text-sp p {
  font-size: 1rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text-sp p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text-sp p {
    font-size: .9rem;
  }
}

section.front .front-photo-container-2 .front-text .content {
  width: 85%;
  margin: 0 auto 0 0;
}

section.front .front-photo-container-2 .front-text .content p {
  margin: 0 0 0 .8rem;
  font-size: .9rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 1.2;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 1.5;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-2 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-2 .front-text .content p {
    line-height: 2;
    font-size: .9rem;
  }
}

section.front .front-photo-container-3 {
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 {
    padding-top: 2.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 {
    padding-bottom: 3rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 {
    padding-bottom: 3rem;
  }
}

section.front .front-photo-container-3 .sub-title {
  letter-spacing: .2em;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .sub-title {
    font-size: 1.1rem;
  }
}

section.front .front-photo-container-3 .ruby {
  margin-bottom: 1rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 2rem;
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 1.5rem;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .ruby {
    margin-bottom: 2rem;
  }
}

section.front .front-photo-container-3 img {
  width: 100%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 img {
    width: 85%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 {
  margin-bottom: 2.5rem;
  background-color: #fdf7f3;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    padding-bottom: 0;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    margin-top: 4.5rem;
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 {
    margin-top: 6.5rem;
    margin-bottom: 3.5rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text {
  width: 100%;
  font-size: .9rem;
  text-align: center;
  display: none;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text {
    display: block;
    width: 50%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content {
    margin: 0 0 0 auto;
    padding-top: 2%;
    width: 85%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
  font-size: 1rem;
  margin: 0 0 .8rem;
  line-height: 2;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    width: 90%;
    font-size: .7rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    line-height: 1.5;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text .content p {
    line-height: 2;
    font-size: .9rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp {
  width: 100%;
  font-size: .9rem;
  text-align: center;
  letter-spacing: .1rem;
  margin-top: 2.5rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content {
  text-align: start;
  line-height: 1.7;
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content {
    margin: 0;
    padding-top: 2%;
    width: 100%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content .text-sp {
  display: block;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content .text-sp {
    display: none;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
  font-size: 1rem;
  margin: 0 0 1.5rem;
  line-height: 2.5;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    line-height: 2;
    font-size: .7rem;
    margin: 0 0 2.5rem 9.5rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    margin: 0 0 .8rem 6rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-text-sp .content p {
    font-size: .9rem;
    margin: 0 0 1.6rem 9.5rem;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo {
  width: 100%;
  margin-top: 2rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo {
    text-align: left;
    margin-top: 0;
    width: 50%;
  }
}

section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-3 .front-photo-container-3-2 .front-photo img {
    width: 80%;
  }
}

section.front .front-photo-container-4 {
  text-align: center;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 {
    padding-bottom: 6rem;
    text-align: left;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 {
    margin-bottom: 3rem;
    padding-bottom: 4.4rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 {
    margin-bottom: 4rem;
    padding-bottom: 6rem;
  }
}

section.front .front-photo-container-4 .front-photo {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-photo {
    text-align: right;
    width: 50%;
  }
}

section.front .front-photo-container-4 .front-photo img {
  width: 90%;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-photo img {
    width: 80%;
    margin-right: 2.5rem;
  }
}

section.front .front-photo-container-4 .front-text {
  letter-spacing: .1rem;
  margin: 1rem auto 0;
  width: 90%;
  line-height: 2.5;
  font-size: 1rem;
  padding-left: 0;
  text-align: start;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-text {
    line-height: 1.7;
    margin-top: 2rem;
    letter-spacing: normal;
    font-size: .7rem;
    width: 50%;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 3rem;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 4rem;
    font-size: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 .front-text {
    margin-top: 6rem;
    font-size: .9rem;
  }
}

section.front .front-photo-container-4 .front-text .content {
  width: 85%;
  margin: 0 auto 0 0;
}

section.front .front-photo-container-4 .front-text .content p {
  margin: 0 0 0 .8rem;
  padding-bottom: 1.7rem;
  line-height: 1.2;
}

@media screen and (min-width: 429px) {
  section.front .front-photo-container-4 .front-text .content p {
    padding-bottom: 1.5rem;
  }
}

@media screen and (min-width: 1440px) {
  section.front .front-photo-container-4 .front-text .content p {
    line-height: 1.5;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.front .front-photo-container-4 .front-text .content p {
    padding-bottom: 2rem;
  }
}

@media screen and (min-width: 1920px) {
  section.front .front-photo-container-4 .front-text .content p {
    line-height: 2;
    padding-bottom: 2.5rem;
  }
}

section.profile {
  position: relative;
}

@media screen and (min-width: 429px) {
  section.profile {
    background-color: #fff;
  }
}

section.profile .btn-goto-top {
  display: none;
}

@media screen and (min-width: 429px) {
  section.profile .btn-goto-top {
    display: block;
  }
}

section.profile .sub-title {
  letter-spacing: .2em;
  text-align: center;
  margin-bottom: 1.7rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .sub-title {
    margin-bottom: 5rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .sub-title {
    margin-bottom: 4rem;
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .sub-title {
    margin-bottom: 5rem;
    font-size: 1.2rem;
  }
}

section.profile .under {
  border-bottom: 0.8px solid #333;
  padding-bottom: 6px;
}

section.profile .profile-photo-container {
  margin-bottom: 3rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container {
    margin-bottom: 5rem;
    padding-top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container {
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container {
    margin-bottom: 5rem;
  }
}

section.profile .profile-photo-container .profile-photo {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-photo {
    width: 50%;
    text-align: right;
  }
}

section.profile .profile-photo-container .profile-photo img {
  width: 90%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 3rem 0 0;
    width: 75%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 4rem 0 0;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-photo img {
    margin: 0 4rem 0 0;
  }
}

section.profile .profile-photo-container .profile-text {
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text {
    text-align: left;
    margin-left: 0;
    width: 55%;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 0;
    width: 50%;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 1rem;
    width: 50%;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text {
    margin-left: 2.5rem;
    width: 50%;
  }
}

section.profile .profile-photo-container .profile-text .sub-title {
  margin: 1.5rem auto 1.8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .2em;
  text-align: center;
  width: 43%;
}

@media screen and (width: 320px) and (max-height: 568px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    width: 51%;
  }
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    width: 100%;
    margin: 2rem 0 1rem;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 2.5rem 0 1rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 2.5rem 0 1rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title {
    margin: 4rem 0 3rem;
  }
}

section.profile .profile-photo-container .profile-text .sub-title .ruby {
  padding-top: .3rem;
  font-size: 0.7rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title .ruby {
    font-size: .3rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .ruby {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}

section.profile .profile-photo-container .profile-text .sub-title .name-text {
  font-size: 1.2rem;
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .name-text {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title .name-text {
    font-size: 1.2rem;
  }
}

section.profile .profile-photo-container .profile-text .sub-title .position-text {
  font-size: 1rem;
  margin: .3rem  1.8rem auto 0;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.7rem auto 0;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.4rem auto 0;
    font-size: .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .sub-title .position-text {
    margin: auto  1.7rem auto 0;
    font-size: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography {
  display: none;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  text-align: left;
  width: 90%;
  margin: 0 auto;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography {
    display: block;
    margin: 0 0 0 -3.5%;
    width: 100%;
  }
}

section.profile .profile-photo-container .profile-text .biography h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .7rem;
    margin-bottom: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography h2 {
    font-size: .9rem;
    margin-bottom: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography p {
  font-size: 1.6rem;
  margin: 0 0 1.6rem 2rem;
  letter-spacing: .2em;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography p {
    margin: 0 0 .8rem;
    letter-spacing: normal;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography p {
    font-size: .6rem;
    margin: 0 0 .6rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography p {
    font-size: .8rem;
    margin: 0 0 .8rem;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic;
  text-align: left;
  width: 86%;
  margin: 0 auto;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp {
    display: none;
    margin: 0;
    width: 100%;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp .biography-sp-2 {
  margin-top: 1.8rem;
}

section.profile .profile-photo-container .profile-text .biography-sp h2 {
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    margin-bottom: 1rem;
    font-size: .9rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    font-size: .7rem;
    margin-bottom: .7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography-sp h2 {
    font-size: .9rem;
    margin-bottom: 1rem;
  }
}

section.profile .profile-photo-container .profile-text .biography-sp p {
  font-size: 0.7rem;
  line-height: 1.4;
  margin: 0 0 .6rem .4rem;
}

@media screen and (min-width: 429px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    margin: 0 0 .8rem 2rem;
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    font-size: .6rem;
    margin: 0 0 .6rem .8rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .profile-photo-container .profile-text .biography-sp p {
    font-size: .8rem;
    margin: 0 0 .8rem 2rem;
  }
}

section.profile .thoughts-text {
  padding-bottom: 2rem;
  padding-top: .5rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text {
    padding-bottom: 8.5rem;
    padding-top: 0;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text {
    padding-bottom: 7rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text {
    padding-bottom: 8.5rem;
  }
}

section.profile .thoughts-text .sub-title {
  letter-spacing: .2em;
  text-align: center;
  margin-bottom: 1.7rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .sub-title {
    margin-bottom: 2.6rem;
    font-size: 1.2rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text .sub-title {
    font-size: .9rem;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text .sub-title {
    font-size: 1.2rem;
  }
}

section.profile .thoughts-text .under {
  border-bottom: 0.8px solid #333;
  padding-bottom: 6px;
}

section.profile .thoughts-text .contents {
  display: none;
  margin: 3.7rem auto 0;
  text-align: start;
  line-height: 1.7;
  font-size: 1rem;
  width: 90%;
  letter-spacing: .2em;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents {
    display: block;
    letter-spacing: normal;
    margin: 0 auto;
    width: 50%;
    font-size: .9rem;
  }
}

@media screen and (min-width: 1440px) {
  section.profile .thoughts-text .contents {
    font-size: .8rem;
  }
}

@media screen and (width: 1366px) and (min-height: 768px) {
  section.profile .thoughts-text .contents {
    font-size: .7rem;
    width: 56%;
  }
}

@media screen and (min-width: 1920px) {
  section.profile .thoughts-text .contents {
    font-size: .9rem;
    width: 51%;
  }
}

section.profile .thoughts-text .contents p {
  margin-bottom: .7rem;
}

section.profile .thoughts-text .contents-sp {
  margin: 1.8rem auto 0;
  text-align: start;
  line-height: 1.7;
  font-size: 1rem;
  width: 88%;
  letter-spacing: .1em;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents-sp {
    display: none;
  }
}

section.profile .thoughts-text .contents-sp p {
  margin-bottom: 1.1rem;
}

@media screen and (min-width: 429px) {
  section.profile .thoughts-text .contents-sp p {
    margin-bottom: .7rem;
  }
}

section.application-sp {
  display: block;
  padding: 4rem 0 6rem;
  position: relative;
  font-size: 1.1rem;
  text-align: center;
}

@media screen and (min-width: 429px) {
  section.application-sp {
    display: none;
  }
}

section.application-sp p {
  margin-bottom: 1.2rem;
}

section.application-sp .btn-more {
  margin: 0 auto;
}

section.application-sp 