@charset "UTF-8";
/* ========================================
  RESET & NORMALIZE (2025最新版)
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

body {
  position: relative;
  margin: 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #000;
  background-color: #fff;
  letter-spacing: 0.1em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; }

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto; }

img {
  width: 100%; }

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  outline: none; }

button {
  cursor: pointer;
  appearance: none; }

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0; }

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0; }

a {
  color: inherit;
  text-decoration: none;
  background-color: transparent; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

address {
  font-style: normal; }

strong {
  font-weight: bold; }

[hidden] {
  display: none !important; }

body {
  overflow-x: hidden; }

.wrap {
  position: relative;
  max-width: 39.3rem;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background-color: #fff; }
  @media screen and (max-width: 820px) {
    .wrap {
      max-width: none; } }
  @media screen and (max-width: 430px) {
    .wrap {
      max-width: none; } }

.is-og {
  display: none; }
  @media screen and (max-width: 820px) {
    .is-og {
      display: block; } }
  @media screen and (max-width: 430px) {
    .is-og {
      display: none; } }

.is-sp {
  display: block; }
  @media screen and (max-width: 820px) {
    .is-sp {
      display: none; } }
  @media screen and (max-width: 430px) {
    .is-sp {
      display: block; } }

.c_container {
  position: relative;
  max-width: 39.3rem;
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }
  @media screen and (max-width: 820px) {
    .c_container {
      max-width: none; } }
  @media screen and (max-width: 430px) {
    .c_container {
      max-width: none; } }

.hamburger {
  position: absolute;
  top: 3.0rem;
  right: 2.0rem;
  width: 27px;
  height: 27px;
  z-index: 1002;
  border: none;
  background: transparent;
  cursor: pointer; }
  .hamburger span {
    position: absolute;
    display: block;
    width: 100%;
    height: 3px;
    background-color: #1A447B;
    transition: 0.3s; }
    .hamburger span:nth-child(1) {
      top: 0; }
    .hamburger span:nth-child(2) {
      top: 50%;
      margin-top: -1.5px; }
    .hamburger span:nth-child(3) {
      top: 50%;
      margin-top: -1.5px; }
    .hamburger span:nth-child(4) {
      bottom: 0; }
  .hamburger.is-active span:nth-child(1) {
    opacity: 0; }
  .hamburger.is-active span:nth-child(2) {
    transform: rotate(45deg); }
  .hamburger.is-active span:nth-child(3) {
    transform: rotate(-45deg); }
  .hamburger.is-active span:nth-child(4) {
    opacity: 0; }

.nav-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: translateY(-140%);
  transition: transform 0.4s cubic-bezier(0.6, 0, 0.4, 1);
  z-index: 1000; }
  @media screen and (max-width: 820px) {
    .nav-menu {
      overflow-y: scroll; } }
  @media screen and (max-width: 430px) {
    .nav-menu {
      overflow-y: scroll; } }
  .nav-menu .c_container {
    background-color: #E2E7EA;
    padding: 0 0 2.0rem 0; }
  .nav-menu .menu-header {
    padding: 2.4rem 2.0rem;
    background-color: #fff; }
    .nav-menu .menu-header .logo {
      max-width: 20.0rem;
      width: 100%; }
  .nav-menu ul {
    list-style: none;
    padding: 0;
    margin-bottom: 4.0rem; }
    .nav-menu ul li {
      text-align: center;
      background: url("../images/navi_arrow.svg") no-repeat 95% 50%; }
      .nav-menu ul li a {
        display: block;
        text-decoration: none;
        font-size: 1.6rem;
        font-weight: 700;
        color: #1A447B;
        padding: 2.5rem 0;
        border-bottom: 1px solid #1A447B; }
        .nav-menu ul li a:hover {
          opacity: .8; }
  .nav-menu.is-active {
    transform: translateY(0); }

.instagram {
  max-width: 35.4rem;
  margin: 0 auto;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#891cdb+0,e93363+50,ec6a39+100 */
  background: linear-gradient(to bottom, #891cdb 0%, #e93363 50%, #ec6a39 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  padding: .4rem; }
  .instagram_inner {
    background-color: #F8F8F8;
    padding: 1.6rem; }
    .instagram_inner .ttl {
      text-align: center;
      color: #DB5313;
      font-size: 2.2rem;
      font-weight: 700;
      margin-bottom: 2.0rem; }
    .instagram_inner .txt {
      font-size: 1.6rem;
      line-height: 1.8;
      margin-bottom: 1.8rem; }
    .instagram_inner .btn {
      border-top: 1px solid #1A447B;
      padding-top: 1.8rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 1.9rem;
      font-weight: 700;
      color: #41616F;
      letter-spacing: 0; }
      .instagram_inner .btn img {
        max-width: 5.6rem;
        width: 17.89%; }

.scroll-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1002; }
  .scroll-header .c_container {
    display: flex;
    justify-content: flex-end;
    padding: 2.4rem 2.0rem; }
    .scroll-header .c_container .hamburger {
      position: relative;
      top: auto;
      right: auto; }

.header {
  background-color: #fff;
  padding: 2.4rem 2.0rem; }
  .header .logo {
    max-width: 20.0rem;
    width: 100%; }

footer {
  background: #68718926;
  padding: 3.0rem 2.0rem 9.0rem;
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center; }
  footer .logo {
    max-width: 20.0rem;
    margin-bottom: 3.0rem; }
  footer .address {
    line-height: 1.8; }

.fix_application {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999; }
  .fix_application .c_container {
    background-color: #3F616B;
    padding: 1.5rem 2.0rem; }
  .fix_application .btn {
    max-width: 18.5rem;
    margin: 0 auto;
    width: 100%; }
    .fix_application .btn a {
      display: block;
      line-height: 3.0rem;
      text-align: center;
      color: #fff;
      background-color: #DB5313;
      font-weight: 700;
      letter-spacing: 0;
      border-radius: 3.0rem; }

.back {
  background: url("../images/PC.jpg") repeat-y;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2; }
  @media screen and (max-width: 430px) {
    .back {
      display: none; } }

.top {
  background: url("../images/top_bg.png") no-repeat right bottom #E2E7EA;
  background-size: 17.6rem;
  padding: 1.0rem 1.0rem 0; }
  @media screen and (max-width: 820px) {
    .top {
      background-position: 98% bottom;
      background-size: 27.416666666666668vw; } }
  @media screen and (max-width: 430px) {
    .top {
      background-position: right bottom;
      background-size: 17.6rem; } }
  .top_copy {
    text-align: center;
    color: #3F616B;
    font-size: 2.0rem;
    font-weight: 900;
    letter-spacing: .15em;
    margin-bottom: 1.0rem; }
    .top_copy span {
      padding: 0 .3rem;
      background: url("../images/top_copy_bg.svg") no-repeat 0 0.2rem;
      background-size: 7.2rem; }
  .top_ttl {
    background-color: #fff;
    border-radius: 1.6rem;
    padding: 1.0rem 1.5rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    font-size: 3.6rem;
    font-weight: 900;
    letter-spacing: -0.1em;
    color: #DB5313;
    margin-bottom: 2.0rem; }
    @media screen and (max-width: 820px) {
      .top_ttl {
        width: 68.16666666666666vw;
        font-size: 6.583333333333333vw; } }
    @media screen and (max-width: 430px) {
      .top_ttl {
        width: 100%;
        font-size: 3.6rem; } }
    .top_ttl span {
      background-color: #1A447B;
      color: #fff;
      font-size: 1.6rem;
      font-weight: 700;
      border-radius: 3.0rem;
      letter-spacing: .1em;
      padding: .5rem 1.0rem; }
      @media screen and (max-width: 820px) {
        .top_ttl span {
          font-size: 2.9166666666666665vw; } }
      @media screen and (max-width: 430px) {
        .top_ttl span {
          font-size: 1.6rem; } }
  .top_area {
    margin-left: 1.0rem;
    position: relative;
    padding-bottom: 1.5rem;
    overflow: hidden; }
    @media screen and (max-width: 820px) {
      .top_area {
        display: flex; }
        .top_area .og01 {
          width: 33vw; }
        .top_area .og02 {
          width: 30.833333333333336vw;
          margin-top: 1.5rem; } }
    @media screen and (max-width: 430px) {
      .top_area {
        display: block; }
        .top_area .og01 {
          width: auto;
          margin-left: auto; }
        .top_area .og02 {
          width: auto;
          margin-top: 0; } }
    .top_area .date {
      max-width: 24.7rem;
      border-bottom: 1px solid #000;
      padding-bottom: 1.0rem;
      margin-bottom: 1.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .date {
          max-width: none;
          width: 24.083333333333336vw;
          margin: 0 auto;
          border-bottom: none; } }
      @media screen and (max-width: 430px) {
        .top_area .date {
          max-width: 24.7rem;
          width: 100%;
          margin: 0 0 1.0rem;
          border-bottom: 1px solid #000; } }
    .top_area .place {
      max-width: 24.7rem;
      font-size: 1.5rem;
      letter-spacing: 0;
      font-weight: 700;
      text-align: center;
      margin-bottom: 2.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .place {
          font-size: 1.9166666666666665vw; } }
      @media screen and (max-width: 430px) {
        .top_area .place {
          font-size: 1.5rem; } }
    .top_area .course {
      display: inline-block;
      background-color: #fff;
      padding: .5rem 1.0rem;
      font-size: 1.2rem;
      font-weight: 700;
      letter-spacing: 0;
      margin-bottom: 1.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .course {
          font-size: 1.8333333333333333vw; } }
      @media screen and (max-width: 430px) {
        .top_area .course {
          font-size: 1.2rem; } }
    .top_area .cost {
      max-width: 19.6rem;
      margin-bottom: 1.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .cost {
          max-width: none; } }
      @media screen and (max-width: 430px) {
        .top_area .cost {
          max-width: 19.6rem; } }
    .top_area .subject {
      font-size: 1.2rem;
      font-weight: 700;
      letter-spacing: 0;
      margin-bottom: 6.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .subject {
          font-size: 1.8333333333333333vw;
          text-align: center;
          margin-bottom: 0; } }
      @media screen and (max-width: 430px) {
        .top_area .subject {
          font-size: 1.2rem;
          text-align: left;
          margin-bottom: 6.0rem; } }
    .top_area .btn {
      max-width: 18.5rem;
      margin-left: auto; }
      @media screen and (max-width: 820px) {
        .top_area .btn {
          display: none; } }
      @media screen and (max-width: 430px) {
        .top_area .btn {
          display: block; } }
      .top_area .btn a {
        display: block;
        line-height: 3.0rem;
        text-align: center;
        color: #fff;
        background-color: #DB5313;
        font-weight: 700;
        letter-spacing: 0;
        border-radius: 3.0rem; }
    .top_area .kids {
      max-width: 10.8rem;
      position: absolute;
      left: .5rem;
      bottom: -2.0rem; }
      @media screen and (max-width: 820px) {
        .top_area .kids {
          max-width: none;
          width: 14.583333333333334vw;
          left: auto;
          bottom: 1.0rem;
          right: 2.166666666666667vw; } }
      @media screen and (max-width: 430px) {
        .top_area .kids {
          max-width: 10.8rem;
          width: 100%;
          left: .5rem;
          bottom: -2.0rem;
          right: auto; } }

.about {
  background-color: #F1EDDB;
  position: relative;
  padding: 1.0rem 0 2.5rem; }
  .about_txt {
    text-align: center;
    line-height: 3; }
  .about .icon01 {
    position: absolute;
    top: 1.6rem;
    left: 2.1rem;
    max-width: 4.7rem; }
  .about .icon02 {
    position: absolute;
    top: 0.9rem;
    right: 2.4rem;
    max-width: 4.7rem; }
  .about .icon03 {
    position: absolute;
    top: 27.8rem;
    left: 2.1rem;
    max-width: 5.3rem; }
  .about .icon04 {
    position: absolute;
    top: 28.2rem;
    right: 2.0rem;
    max-width: 5.3rem; }
  .about .icon05 {
    position: absolute;
    bottom: 0;
    left: 1.7rem;
    max-width: 5.8rem; }
  .about .icon06 {
    position: absolute;
    bottom: 0;
    right: .9rem;
    max-width: 6.4rem; }

.event {
  background-color: #FFFAFA;
  padding: 6.0rem 0; }
  .event_list dt {
    text-align: center;
    margin-bottom: 1.5rem; }
    .event_list dt span {
      font-size: 2.0rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      background-color: #3F616B;
      color: #fff;
      padding: .3rem 2.0rem;
      border-radius: 3.0rem; }
  .event_list dd {
    letter-spacing: 0.02em; }
    .event_list dd .bold {
      font-weight: 700; }
    .event_list dd .center {
      text-align: center; }
    .event_list dd .fs14 {
      font-size: 1.4rem; }
    .event_list dd .fs12 {
      font-size: 1.2rem; }
    .event_list dd .red {
      color: #FF0000; }
    .event_list dd .mt30 {
      margin-top: 3.0rem; }
    .event_list dd .mt20 {
      margin-top: 2.0rem; }
    .event_list dd .mt10 {
      margin-top: 1.0rem; }
    .event_list dd .day {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: 1.0rem 0; }
      .event_list dd .day li {
        margin: 0 2.0rem 1.0rem; }
    .event_list dd .point {
      margin: 1.0rem 2.0rem 0;
      font-size: 1.4rem; }
      @media screen and (max-width: 820px) {
        .event_list dd .point {
          text-align: center; } }
      @media screen and (max-width: 430px) {
        .event_list dd .point {
          text-align: left; } }
      .event_list dd .point li {
        text-indent: -1em;
        padding-left: 1em;
        line-height: 1.71; }
    .event_list dd .souvenir {
      max-width: 20.3rem;
      margin: 1.5rem auto;
      border: 1px solid #3F616B;
      color: #3F616B;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: .5rem 1.0rem;
      font-size: 1.2rem; }
      .event_list dd .souvenir img {
        max-width: 2.3rem;
        margin-right: .5rem; }
    .event_list dd + dt {
      margin-top: 6.0rem; }
    .event_list dd .time {
    font-size: 2.2rem;
  }
.application {
  background-color: #3F616B;
  padding: 2.0rem; }
  .application .btn {
    max-width: 18.5rem;
    margin: 0 auto;
    width: 100%; }
    .application .btn a {
      display: block;
      line-height: 3.0rem;
      text-align: center;
      color: #fff;
      background-color: #DB5313;
      font-weight: 700;
      letter-spacing: 0;
      border-radius: 3.0rem; }

.course {
  padding: 5.0rem 2.0rem 6.0rem;
  background-color: #FFFAFA; }
  .course_ttl {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.02em; }
    .course_ttl span {
      display: inline-block;
      position: relative;
      margin-bottom: 1.0rem; }
      .course_ttl span .icon01 {
        position: absolute;
        top: -.4rem;
        left: -7.0rem;
        max-width: 5.4rem; }
      .course_ttl span .icon02 {
        position: absolute;
        top: -1.2rem;
        right: -6.4rem;
        max-width: 5.1rem; }
  .note {
    text-align: left;
    font-size: 1.2rem;
    margin-bottom: 2.0rem;
    padding: 20px 0; }
  .course .photo_image {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 2.0rem; }
  .course_area {
    border-radius: 1.6rem;
    background-color: #E2E7EA;
    padding: 2.0rem; }
    .course_area__ttl {
      margin-bottom: 2.0rem; }
      .course_area__ttl .no {
        text-align: center;
        font-size: 2.0rem;
        font-weight: 700;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.0rem; }
        .course_area__ttl .no span {
          width: 4.3rem;
          height: 4.7rem;
          background: url("../images/course_bg.svg") no-repeat 0 0;
          background-size: 4.3rem;
          display: flex;
          justify-content: center;
          align-items: center;
          padding-bottom: .3rem;
          padding-left: .2rem; }
      .course_area__ttl .ttl {
        text-align: center;
        font-size: 2.0rem;
        font-weight: 700; }
    .course_area__photo {
      margin: 0 1.5rem 2.0rem; }
    .course_area__txt {
      line-height: 1.8; }
    .course_area .program {
      margin-top: 2.0rem; }
      .course_area .program_ttl {
        text-align: center;
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 4.5rem; }
        .course_area .program_ttl span {
          display: inline-block;
          padding: 0 2.0rem 1.0rem;
          background: url("../images/course_underline.svg") no-repeat 50% 100%;
          background-size: 9.6rem; }
      .course_area .program_box {
        background-color: #fff;
        padding: 2.0rem 2.5rem 1.5rem;
        position: relative;
        z-index: 0;
        border-radius: 1.6rem; }
        .course_area .program_box .no {
          position: absolute;
          left: 50%;
          top: -2.3rem;
          width: 5.8rem;
          height: 5.8rem;
          background-color: #fff;
          border-radius: 5.8rem;
          transform: translateX(-50%);
          color: #B5801F;
          font-weight: 700;
          text-align: center;
          z-index: -1; }
        .course_area .program_box .ttl {
          text-align: center;
          font-weight: 700;
          line-height: 1.8;
          margin-bottom: 1.0rem;
          font-size: 1.6rem; }
        .course_area .program_box .photo {
          line-height: 0;
          margin-bottom: 1.0rem; }
        .course_area .program_box .txt {
          line-height: 1.8; }
        .course_area .program_box + .program_box {
          margin-top: 6.0rem; }
    .course_area .corner {
      margin-top: 5.0rem; }
      .course_area .corner_ttl {
        text-align: center;
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 1.5rem; }
        .course_area .corner_ttl span {
          display: inline-block;
          padding: 0 2.0rem 1.0rem;
          background: url("../images/course_underline.svg") no-repeat 50% 100%;
          background-size: 9.6rem; }
      .course_area .corner_box {
        background-color: #fff;
        padding: 2.0rem 1.0rem 1.5rem;
        position: relative;
        z-index: 0;
        border-radius: 1.6rem; }
        .course_area .corner_box .ttl {
          text-align: center;
          font-weight: 700;
          line-height: 1.8;
          margin-bottom: 1.0rem;
          font-size: 1.6rem; }
        .course_area .corner_box .photo {
          line-height: 0;
          margin: 0 1.5rem 1.0rem; }
        .course_area .corner_box .txt {
          margin: 0 1.5rem;
          line-height: 1.8; }
        .course_area .corner_box + .corner_box {
          margin-top: 6.0rem; }
    .course_area + .course_area {
      margin-top: 6.0rem; }

.teach {
  background-color: #FFFAFA;
  padding: 0 4.0rem 4.0rem; }
  .teach_ttl {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.02em; }
    .teach_ttl span {
      display: inline-block;
      position: relative;
      margin-bottom: 4.0rem; }
      .teach_ttl span .icon01 {
        position: absolute;
        top: -1.8rem;
        left: -7.0rem;
        max-width: 5.0rem; }
      .teach_ttl span .icon02 {
        position: absolute;
        top: -1.7rem;
        right: -7.4rem;
        max-width: 4.6rem; }
  .teach_txt {
    line-height: 1.8;
    margin-bottom: 4.0rem; }
  .teach_photo {
    margin: 0 3.0rem 1.0rem; }
  .teach_name {
    text-align: center;
    margin-bottom: 4.0rem;
    line-height: 1.8; }
  .teach .biography_ttl {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.0rem; }
  .teach .biography_txt {
    line-height: 1.8;
    margin-bottom: 4.0rem; }
  .teach .greeting_ttl {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 2.0rem; }
    .teach .greeting_ttl span {
      display: inline-block;
      padding: 0 2.0rem 1.0rem;
      background: url("../images/course_underline.svg") no-repeat 50% 100%;
      background-size: 9.6rem; }
  .teach .greeting_txt {
    line-height: 1.8; }

.access {
  background-color: #FFFAFA;
  padding: 0 0 4.0rem; }
  .access_ttl {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 2.0rem; }
  .access .map {
    margin: 0 2.0rem 2.0rem; }
    .access .map iframe {
      width: 100%;
      height: 35.3rem; }
  .access address {
    margin: 0 4.0rem;
    line-height: 1.8; }
  .access_txt {
    margin: 0 4.0rem 2.0rem;
    line-height: 1.8; }
  .access_btn {
    text-align: center;
    margin-bottom: 4.0rem; }
    .access_btn a {
      display: inline-block;
      background-color: #1A447B;
      color: #fff;
      border-radius: 3.0rem;
      padding: .5rem 2.0rem;
      font-size: 2.0rem;
      font-weight: 700; }

.hereafter {
  background-color: #FFFAFA;
  padding: 0 2.0rem 6.0rem; }
  .hereafter_ttl {
    background-color: #3F616B;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.77;
    padding: 1.0rem;
    margin-bottom: 1.0rem; }
  .hereafter .photo_image {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 2.0rem; }
  .hereafter_box {
    margin: 0 2.0rem;
    background-color: #fff;
    padding: 2.0rem 1.0rem 1.5rem;
    position: relative;
    z-index: 0;
    border-radius: 1.6rem; }
    .hereafter_box .ttl {
      text-align: center;
      font-weight: 700;
      line-height: 1.8;
      margin-bottom: 1.0rem;
      font-size: 1.6rem; }
    .hereafter_box .photo {
      line-height: 0;
      margin: 0 2.0rem 1.0rem; }
    .hereafter_box .txt {
      margin: 0 2.0rem;
      line-height: 1.8; }
    .hereafter_box + .hereafter_box {
      margin-top: 4.0rem; }

.past {
  background-color: #FFFAFA;
  padding: 0 2.0rem 10.0rem; }
  .past_ttl {
    background-color: #9B9B9B;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.77;
    padding: 1.0rem;
    margin-bottom: 1.0rem; }
  .past .photo_image {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 2.0rem; }
  .past_box {
    margin: 0 2.0rem;
    background-color: #fff;
    padding: 2.0rem 1.0rem 1.5rem;
    position: relative;
    z-index: 0;
    border-radius: 1.6rem; }
    .past_box .ttl {
      text-align: center;
      font-weight: 700;
      line-height: 1.8;
      margin-bottom: 1.0rem;
      font-size: 1.6rem; }
    .past_box .photo {
      line-height: 0;
      margin: 0 2.0rem 1.0rem; }
    .past_box .txt {
      margin: 0 2.0rem;
      line-height: 1.8; }
    .past_box + .hereafter_box {
      margin-top: 4.0rem; }
