/* --------------------------------
 * Common Style
   -------------------------------- */
li {
  list-style: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

a {
  color: #F18900;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}
a.link__deco {
  border: 1px solid #F18900;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-left: auto;
  max-width: 124px;
  padding: 6px 12px 6px 24px;
  border-radius: 24px;
  color: #F18900;
  transition: 0.3s ease-in-out;
  font-weight: 500;
}
@media only screen and (min-width: 992px) {
  a.link__deco {
    padding: 10px 16px 10px 32px;
  }
}
a.link__deco:before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 1.25em;
  transform: translateY(calc(-50% + 2px)) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #F18900;
  border-right: 1px solid #F18900;
  transition: 0.3s;
}
a.link__deco:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -2.8em;
  transform: translateY(-50%);
  width: 64px;
  height: 1px;
  background-color: #F18900;
  transition: 0.3s;
}
a.link__deco:hover:before {
  left: 1.75em;
}
a.link__deco:hover:after {
  left: -2.3em;
}
a.link__deco:hover {
  text-decoration: underline;
}

.br-pc {
  display: none;
}
@media only screen and (min-width: 640px) {
  .br-pc {
    display: block;
  }
}

.br-sp {
  display: block;
}
@media only screen and (min-width: 640px) {
  .br-sp {
    display: none;
  }
}

::-moz-placeholder { /* Others */
  color: rgba(57, 51, 51, 0.4);
}

::placeholder { /* Others */
  color: rgba(57, 51, 51, 0.4);
}

input[type=file] {
  color: #393333;
}

::file-selector-button,
::-webkit-file-upload-button {
  margin-right: 8px;
  padding: 6px;
  background-color: rgba(152, 185, 189, 0.1);
  border: 1px solid #98B9BD;
  border-radius: 2px;
}

body {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  background-color: #FFFFFF;
  color: #251B1B;
}

.header {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: 72px;
  padding: 0px 16px;
  position: absolute;
  top: 0px;
  transition: all 0.3s;
}
@media only screen and (min-width: 640px) {
  .header {
    height: 90px;
    padding: 0px 20px;
  }
}
.header--scroll {
  position: fixed;
  height: 72px;
  width: 100%;
  background-color: #FFFFFF;
  top: 0px;
  left: 0px;
  z-index: 50;
}
@media only screen and (min-width: 640px) {
  .header--scroll {
    height: 90px;
  }
}
.header__logo {
  width: 144px;
  flex-shrink: 0;
  margin-right: 36px;
}
.header__logo img {
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .header__logo {
    width: 208px;
  }
}
.header .main-nav {
  display: none;
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .header .main-nav {
    display: block;
  }
}
.header .main-nav__list {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  padding: 16px 0px 0px;
}
.header .main-nav__item {
  margin-right: 24px;
}
.header .main-nav__item a {
  font-family: "Roboto";
  font-size: 20px;
  color: #251B1B;
  font-weight: 700;
}
.header .main-nav__item a:hover {
  text-decoration: underline;
}
.header .sns-nav {
  width: 100%;
  margin-right: 28px;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .header .sns-nav {
    margin-right: 32px;
  }
}
@media only screen and (min-width: 992px) {
  .header .sns-nav {
    width: auto;
    flex-shrink: 0;
    margin-right: 0;
  }
}
.header .sns-nav__list {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .header .sns-nav__list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    width: auto;
  }
}
.header .sns-nav__item {
  flex-shrink: 0;
  margin-right: 12px;
}
@media only screen and (min-width: 640px) {
  .header .sns-nav__item {
    margin-right: 15px;
  }
}
.header .sns-nav__item a:hover {
  opacity: 0.8;
}
.header .sns-nav__item img {
  height: 24px;
  width: 24px;
}
@media only screen and (min-width: 992px) {
  .header .sns-nav__item img {
    height: 32px;
    width: 32px;
  }
}
.header .sub-nav {
  display: none;
  width: 160px;
  flex-shrink: 0;
}
@media only screen and (min-width: 992px) {
  .header .sub-nav {
    display: block;
  }
}
.header .sub-nav__item a {
  width: 160px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  height: 40px;
  border-radius: 25px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid #251B1B;
  color: #251B1B;
  transition: all 0.3s;
}
.header .sub-nav__item a:hover {
  background-color: #F18900;
  border-color: #F18900;
  color: #FFFFFF;
  opacity: 0.8;
}
.header .sub-nav__item a:hover svg path {
  stroke: #FFFFFF;
}
.header .sub-nav__item a svg {
  margin-right: 6px;
  width: 24px;
  height: auto;
}
.header .sub-nav__item a svg path {
  stroke-width: 1;
  color: #251B1B;
  transition: all 0.3s;
}
.header .sub-nav__item img {
  margin-right: 6px;
  opacity: 0.6;
}

.openmenu {
  display: none;
  position: fixed;
  left: -100%;
  top: 0;
  width: 100%;
  min-height: 100%;
  background-color: #393333;
  color: #FFFFFF;
  padding: 0 16px;
  z-index: 101;
}
.openmenu__logo {
  width: 200px;
  margin: 24px auto 0px;
}
.openmenu__logo img {
  width: 100%;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .openmenu__logo {
    width: 240px;
  }
}
.openmenu__nav {
  margin-top: 24px;
}
.openmenu__nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.openmenu__nav__item {
  margin-top: 12px;
}
.openmenu__nav__item a {
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
}
.openmenu__contact {
  margin-top: 18px;
}
.openmenu__contact a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 180px;
  height: 40px;
  border-radius: 20px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  background-color: #F18900;
  margin: 0px auto;
}
.openmenu__contact a img {
  margin-right: 8px;
  opacity: 0.6;
}
.openmenu__textlink {
  margin-top: 12px;
  text-align: center;
}
.openmenu__textlink a {
  font-size: 16px;
  color: #FFFFFF;
  text-decoration: underline;
}
.openmenu__copy {
  font-size: 15px;
  margin-top: 12px;
  opacity: 0.4;
  text-align: center;
}

.openSidebarMenu {
  transition: all 0.3s;
  box-sizing: border-box;
  display: none;
}

.openSidebarMenu:checked ~ .openmenu {
  display: block;
  transition: all 0.1s;
  transform: translateX(100%);
}

.openSidebarMenu:checked ~ .sidebarIconToggle > .horizontal {
  transition: all 0.3s;
  box-sizing: border-box;
  opacity: 0;
}

.openSidebarMenu:checked ~ .sidebarIconToggle > .diagonal.part-1 {
  transition: all 0.3s;
  box-sizing: border-box;
  transform: rotate(135deg);
  margin-top: 10px;
}

.openSidebarMenu:checked ~ .sidebarIconToggle > .diagonal.part-2 {
  transition: all 0.3s;
  box-sizing: border-box;
  transform: rotate(-135deg);
  margin-top: -11px;
}

.sidebarIconToggle {
  transition: all 0.3s;
  box-sizing: border-box;
  cursor: pointer;
  position: absolute;
  z-index: 105;
  height: 100%;
  width: 100%;
  top: 27px;
  right: 18px;
  height: 24px;
  width: 24px;
  display: none;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .sidebarIconToggle {
    top: 35px;
    right: 26px;
  }
}

@media only screen and (max-width: 639.99px) {
  .sidebarIconToggle {
    display: block;
  }
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .sidebarIconToggle {
    display: block;
  }
}
.sidebarIconToggle .spinner {
  transition: all 0.3s;
  box-sizing: border-box;
  position: absolute;
  height: 3px;
  border-radius: 2px;
  width: 100%;
  background-color: #251B1B;
}

.openSidebarMenu:checked ~ .sidebarIconToggle {
  position: fixed;
}

.openSidebarMenu:checked ~ .sidebarIconToggle .spinner {
  background-color: #FFFFFF;
}

.sidebarIconToggle .horizontal {
  transition: all 0.3s;
  box-sizing: border-box;
  position: relative;
  float: left;
  margin-top: 5px;
}

.sidebarIconToggle .diagonal.part-1 {
  position: relative;
  transition: all 0.3s;
  box-sizing: border-box;
  float: left;
}

.sidebarIconToggle .diagonal.part-2 {
  transition: all 0.3s;
  box-sizing: border-box;
  position: relative;
  float: left;
  margin-top: 5px;
}

.container {
  padding-top: 72px;
  width: 100%;
}
@media only screen and (min-width: 640px) {
  .container {
    padding-top: 90px;
  }
}

.subpage {
  background: url("/img/sub_bg.jpg") no-repeat 0 0;
  background-size: auto 180px;
  padding-top: 72px;
}
@media only screen and (min-width: 992px) {
  .subpage {
    padding-top: 108px;
    background-size: 100% auto;
  }
}

.hero {
  width: 100%;
  height: 371px;
  position: relative;
  padding-top: 9px;
  margin-top: -9px;
  overflow: hidden;
}
@media only screen and (min-width: 640px) {
  .hero {
    height: 710px;
    padding-top: 16px;
    margin-top: -16px;
  }
}
.hero__wrapper {
  position: relative;
  width: 100%;
  top: -9px;
}
@media only screen and (min-width: 640px) {
  .hero__wrapper {
    top: -16px;
    padding: 0 24px;
    max-width: 1200px;
    margin: 0 auto;
  }
}
.hero__title {
  position: absolute;
  left: 16px;
  top: 96px;
  width: 56vw;
  max-width: 480px;
  z-index: 33;
}
@media only screen and (min-width: 640px) {
  .hero__title {
    left: 0px;
    top: 190px;
  }
}
.hero__title img {
  width: 100%;
}
.hero__photo {
  position: absolute;
  top: 0px;
  right: -44px;
  z-index: 32;
  overflow-x: hidden;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .hero__photo {
    right: -72px;
  }
}
@media only screen and (min-width: 992px) {
  .hero__photo {
    right: 0px;
  }
}
.hero__photo img {
  height: 370px;
}
@media only screen and (min-width: 640px) {
  .hero__photo img {
    height: 710px;
  }
}
.hero__bg {
  position: absolute;
  z-index: 31;
  top: 9px;
  left: 0px;
  height: 320px;
}
@media only screen and (min-width: 640px) {
  .hero__bg {
    height: 600px;
    top: 16px;
  }
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .hero__bg {
    left: 16%;
  }
}
@media only screen and (min-width: 992px) {
  .hero__bg {
    left: 25%;
  }
}
.hero__bg img {
  height: 100%;
}

.section {
  margin-top: 80px;
}
.section--subpage {
  background-color: #FFFFFF;
  margin: 0px 8px;
  padding: 56px 8px 0px;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .section--subpage {
    max-width: 620px;
    margin: 0px auto;
  }
}
@media only screen and (min-width: 992px) {
  .section--subpage {
    max-width: 1025px;
    margin: 0px auto;
  }
}
.section__title {
  text-align: center;
}
.section__title__en {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media only screen and (min-width: 640px) {
  .section__title__en {
    font-size: 44px;
  }
}
.section__title__en::first-letter {
  color: #F18900;
}
.section__title__jp {
  font-size: 13px;
  letter-spacing: 0.16em;
  margin-top: 8px;
  line-height: 1;
}
@media only screen and (min-width: 640px) {
  .section__title__jp {
    font-size: 14px;
  }
}

@media only screen and (max-width: 639.99px) {
  .topinfo__wrapper {
    margin-top: 56px;
    padding: 0 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 640px) {
  .topinfo__wrapper {
    margin-top: 40px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
  }
}
.topinfo__container {
  background-color: rgba(152, 185, 189, 0.1);
  width: 100%;
  margin: 0px auto;
  padding: 0px 8px 12px;
}
@media only screen and (max-width: 639.99px) {
  .topinfo__container--news {
    margin: 48px 0px 0px 0px;
  }
}
@media only screen and (min-width: 640px) {
  .topinfo__container {
    padding: 0px 24px 16px;
  }
  .topinfo__container--media {
    flex-shrink: 5;
    margin: 0px 40px 0px 0px;
  }
  .topinfo__container--news {
    flex-shrink: 4;
  }
}
.topinfo__title {
  margin-top: -12px;
  line-height: 1;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .topinfo__title {
    margin-top: -16px;
    font-size: 26px;
  }
}
.topinfo__list {
  margin-top: 12px;
}
@media only screen and (min-width: 640px) {
  .topinfo__list {
    margin-top: 32px;
  }
}
.topinfo__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  padding: 12px 0px 12px 0px;
  border-bottom: 1px solid #98B9BD;
}
@media only screen and (min-width: 640px) {
  .topinfo__item {
    padding: 16px 0px 16px 0px;
  }
}
.topinfo__label {
  width: 72px;
  height: 18px;
  flex-shrink: 0;
  margin-right: 12px;
  background-color: #F18900;
  color: #FFFFFF;
  line-height: 18px;
  font-size: 11px;
  text-align: center;
  border-radius: 16px;
}
@media only screen and (min-width: 640px) {
  .topinfo__label {
    width: 94px;
    height: 24px;
    margin-right: 20px;
    line-height: 24px;
    font-size: 14px;
  }
}
.topinfo__text {
  line-height: 1.3;
  font-size: 14px;
}
@media only screen and (min-width: 640px) {
  .topinfo__text {
    font-size: 16px;
  }
}
.topinfo__text span {
  color: #0095B4;
  font-size: 14px;
  font-weight: 700;
  display: block;
  padding-bottom: 4px;
}
@media only screen and (min-width: 640px) {
  .topinfo__text span {
    font-size: 15px;
  }
}
.topinfo__text span.topinfo__regular {
  color: #F18900;
}
.topinfo__more {
  margin-top: 12px;
}
@media only screen and (min-width: 640px) {
  .topinfo__more {
    margin-top: 16px;
  }
}
.topinfo__news {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background: url("/img/ic_bullet.svg") no-repeat 99% 50%;
  border-bottom: 1px solid #98B9BD;
  padding: 16px 24px 16px 0px;
  line-height: 1.2;
  color: #251B1B;
}
@media only screen and (min-width: 640px) {
  .topinfo__news {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    padding: 20px 32px 20px 8px;
  }
}
.topinfo__news__date {
  color: #0095B4;
  margin-right: 20px;
  font-weight: 700;
  font-size: 15px;
}
@media only screen and (min-width: 640px) {
  .topinfo__news__date {
    font-size: 17px;
  }
}
.topinfo__news__link {
  font-size: 14px;
  text-decoration: underline;
}
@media only screen and (max-width: 639.99px) {
  .topinfo__news__link {
    margin-top: 4px;
  }
}
@media only screen and (min-width: 640px) {
  .topinfo__news__link {
    font-size: 16px;
  }
}

.profile__wrapper {
  margin-top: 36px;
}
@media only screen and (min-width: 992px) {
  .profile__wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
  }
}
.profile__photo {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  text-align: center;
  background: url("/img/profile_bg.jpg") no-repeat 50% 24px;
  background-size: 100% auto;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .profile__photo {
    width: 440px;
    flex-shrink: 0;
    margin-right: 40px;
    background-size: 440px auto;
  }
}
.profile__photo__slider img {
  height: 320px;
}
@media only screen and (min-width: 992px) {
  .profile__photo__slider img {
    height: 464px;
  }
}
.profile__photo .swiper-pagination-bullet-active {
  background-color: #F18900;
}
.profile__contents {
  width: 100%;
  padding: 0px 12px;
  margin-top: 20px;
}
@media only screen and (min-width: 992px) {
  .profile__contents {
    padding: 0px;
    margin: 20px 0px 0px;
  }
}
.profile__position {
  font-size: 14px;
  color: #393333;
}
@media only screen and (min-width: 640px) {
  .profile__position {
    font-size: 16px;
  }
}
.profile__name {
  font-size: 32px;
  font-weight: 700;
  margin-top: 8px;
  line-height: 35px;
}
@media only screen and (min-width: 640px) {
  .profile__name {
    font-size: 39px;
    line-height: 39px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
  }
}
.profile__name span {
  font-size: 21px;
  font-weight: 400;
  color: #393333;
  padding-left: 8px;
  vertical-align: 4px;
}
@media only screen and (min-width: 640px) {
  .profile__name span {
    font-size: 18px;
    padding-left: 12px;
    vertical-align: 0px;
  }
}
.profile__affiliation {
  margin-top: 12px;
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #98B9BD;
  border-radius: 2px;
  font-size: 13px;
}
@media only screen and (min-width: 640px) {
  .profile__affiliation {
    font-size: 15px;
  }
}
.profile__affiliation a {
  color: #98B9BD;
}
.profile__affiliation img {
  height: 26px;
  margin-right: 12px;
}
.profile__affiliation span {
  line-height: 26px;
}
@media only screen and (min-width: 640px) {
  .profile__affiliation span {
    font-size: 16px;
  }
}
.profile__text {
  margin-top: 18px;
  background: url("/img/profile_biography.png") no-repeat 0 0;
  background-size: 10px auto;
  padding-left: 18px;
}
@media only screen and (min-width: 640px) {
  .profile__text {
    background-size: 12px auto;
    margin-top: 24px;
    padding-left: 24px;
  }
}
.profile__text p {
  border-left: 1px solid #98B9BD;
  padding: 24px 12px 0px 16px;
  line-height: 1.6;
  font-size: 14px;
  color: #393333;
}
@media only screen and (min-width: 640px) {
  .profile__text p {
    font-size: 16px;
  }
}
.profile__text p:first-of-type {
  padding-top: 0px;
}
.profile__post {
  margin-top: 18px;
  background: url("/img/profile_post.png") no-repeat 0 0;
  background-size: 10px auto;
  padding-left: 18px;
}
@media only screen and (min-width: 640px) {
  .profile__post {
    background-size: 12px auto;
    margin-top: 24px;
    padding-left: 24px;
  }
}
.profile__post li {
  border-left: 1px solid #98B9BD;
  padding: 8px 12px 2px 16px;
  line-height: 1.2;
  font-size: 13px;
  color: #393333;
}
.profile__post li:first-of-type {
  padding-top: 2px;
}
@media only screen and (min-width: 640px) {
  .profile__post li {
    font-size: 14px;
  }
}
.profile__sponsor {
  margin: 24px 0px 0px 32px;
}
@media only screen and (min-width: 640px) {
  .profile__sponsor {
    margin-left: 40px;
  }
}
.profile__sponsor__item h4 {
  font-size: 14px;
  font-weight: 700;
}
@media only screen and (min-width: 640px) {
  .profile__sponsor__item h4 {
    font-size: 14px;
  }
}
.profile__sponsor__item span {
  display: inline-block;
  border: 1px solid #98B9BD;
  margin-top: 6px;
  padding: 10px 20px;
  border-radius: 2px;
}
@media only screen and (min-width: 640px) {
  .profile__sponsor__item span {
    padding: 12px 24px;
  }
}
.profile__sponsor__item span img {
  height: 40px;
}
.profile__subwrapper {
  margin-top: 56px;
  padding: 0 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media only screen and (min-width: 992px) {
  .profile__subwrapper {
    margin-top: 80px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
  }
}
.profile__section {
  background-color: rgba(152, 185, 189, 0.1);
  width: 100%;
  margin: 0px auto;
  padding: 0px 8px;
}
.profile__section--result {
  margin: 40px auto 0px auto;
}
@media only screen and (min-width: 992px) {
  .profile__section--result {
    margin: 0px auto;
  }
}
@media only screen and (min-width: 992px) {
  .profile__section {
    padding: 0px 24px;
  }
  .profile__section--book {
    flex-shrink: 5;
    margin: 0px 40px 0px 0px;
    max-width: 560px;
  }
  .profile__section--result {
    flex-shrink: 4;
  }
}
.profile__section__title {
  margin-top: -12px;
  line-height: 1;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .profile__section__title {
    font-size: 26px;
    margin-top: -16px;
  }
}
.profile__books {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  padding: 24px 4px 24px;
}
.profile__book {
  text-align: center;
  padding: 0px 8px;
}
@media only screen and (min-width: 640px) {
  .profile__book {
    padding: 0px 12px;
  }
}
.profile__book a {
  font-size: 13px;
  color: #393333;
}
@media only screen and (min-width: 640px) {
  .profile__book a {
    font-size: 14px;
  }
}
.profile__book img {
  height: 160px;
  width: auto;
}
@media only screen and (min-width: 640px) {
  .profile__book img {
    height: 200px;
  }
}
.profile__book h4 {
  font-size: 14px;
  font-weight: 700;
  margin-top: 6px;
  line-height: 1.2;
  color: #251B1B;
}
@media only screen and (min-width: 640px) {
  .profile__book h4 {
    font-size: 15px;
  }
}
@media only screen and (min-width: 640px) {
  .profile__results {
    font-size: 16px;
  }
}
.profile__index {
  display: grid;
  grid-template-columns: 54px 1fr 1fr;
  grid-auto-rows: auto;
  margin-top: 24px;
}
@media only screen and (min-width: 640px) {
  .profile__index {
    grid-template-columns: 80px 3fr 4fr;
  }
}
.profile__index__item {
  background-color: #0095B4;
  color: #FFFFFF;
  height: 28px;
  text-align: center;
  border-radius: 16px;
  line-height: 28px;
  font-size: 13px;
}
@media only screen and (min-width: 640px) {
  .profile__index__item {
    height: 32px;
    line-height: 32px;
    font-size: 14px;
  }
}
.profile__index__item--2 {
  margin-left: 8px;
}
.profile__index__item--3 {
  margin-left: 8px;
}
.profile__scroll {
  margin: 8px 0px;
  max-height: 320px;
  overflow-y: scroll;
}
.profile__result {
  display: grid;
  grid-template-columns: 48px 1fr 1fr;
  grid-auto-rows: auto;
  border-bottom: 1px solid #98B9BD;
  padding: 14px 4px 14px 4px;
}
@media only screen and (min-width: 640px) {
  .profile__result {
    padding: 18px 4px 18px 4px;
    grid-template-columns: 80px 3fr 4fr;
  }
}
.profile__result:last-of-type {
  border: none;
}
.profile__result__item {
  color: #393333;
  font-size: 13px;
  line-height: 1.25;
}
@media only screen and (min-width: 640px) {
  .profile__result__item {
    font-size: 15px;
  }
}
.profile__result__item--1 {
  text-align: center;
}
.profile__result__item--2 {
  padding: 0px 12px 0px 16px;
}
.profile__result__item--3 {
  padding: 0px 12px 0px 16px;
}

.topblog__slider {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  margin-top: 40px;
  flex-wrap: wrap;
  overflow: hidden;
}
@media only screen and (min-width: 640px) {
  .topblog__slider {
    margin-top: 40px;
  }
}
.topblog__slider .swiper-wrapper {
  overflow: visible;
  padding: 12px 0 0;
}
@media only screen and (min-width: 992px) {
  .topblog__slider .swiper-wrapper {
    padding: 12px 0 0;
  }
}
.topblog__item {
  padding: 8px 12px;
  position: relative;
  background-color: rgba(152, 185, 189, 0.1);
}
.topblog__item.swiper-slide {
  width: 240px;
}
.topblog__item.swiper-slide:last-of-type {
  margin-right: 16px;
}
.topblog__item.swiper-slide:first-of-type {
  margin-left: 16px;
}
@media only screen and (min-width: 992px) {
  .topblog__item.swiper-slide:first-of-type {
    margin-left: 120px;
  }
}
@media only screen and (min-width: 640px) {
  .topblog__item.swiper-slide {
    width: 320px;
  }
}
@media only screen and (min-width: 640px) {
  .topblog__item {
    width: 320px;
    padding: 12px 16px;
  }
}
.topblog__item:first-of-type {
  background-color: rgba(241, 137, 0, 0.1);
}
.topblog__item:first-of-type::before {
  content: "NEW";
  color: #F18900;
  position: absolute;
  right: 16px;
  top: -12px;
  font-size: 20px;
  font-weight: 700;
}
@media only screen and (min-width: 640px) {
  .topblog__item:first-of-type::before {
    font-size: 24px;
  }
}
.topblog__item:first-of-type .topblog__date {
  color: #F18900;
}
.topblog__date {
  font-size: 15px;
  color: #0095B4;
}
@media only screen and (min-width: 640px) {
  .topblog__date {
    font-size: 16px;
  }
}
.topblog__title {
  margin-top: 8px;
  line-height: 1.2;
}
.topblog__title a {
  color: #251B1B;
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (min-width: 640px) {
  .topblog__title a {
    font-size: 20px;
  }
}
.topblog__text {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.66;
}
.topblog__link {
  display: block;
  margin-top: 12px;
  text-align: right;
  color: #0095B4;
  font-size: 15px;
}
@media only screen and (min-width: 640px) {
  .topblog__link {
    font-size: 16px;
  }
}

.instagram__container {
  margin-top: 40px;
  background: linear-gradient(101deg, #E8D31A 2.38%, #E39177 97.38%);
  padding: 40px 12px;
}
.instagram__list {
  max-width: 1024px;
  margin: 0px auto;
}
.instagram__link {
  margin-top: 32px;
}
@media only screen and (min-width: 640px) {
  .instagram__link {
    margin-top: 20px;
  }
}
.instagram__link a {
  background-color: #FFFFFF;
  color: #251B1B;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 300px;
  height: 64px;
  margin: 0 auto;
  border-radius: 4px;
}
@media only screen and (min-width: 640px) {
  .instagram__link a {
    width: 360px;
    height: 72px;
  }
}
.instagram__image {
  margin-right: 8px;
}
@media only screen and (min-width: 640px) {
  .instagram__image {
    margin-right: 12px;
  }
}
.instagram__image img {
  width: 40px;
}
@media only screen and (min-width: 640px) {
  .instagram__image img {
    width: 48px;
  }
}
.instagram__name {
  font-weight: 700;
  font-size: 14px;
  margin-right: 12px;
}
@media only screen and (min-width: 640px) {
  .instagram__name {
    font-size: 15px;
    margin-right: 24px;
  }
}
.instagram__follow {
  background-color: #F18900;
  color: #FFFFFF;
  border-radius: 24px;
  padding: 8px 12px;
  font-weight: 700;
  font-size: 13px;
}
@media only screen and (min-width: 640px) {
  .instagram__follow {
    padding: 12px 16px;
    font-size: 14px;
  }
}

.contact {
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 639.99px) {
  .contact {
    padding: 0 12px;
  }
}
.contact__text {
  margin-top: 56px;
  font-size: 15px;
}
@media only screen and (min-width: 640px) {
  .contact__text {
    font-size: 16px;
  }
}
.contact__item {
  margin-top: 24px;
}
.contact__item:first-of-type {
  margin-top: 48px;
}
.contact__title {
  font-size: 15px;
}
@media only screen and (min-width: 640px) {
  .contact__title {
    font-size: 16px;
  }
}
.contact__require {
  display: inline-block;
  background-color: #0095B4;
  color: #FFFFFF;
  margin-left: 4px;
  padding: 1px 4px;
  border-radius: 2px;
  font-size: 13px;
}
.contact__input {
  margin-top: 6px;
}
.contact__input__text {
  display: block;
  width: 100%;
  border: 1px solid #98B9BD;
  padding: 8px 6px;
  border-radius: 2px;
  font-size: 16px;
}
.contact__input__textarea {
  display: block;
  width: 100%;
  height: 120px;
  border: 1px solid #98B9BD;
  padding: 8px 6px;
  border-radius: 2px;
  font-size: 16px;
}
.contact__input__checkbox {
  margin-right: 8px;
}
.contact__agree {
  margin-top: 24px;
}
@media only screen and (min-width: 640px) {
  .contact__agree {
    text-align: center;
  }
}
.contact__button {
  display: block;
  width: 270px;
  height: 64px;
  border-radius: 32px;
  background-color: #F18900;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 22px;
  margin: 16px auto 0;
}
.contact__button:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.contact__button:disabled {
  opacity: 0.5;
}
.contact__recaptcha {
  margin-top: 24px;
  background-color: rgba(152, 185, 189, 0.1);
  padding: 12px;
  color: rgba(57, 51, 51, 0.4);
  font-size: 12px;
}
@media only screen and (min-width: 640px) {
  .contact__recaptcha {
    padding: 16px;
    font-size: 13px;
  }
}

.footer {
  margin-top: 120px;
  padding-bottom: 40px;
  background-color: #393333;
  color: #FFFFFF;
}
.footer__logo {
  padding-top: 40px;
  text-align: center;
}
.footer__logo img {
  height: 80px;
}
@media only screen and (min-width: 640px) {
  .footer__logo img {
    height: 92px;
  }
}
.footer__description {
  text-align: center;
  color: #AAA;
  font-size: 14px;
  max-width: 804px;
  padding: 0 12px;
  margin: 24px auto 0;
}
@media only screen and (min-width: 640px) {
  .footer__description {
    font-size: 15px;
  }
}
.footer__wrapper {
  margin: 40px auto 0;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0px 12px;
}
@media only screen and (min-width: 992px) {
  .footer__wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    padding: 0px;
  }
}
.footer__company {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .footer__company {
    width: 350px;
    flex-shrink: 0;
  }
}
.footer__company dl {
  border-bottom: 1px solid rgba(217, 217, 217, 0.1);
  margin-bottom: 12px;
  padding-bottom: 8px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  line-height: 1.2;
}
.footer__company dt {
  width: 72px;
  flex-shrink: 0;
  opacity: 0.4;
}
.footer__company dd {
  width: 100%;
  opacity: 0.7;
}
.footer__content {
  width: 100%;
  margin-top: 12px;
}
@media only screen and (min-width: 992px) {
  .footer__content {
    margin: 0px 0px 0px 36px;
  }
}
.footer__contact {
  margin-top: 12px;
}
@media only screen and (min-width: 992px) {
  .footer__contact {
    margin-top: 16px;
  }
}
.footer__contact a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 160px;
  height: 40px;
  border-radius: 20px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  background-color: #F18900;
  margin: 0px auto;
}
@media only screen and (min-width: 992px) {
  .footer__contact a {
    margin: 0px;
  }
}
.footer__contact a img {
  margin-right: 8px;
  opacity: 0.6;
}
.footer__textlink {
  margin-top: 12px;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .footer__textlink {
    margin-top: 16px;
    text-align: left;
  }
}
.footer__textlink a {
  font-size: 16px;
  color: #FFFFFF;
  text-decoration: underline;
}
.footer__copy {
  font-size: 15px;
  margin-top: 12px;
  opacity: 0.4;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .footer__copy {
    margin-top: 16px;
    text-align: left;
  }
}

.footer-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
@media only screen and (min-width: 640px) and (max-width: 991.99px) {
  .footer-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 992px) {
  .footer-nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
  }
}
.footer-nav__list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  flex-wrap: wrap;
}
@media only screen and (min-width: 992px) {
  .footer-nav__list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
  }
}
.footer-nav__item {
  margin: 0px 12px 8px;
}
@media only screen and (min-width: 640px) {
  .footer-nav__item {
    margin: 0px 20px 0px 0px;
  }
}
.footer-nav__item a {
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
}
@media only screen and (min-width: 640px) {
  .footer-nav__item a {
    font-size: 20px;
  }
}
.footer-nav__item a img {
  width: 28px;
  height: 28px;
}
.footer-nav__sns {
  margin-top: 8px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
@media only screen and (min-width: 640px) {
  .footer-nav__sns {
    margin-top: 0px;
  }
}

/* ----------------
INFO PAGE
-----------------*/
.info__menu {
  max-width: 736px;
  margin: 40px auto 0px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.info__menu__item {
  width: 100%;
  margin-right: 8px;
}
@media only screen and (min-width: 640px) {
  .info__menu__item {
    margin-right: 20px;
  }
}
.info__menu__item:last-of-type {
  margin-right: 0px;
  margin-left: 8px;
}
@media only screen and (min-width: 640px) {
  .info__menu__item:last-of-type {
    margin-right: 0px;
    margin-left: 20px;
  }
}
.info__menu__item a {
  display: block;
  background-color: #FFFFFF;
  border: 1px solid #0095B4;
  color: #0095B4;
  padding: 4px;
  font-size: 15px;
  text-align: center;
  border-radius: 20px;
}
@media only screen and (min-width: 640px) {
  .info__menu__item a {
    font-size: 17px;
  }
}
.info__menu__item--active a {
  background-color: #0095B4;
  color: #FFFFFF;
}
.info__list {
  max-width: 736px;
  margin: 16px auto 0px;
}
@media only screen and (min-width: 640px) {
  .info__list {
    margin-top: 32px;
  }
}
.info__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  padding: 12px 0px 12px 0px;
  border-bottom: 1px solid #98B9BD;
}
@media only screen and (min-width: 640px) {
  .info__item {
    padding: 16px 0px 16px 0px;
  }
}
.info__label {
  width: 72px;
  height: 18px;
  flex-shrink: 0;
  margin-right: 12px;
  background-color: #F18900;
  color: #FFFFFF;
  line-height: 18px;
  font-size: 11px;
  text-align: center;
  border-radius: 16px;
}
@media only screen and (min-width: 640px) {
  .info__label {
    width: 94px;
    height: 24px;
    margin-right: 20px;
    line-height: 24px;
    font-size: 14px;
  }
}
.info__text {
  line-height: 1.3;
  font-size: 14px;
}
@media only screen and (min-width: 640px) {
  .info__text {
    font-size: 16px;
  }
}
.info__text span {
  color: #0095B4;
  font-size: 14px;
  font-weight: 700;
  display: block;
  padding-bottom: 4px;
}
@media only screen and (min-width: 640px) {
  .info__text span {
    font-size: 15px;
  }
}
.info__text span.info__regular {
  color: #F18900;
}
.info__news {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background: url("/img/ic_bullet.svg") no-repeat 99% 50%;
  border-bottom: 1px solid #98B9BD;
  padding: 16px 24px 16px 0px;
  line-height: 1.2;
  color: #251B1B;
}
@media only screen and (min-width: 640px) {
  .info__news {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    padding: 20px 32px 20px 8px;
  }
}
.info__news__date {
  color: #0095B4;
  margin-right: 20px;
  font-weight: 700;
  font-size: 15px;
}
@media only screen and (min-width: 640px) {
  .info__news__date {
    font-size: 17px;
  }
}
.info__news__link {
  font-size: 14px;
  text-decoration: underline;
}
@media only screen and (max-width: 639.99px) {
  .info__news__link {
    margin-top: 4px;
  }
}
@media only screen and (min-width: 640px) {
  .info__news__link {
    font-size: 16px;
  }
}
.info__detail {
  max-width: 736px;
  margin: 24px auto 0px;
}
@media only screen and (min-width: 640px) {
  .info__detail {
    margin-top: 40px;
  }
}
.info__detail__date {
  color: #0095B4;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (min-width: 640px) {
  .info__detail__date {
    font-size: 17px;
  }
}
.info__detail__title {
  margin-top: 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (min-width: 640px) {
  .info__detail__title {
    font-size: 20px;
  }
}
.info__detail__body {
  margin-top: 20px;
  font-size: 14px;
}
@media only screen and (min-width: 640px) {
  .info__detail__body {
    font-size: 16px;
  }
}
.info__detail__body img {
  max-width: 720px;
}
.info__detail__body p {
  padding-bottom: 24px;
}
.info__detail__back {
  border-top: 1px solid #98B9BD;
  padding-top: 24px;
}
.info__detail__back a.link__deco {
  color: #0095B4;
  border-color: #0095B4;
  margin-right: auto;
}
.info__detail__back a.link__deco:before {
  border-color: #0095B4;
}
.info__detail__back a.link__deco:after {
  background-color: #0095B4;
}
.info__past {
  max-width: 736px;
  margin: 24px auto 0px;
}
@media only screen and (min-width: 640px) {
  .info__past {
    margin-top: 40px;
  }
}
.info__past__title {
  font-size: 18px;
  font-weight: 700;
}
.info__past__item {
  display: grid;
  grid-template-columns: 64px 1fr;
  grid-auto-rows: auto;
}
.info__past__year {
  margin-top: 20px;
  color: #0095B4;
  font-size: 16px;
}
.info__past__list ul {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  flex-wrap: wrap;
  margin-top: 20px;
}
.info__past__list ul li {
  font-size: 14px;
  line-height: 1.8;
  color: #393333;
  margin-right: 4px;
}
.info__past__list ul li::after {
  content: "/";
  color: rgba(57, 51, 51, 0.4);
  margin-right: 4px;
}
.info__past__list ul li:last-of-type::after {
  display: none;
}

/* ----------------
PAGINATION
-----------------*/
.pager {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 24px;
}
.pager .page-numbers {
  display: block;
  color: #FFFFFF;
  background-color: #0095B4;
  width: 29px;
  height: 29px;
  line-height: 29px;
  margin: 0 4px 8px;
  border-radius: 15px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
.pager .page-numbers + .dots {
  background: none;
  color: #0095B4;
  margin: 0 1px 8px;
  width: 12px;
}
.pager .current {
  opacity: 0.5;
}
.pager .next,
.pager .prev {
  color: #0095B4;
  width: auto;
  font-size: 13px;
  background: none;
}

/* ----------------
PRIVACY PAGE
-----------------*/
.privacy__intro {
  max-width: 736px;
  margin: 32px auto 0px;
}
@media only screen and (min-width: 640px) {
  .privacy__intro {
    margin-top: 48px;
  }
}
.privacy__list {
  max-width: 736px;
  margin: 24px auto 0px;
}
@media only screen and (min-width: 640px) {
  .privacy__list {
    margin-top: 40px;
  }
}
.privacy__menu {
  margin-top: 32px;
  font-size: 18px;
  font-weight: 700;
  color: #0095B4;
}
.privacy__text {
  margin-top: 16px;
}
.privacy__text p {
  padding-bottom: 16px;
  line-height: 1.66;
  color: #393333;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-acceptance .wpcf7-list-item {
  background-color: rgba(152, 185, 189, 0.1);
  border-radius: 4px;
  margin: 0;
}
.wpcf7-acceptance .wpcf7-list-item:hover {
  opacity: 0.8;
}
.wpcf7-acceptance .wpcf7-list-item label {
  display: inline-block;
  padding: 12px;
  cursor: pointer;
}

.contact .wpcf7 form .wpcf7-response-output {
  background-color: rgba(57, 51, 51, 0.1);
  border: none;
  margin: 16px 0px 0px 0px;
  padding: 16px;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  color: #E72431;
}

.grecaptcha-badge {
  visibility: hidden;
}/*# sourceMappingURL=style.css.map */