@media screen and (max-width: 768px) {
  .tpl-headline {
    margin: 0 auto; } }

@media screen and (max-width: 768px) {
  .tpl-headline {
    text-align: center; } }

.tpl-drawer__line {
  background: #fff; }

.tpl-header__logo .tpl-header__svg {
  fill: #fff; }
.tpl-header__logo .tpl-header__name {
  color: #fff; }

.tpl-main > .tpl-cover:first-child {
  width: 100%; }

.tpl-main > .tpl-cover:first-child .tpl-headline {
  color: #fff;
  text-shadow: #000 0 0 6px, #000 0 0 6px, #000 0 0 6px; }
  .tpl-main > .tpl-cover:first-child .tpl-headline .tpl-headline__title-en {
    font-weight: 700; }

.premium_plan {
  font-feature-settings: "palt"; }
  .premium_plan .bg_wrap {
    background: #3e1f20;
    color: #fff; }
  .premium_plan .bg_wrap2 {
    background: #2e191a;
    color: #fff; }

.mrg_top30 {
  margin-top: 30px; }

.mb30 {
  margin-bottom: 30px; }

.tpl-headline .tpl-headline__title-jp {
  font-size: 2rem; }
  @media screen and (max-width: 768px) {
    .tpl-headline .tpl-headline__title-jp {
      font-size: 1.8rem; } }
.tpl-headline .tpl-headline__copy {
  padding-top: 1em;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 768px) {
    .tpl-headline .tpl-headline__copy {
      font-size: 1.4rem; } }

.sec02 {
  max-width: 920px;
  margin: 0 auto; }
  .sec02 .plan_ttls {
    margin-bottom: 30px; }
    .sec02 .plan_ttls .plan_ttl {
      font-family: Texta, sans-serif;
      transform: scaleY(0.9);
      padding-bottom: 5px;
      margin-bottom: 5px;
      border-bottom: 1px solid #fff; }
      @media screen and (max-width: 480px) {
        .sec02 .plan_ttls .plan_ttl {
          display: flex;
          text-align: center;
          flex-direction: column;
          justify-content: center;
          align-items: center; } }
      .sec02 .plan_ttls .plan_ttl .txt1 {
        font-weight: 700;
        color: #a49e60;
        font-size: 2.1rem; }
        .sec02 .plan_ttls .plan_ttl .txt1 .lg {
          font-size: 4.7rem; }
      .sec02 .plan_ttls .plan_ttl .txt2 {
        font-weight: 700;
        font-size: 3rem;
        margin-left: 1.2rem; }
        @media screen and (max-width: 480px) {
          .sec02 .plan_ttls .plan_ttl .txt2 {
            margin: 0; } }
      .sec02 .plan_ttls .plan_ttl .txt3 {
        font-size: 1.5rem; }
        @media screen and (max-width: 768px) {
          .sec02 .plan_ttls .plan_ttl .txt3 {
            font-size: 1.4rem; } }
        .sec02 .plan_ttls .plan_ttl .txt3 > span {
          display: inline-block;
          margin-left: 1.5rem; }
          @media screen and (max-width: 480px) {
            .sec02 .plan_ttls .plan_ttl .txt3 > span {
              margin: 0; } }
        .sec02 .plan_ttls .plan_ttl .txt3 .lg {
          font-size: 2.6rem;
          display: inline-block;
          margin-left: 0.5rem; }
  .sec02 .box01 {
    display: flex;
    align-items: stretch;
    justify-content: space-between; }
    @media screen and (max-width: 680px) {
      .sec02 .box01 {
        flex-direction: column-reverse;
        gap: 10px; } }
    .sec02 .box01 .torikago {
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      width: calc(227%/9.2); }
      @media screen and (max-width: 680px) {
        .sec02 .box01 .torikago {
          width: 100%;
          flex-direction: row;
          gap: 10px; } }
      .sec02 .box01 .torikago figure {
        position: relative; }
        .sec02 .box01 .torikago figure .img_cap {
          font-size: 0.7rem;
          padding: 3px; }
    .sec02 .box01 .type_fig {
      width: calc(682%/9.2); }
      @media screen and (max-width: 680px) {
        .sec02 .box01 .type_fig {
          width: 100%; } }
  .sec02 .pr_img03 .txt {
    /*font-size: 1.5rem;
    display: inline-block;
    margin-top: 1rem;
    @media screen and (max-width: 768px) {
    	font-size: 1.2rem;
    }*/
    margin-top: .5rem; }
  @media screen and (max-width: 600px) {
    .sec02 .box02_cap.cap_l {
      font-size: 0.8rem;
      line-height: 1.4;
      letter-spacing: 0.1em; } }
  .sec02 .box02 {
    display: flex;
    align-items: stretch;
    background: #d6d1ca; }
    @media screen and (max-width: 600px) {
      .sec02 .box02 {
        flex-direction: column-reverse; } }
    .sec02 .box02 .txts {
      width: 330px;
      padding: calc(25%/9.2) calc(29%/9.2); }
      @media screen and (max-width: 600px) {
        .sec02 .box02 .txts {
          width: 100%; } }
      .sec02 .box02 .txts .txt1 {
        font-weight: 700;
        letter-spacing: 0;
        font-size: 2.45rem;
        color: #2e191a;
        transform: scaleY(0.9);
        margin-bottom: 1.4rem; }
      .sec02 .box02 .txts .txt2 {
        font-size: 1.3rem;
        color: #2e191a;
        margin-bottom: 2.5rem;
        font-weight: 400; }
        @media screen and (max-width: 600px) {
          .sec02 .box02 .txts .txt2 {
            margin-bottom: 1rem; } }
      .sec02 .box02 .txts .txt3 {
        font-size: 1.1rem;
        color: #2e191a;
        font-weight: 400;
        line-height: 1.63; }
    .sec02 .box02 .imgs {
      width: calc(100% - 330px); }
      @media screen and (max-width: 600px) {
        .sec02 .box02 .imgs {
          width: 100%; } }
    .sec02 .box02 .pr_img04 {
      position: relative;
      overflow: hidden;
      height: 100%; }
      .sec02 .box02 .pr_img04 .cover {
        object-fit: cover;
        height: 100%;
        width: 100%; }
      .sec02 .box02 .pr_img04 .ico_img04 {
        position: absolute;
        top: 15px;
        right: 20px;
        width: calc(86%/5.92); }
      .sec02 .box02 .pr_img04 .img_cap {
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.4); }
    .sec02 .box02 .tpl-button {
      margin-top: 2.5rem;
      height: 52px;
      text-align: left;
      justify-content: flex-start; }

.sec03 .tpl-headline {
  margin-bottom: 3rem; }
.sec03 .txt_list {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 900px) {
    .sec03 .txt_list {
      flex-direction: column;
      gap: 2rem 0; } }
  .sec03 .txt_list li {
    width: calc(300%/9.2); }
    @media screen and (max-width: 900px) {
      .sec03 .txt_list li {
        width: 100%; } }
  .sec03 .txt_list p:not(.cap) {
    font-size: 2rem;
    background: #d6d1ca;
    color: #3e1f20;
    text-align: center;
    padding: 2.85rem 10px;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_list p:not(.cap) {
        font-size: 1.8rem;
        padding: 1.85rem 10px; } }
  @media screen and (max-width: 768px) {
    .sec03 .txt_list p.cap.vpc768 {
      display: none; } }
  .sec03 .txt_list p.cap.vsp768 {
    display: none; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_list p.cap.vsp768 {
        display: block;
        margin-top: 5px;
        line-height: 1.4; } }

.pr_img05 {
  position: relative; }
  .pr_img05 .img_wrap {
    display: block; }
    @media screen and (max-width: 680px) {
      .pr_img05 .img_wrap {
        height: 220px;
        overflow: hidden; }
        .pr_img05 .img_wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: 50% 50%; } }

.sec04 .tpl-headline {
  margin-bottom: 6rem; }
  @media screen and (max-width: 680px) {
    .sec04 .tpl-headline {
      margin-bottom: 3rem; } }
.sec04 .box03 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 916px;
  gap: 30px 0; }
  @media screen and (max-width: 768px) {
    .sec04 .box03 {
      flex-wrap: wrap;
      max-width: none;
      margin: 0 -6vw;
      gap: 20px 0; } }
  .sec04 .box03 .item {
    width: 47.707423%; }
    @media screen and (max-width: 768px) {
      .sec04 .box03 .item {
        width: 49.5%; } }
    .sec04 .box03 .item figure {
      position: relative;
      padding-bottom: 15px; }
      .sec04 .box03 .item figure figcaption {
        position: absolute;
        right: 0;
        bottom: 2px;
        font-size: 0.8rem; }
    .sec04 .box03 .item .txt1 {
      font-size: 1.75rem;
      line-height: 1.257;
      letter-spacing: 0.05em;
      transform: scaleY(0.95); }
      @media screen and (max-width: 900px) {
        .sec04 .box03 .item .txt1 {
          font-size: 1.4rem; } }

.sec05 .tpl-headline {
  margin-bottom: 6rem; }
  @media screen and (max-width: 680px) {
    .sec05 .tpl-headline {
      margin-bottom: 3rem; } }
.sec05 .box04 {
  display: flex;
  align-items: stretch;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .sec05 .box04 {
      flex-direction: column;
      gap: 60px 0; } }
  .sec05 .box04 .l_cnt {
    width: calc(551%/9.2); }
    @media screen and (max-width: 768px) {
      .sec05 .box04 .l_cnt {
        width: 100%; } }
    .sec05 .box04 .l_cnt figure {
      position: relative; }
      .sec05 .box04 .l_cnt figure .txt1 {
        font-size: 1.75rem;
        position: absolute;
        left: 0;
        bottom: -3.5rem; }
        @media screen and (max-width: 768px) {
          .sec05 .box04 .l_cnt figure .txt1 {
            font-size: 1.4rem; } }
  .sec05 .box04 .r_cnt {
    width: calc(320%/9.2);
    display: flex;
    justify-content: space-between;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      .sec05 .box04 .r_cnt {
        width: 100%;
        gap: 20px 0; } }
    .sec05 .box04 .r_cnt figcaption {
      margin-top: 0.3rem;
      font-family: Texta, sans-serif;
      font-size: 1.7rem;
      font-weight: bold;
      transform: scaleY(0.9); }

.sec06 .tpl-headline {
  margin-bottom: 6rem; }
  @media screen and (max-width: 680px) {
    .sec06 .tpl-headline {
      margin-bottom: 3rem; } }
.sec06 .tpl-button {
  color: #3e1f20;
  background: #d7d2cb; }
.sec06 .box05 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px; }
  @media screen and (max-width: 680px) {
    .sec06 .box05 {
      flex-direction: column;
      gap: 40px 0; } }
  .sec06 .box05 figure {
    width: calc(428%/9.2); }
    @media screen and (max-width: 680px) {
      .sec06 .box05 figure {
        width: 100%; } }
    .sec06 .box05 figure .img {
      position: relative; }
    .sec06 .box05 figure figcaption {
      margin-top: 1rem;
      font-size: 2rem;
      transform: scaleY(0.95);
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .sec06 .box05 figure figcaption {
          font-size: 1.4rem; } }
    .sec06 .box05 figure .img_cap {
      background: rgba(0, 0, 0, 0.4);
      right: 0;
      bottom: 0; }
.sec06 .box06 {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .sec06 .box06 {
      flex-direction: column;
      gap: 40px 0; } }
  .sec06 .box06 .txts {
    width: calc(428%/9.16);
    display: flex;
    flex-direction: column;
    justify-content: flex-end; }
    @media screen and (max-width: 768px) {
      .sec06 .box06 .txts {
        width: 100%; } }
    .sec06 .box06 .txts .txt1 {
      color: #d6d1ca;
      font-weight: 700;
      font-size: 2.95rem;
      line-height: 1;
      transform: scaleX(1.33);
      transform-origin: left bottom;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 768px) {
        .sec06 .box06 .txts .txt1 {
          font-size: 2rem; } }
    .sec06 .box06 .txts .txt2 {
      color: #d6d1ca;
      font-size: 1.5rem;
      line-height: 1;
      margin-bottom: 1.7rem; }
      @media screen and (max-width: 768px) {
        .sec06 .box06 .txts .txt2 {
          font-size: 1.4rem; } }
    .sec06 .box06 .txts .txt3 {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 768px) {
        .sec06 .box06 .txts .txt3 {
          font-size: 1.8rem;
          line-height: 1.4; } }
    .sec06 .box06 .txts .txt4 {
      font-size: 1.5rem;
      line-height: 2;
      letter-spacing: 0; }
      @media screen and (max-width: 768px) {
        .sec06 .box06 .txts .txt4 {
          font-size: 1.4rem; } }
      .sec06 .box06 .txts .txt4 .sup_wrap {
        display: inline-block;
        position: relative; }
        .sec06 .box06 .txts .txt4 .sup_wrap sup {
          position: absolute;
          top: -0.3em;
          left: 0;
          right: 0;
          margin: auto;
          font-size: 0.8rem;
          line-height: 1;
          text-align: center; }
  .sec06 .box06 .imgs {
    width: calc(424%/9.16);
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .sec06 .box06 .imgs {
        width: 100%; } }
    .sec06 .box06 .imgs figure figcaption {
      margin-top: 1rem;
      font-size: 1.6rem; }
.sec06 .tpl-button {
  text-align: center; }
  .sec06 .tpl-button .tpl-button__label {
    font-weight: 500; }
    .sec06 .tpl-button .tpl-button__label span {
      display: block;
      font-size: 1.5rem;
      font-family: SourceHanSans, sans-serif;
      font-weight: 300;
      letter-spacing: 0; }
      @media screen and (max-width: 768px) {
        .sec06 .tpl-button .tpl-button__label span {
          font-size: 1.4rem; } }

.tpl-main > .tpl-cover:first-child {
  position: relative;
  min-height: 452px; }
  .tpl-main > .tpl-cover:first-child .img_cap {
    color: #fff; }

.inner-main > .tpl-cover .tpl-cover__bg .tpl-image {
  object-position: 50% 50%;
  height: 100%; }

/*# sourceMappingURL=premium_plan.css.map */
