﻿@charset "UTF-8";
/*Theme Name: 気功食養元気館*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@media (min-width: 768px) {
  html {
    font-size: 100%;
  }
  body {
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    min-width: 1200px;
    width: 100%;
    line-height: 1.8;
    color: #52462d;
    font-weight: 500;
  }
  body img {
    height: auto;
  }
  body .imgleft {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  body .imgleft > div {
    width: 100%;
    margin-left: 40px;
  }
  body .imgleft > div p:not(:last-of-type) {
    margin-bottom: 30px;
  }
  body .imgright {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  body .imgright > div {
    width: 100%;
    margin-right: 40px;
  }
  body .imgright > div p:not(:last-of-type) {
    margin-bottom: 30px;
  }
  body .inner {
    width: 1000px;
    margin: 0 auto;
  }
  body .inner.wide {
    width: 1160px;
  }
  body .inner.narrow {
    width: 960px;
  }
  body .inner.mini {
    width: 800px;
  }
  body .bg_ylw {
    background: #ffffed;
  }
  body .main_title {
    font-size: 2rem;
    margin-bottom: 50px;
    font-weight: bold;
    color: #000;
    padding: 0 10px 0 140px;
    position: relative;
    background: #fcd5a8;
  }
  body .main_title:after {
    position: absolute;
    content: "";
    top: -20px;
    left: 10px;
    background: url("images/common/title_deco.webp") no-repeat;
    width: 107px;
    height: 85px;
  }
  body .sub_title {
    background: #fcd5a8;
    color: #000;
    padding: 10px 20px;
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 20px;
  }
  body .btn {
    display: block;
    width: 420px;
    border-radius: 100px;
    padding: 20px;
    border: 2px solid #5d471b;
    background: #5d471b;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
  }
  body .btn.mini {
    width: 280px;
    font-size: 1rem;
    padding: 5px;
  }
  body .btn.mini.center {
    text-align: center;
    margin: 40px auto;
  }
  body .btn:hover {
    background: #fff;
    color: #5d471b;
  }
  body .btn.org {
    background: #ff8c00;
    border: 2px solid #ff8c00;
    width: 500px;
    font-size: 1.5rem;
    padding: 15px;
  }
  body .btn.org:hover {
    background: #fff;
    color: #ff8c00;
  }
  body .btn.ylw {
    background: #b79c14;
    border: 2px solid #b79c14;
    width: 500px;
    font-size: 1.5rem;
    padding: 15px;
  }
  body .btn.ylw:hover {
    background: #fff;
    color: #b79c14;
  }
  body .btnarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  body .post_list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
  body .post_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body .post_list li .thumb {
    max-width: 195px;
    width: 100%;
    position: relative;
    display: block;
    margin: 0 auto 20px;
  }
  body .post_list li .thumb:before {
    content: "";
    display: block;
    padding-top: 153.85%;
  }
  body .post_list li .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  body .post_list li h3 a {
    display: block;
    font-weight: bold;
    font-size: 1.25rem;
  }
  body .post_list li h3 a:hover {
    color: #ff8c00;
  }
  body .post_list li .btn {
    margin: auto auto 0;
    padding: 15px;
  }
  body .column_list .imgleft:not(:last-child) {
    margin-bottom: 30px;
  }
  body .column_list .imgleft > div {
    margin-left: 20px;
  }
  body .column_list .imgleft .thumb {
    max-width: 200px;
    width: 100%;
    position: relative;
    display: block;
  }
  body .column_list .imgleft .thumb:before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  body .column_list .imgleft .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  body .column_list .imgleft .title a {
    display: block;
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
  body .column_list .imgleft .title a:hover {
    color: #ff8c00;
  }
  body .column_list .imgleft p {
    font-size: 0.95rem;
  }
  body .info_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-weight: bold;
    font-size: 1.25rem;
  }
  body .info_list li:not(:last-child) {
    margin-bottom: 30px;
  }
  body .info_list li .title {
    width: calc(100% - 140px);
  }
  body .info_list li .title a {
    display: block;
  }
  body .info_list li .title a:hover {
    color: #ff5820;
  }
  body .check_list {
    padding: 30px;
  }
  body .check_list > li {
    padding-left: 50px;
  }
  body .check_list > li:after {
    position: absolute;
    content: "";
    top: 3px;
    left: 0;
    background: url("images/common/icon_check.svg") no-repeat;
    width: 32px;
    height: 32px;
  }
  body .check_list ul {
    padding-top: 20px;
  }
  body .check_list li {
    position: relative;
    font-weight: bold;
    font-size: 1.25rem;
    color: #000;
  }
  body .check_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  body .cat_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
  }
  body .cat {
    display: block;
    background: #ffe5c6;
    color: #ff5820;
    text-align: center;
    min-width: 100px;
    font-size: 0.9rem;
    font-weight: bold;
    padding: 0 5px;
  }
  body .cat:hover {
    background: #ff5820;
    color: #ffe5c6;
  }
  body .faq li {
    font-weight: bold;
    font-size: 1.25rem;
  }
  body .faq li:not(:last-child) {
    margin-bottom: 40px;
  }
  body .faq li h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-bottom: 20px;
  }
  body .faq li h3 span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 60px;
    background: #ff5820;
    color: #fff;
    font-size: 1.9rem;
  }
  body .faq li h3 div {
    width: calc(100% - 60px);
    padding: 10px 20px;
    background: #fdf2da;
    color: #000;
  }
  body .faq li .cont {
    background: #ffffed;
    padding: 50px 40px 50px 80px;
    position: relative;
  }
  body .faq li .cont span {
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 60px;
    background: #5d471b;
    color: #fff;
    font-size: 1.9rem;
  }
  body .faq li .cont p {
    font-size: 1.1rem;
    font-weight: 400;
  }
  body .faq li .cont p:not(:last-child) {
    padding-bottom: 20px;
  }
  body .graf {
    color: #000;
    font-weight: bold;
    font-size: 1.25rem;
  }
  body .graf li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  body .graf li:not(:last-child) {
    margin-bottom: 10px;
  }
  body .graf .title {
    width: 260px;
    background: #ffec35;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px;
  }
  body .graf .title span {
    color: #d50d17;
  }
  body .graf .cont {
    width: calc(100% - 270px);
    padding: 10px;
  }
  body .grecaptcha-badge {
    display: none;
  }
  header .h_blc {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    background: #fff;
    padding: 10px 0;
    min-height: 220px;
  }
  header .h_blc .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 10px;
  }
  header .h_blc .logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px;
    font-size: 1.25rem;
    color: #5d471b;
  }
  header .h_blc .logo a span {
    font-size: 1.8rem;
  }
  header .h_blc .h_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
  header .h_blc .h_right .btn {
    width: 130px;
    font-weight: 500;
  }
  header .h_blc nav > ul {
    width: 1025px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  header .h_blc nav > ul > li {
    position: relative;
    z-index: 1;
    padding: 30px 0;
    min-height: 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 150px;
  }
  header .h_blc nav > ul > li:after {
    position: absolute;
    content: "";
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
    width: 90px;
    height: 90px;
    background: #ffe5c6;
    border-radius: 100px;
    z-index: -1;
  }
  header .h_blc nav > ul a {
    font-weight: bold;
    display: block;
    color: #000;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.6;
  }
  header .h_blc nav > ul a:hover {
    color: #ff5820;
  }
  header .h_blc nav > ul > li:hover .sub-menu {
    display: block;
    width: 150px;
  }
  header .h_blc nav > ul .sub-menu {
    position: absolute;
    top: 120px;
    left: 0;
    right: 0;
    margin: auto;
    display: none;
    width: 150px;
  }
  header .h_blc nav > ul .sub-menu li a {
    background: #fcd5a8;
    border-radius: 10px;
    font-size: 1rem;
    padding: 10px 0;
    margin-bottom: 1px;
  }
  header .h_blc nav > ul .sub-menu li a:hover {
    background: #ff8c00;
    color: #fff;
  }
  header .h_blc .btn.smonly {
    display: none;
  }
  header .catch {
    position: relative;
    padding-top: 220px;
  }
  header .catch > img {
    width: 100%;
  }
  header .catch .page_title {
    position: absolute;
    top: 75%;
    -webkit-transform: translateY(-75%);
            transform: translateY(-75%);
    left: 100px;
    color: #fe571f;
    font-weight: 900;
    font-size: 2.5rem;
    letter-spacing: 3px;
    text-shadow: #fff 3px 0px 3px, #fff -3px 0px 3px, #fff 0px -3px 3px, #fff -3px 0px 3px, #fff 3px 3px 3px, #fff -3px 3px 3px, #fff 3px -3px 3px, #fff -3px -3px 3px, #fff 1px 3px 3px, #fff -1px 3px 3px, #fff 1px -3px 3px, #fff -1px -3px 3px, #fff 3px 1px 3px, #fff -3px 1px 3px, #fff 3px -1px 3px, #fff -3px -1px 3px, #fff 1px 1px 3px, #fff -1px 1px 3px, #fff 1px -1px 3px, #fff -1px -1px 3px;
  }
  main {
    padding-bottom: 100px;
  }
  main.top section:not(:last-child) {
    padding: 80px 0;
  }
  main.top .news .post_list .thumb {
    max-width: 300px;
  }
  main.top .news .post_list .thumb:before {
    padding-top: 100%;
  }
  main.top .news .post_list .thumb img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  main.top .btn,
  main.top .magazine img {
    display: block;
    margin: 50px auto 0;
  }
  main.sub {
    padding-top: 80px;
  }
  main.sub .sec:not(:last-child) {
    padding-bottom: 80px;
  }
  main.sub .about .inner.narrow {
    border: 8px dotted #ff5820;
    padding: 40px;
  }
  main.sub .about h3 {
    margin: 20px 0;
    border-left: 5px solid #ff5820;
    color: #ff5820;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 5px 15px;
  }
  main.sub .about p {
    font-size: 1.25rem;
    font-weight: bold;
  }
  main.sub .about p:not(:last-child) {
    padding-bottom: 20px;
  }
  main.sub .about p span {
    color: #fe571f;
  }
  main.sub .magazine .btn,
  main.sub .magazine .banner {
    display: block;
    margin: 50px auto 0;
    text-align: center;
  }
  main.sub .magazine p {
    font-size: 1.25rem;
    font-weight: bold;
  }
  main.sub .magazine p:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .magazine p.right {
    text-align: right;
    margin-right: 250px;
  }
  main.sub .magazine p span {
    color: #ff5820;
  }
  main.sub .magazine .txt {
    margin: 50px 0;
  }
  main.sub .magazine .check_list {
    margin-bottom: 50px;
  }
  main.sub .magazine .numb_list {
    padding: 30px;
    margin-bottom: 50px;
  }
  main.sub .magazine .numb_list li {
    font-weight: bold;
    font-size: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    color: #000;
  }
  main.sub .magazine .numb_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .magazine .numb_list span {
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    background: #ff5820;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main.sub .magazine .circle_list {
    padding: 30px;
    margin-bottom: 50px;
  }
  main.sub .magazine .circle_list li {
    position: relative;
    font-weight: bold;
    padding-left: 50px;
    font-size: 1.25rem;
    color: #000;
  }
  main.sub .magazine .circle_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .magazine .circle_list li:after {
    position: absolute;
    content: "";
    top: 3px;
    left: 0;
    background: #ff5820;
    width: 30px;
    height: 30px;
    border-radius: 100px;
  }
  main.sub .join p {
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 20px;
  }
  main.sub .join p span {
    color: #fe571f;
  }
  main.sub .join .type ul {
    padding-top: 20px;
  }
  main.sub .join .type ul li:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .join .btnarea {
    padding: 20px 0;
  }
  main.sub .terms p {
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 20px;
  }
  main.sub .terms ul {
    padding-top: 20px;
    padding-left: 2rem;
  }
  main.sub .terms ul li:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .privacy {
    font-size: 1.25rem;
    font-weight: bold;
  }
  main.sub .privacy > ul {
    padding-top: 40px;
  }
  main.sub .privacy > ul > li:not(:last-child),
  main.sub .privacy > ul p:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .privacy > ul ul {
    margin: 30px 0;
  }
  main.sub .contact p {
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 50px;
  }
  main.sub .contact .wpcf7-form > ul {
    width: 870px;
  }
  main.sub .contact .wpcf7-form > ul input[type="tel"],
  main.sub .contact .wpcf7-form > ul input[type="text"] {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 40px;
    padding: 20px;
    background: #ededed;
    outline: none;
  }
  main.sub .contact .wpcf7-form > ul input[type="tel"].small,
  main.sub .contact .wpcf7-form > ul input[type="text"].small {
    width: 250px;
    margin-bottom: 20px;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
    margin: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label {
    cursor: pointer;
    margin-right: 30px;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid #707070;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    top: -3px;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    -webkit-transition: all 250ms ease;
    transition: all 250ms ease;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label:before {
    background: #5d471b;
    -webkit-box-shadow: inset 0 0 0 5px #fff;
            box-shadow: inset 0 0 0 5px #fff;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox.flx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox.flx .wpcf7-list-item-label {
    margin: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox span.wpcf7-list-item {
    position: relative;
    display: block;
    margin: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    cursor: pointer;
    margin: 10px 0;
    display: block;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border: 1px solid #707070;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    top: -3px;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 10px;
    left: 5px;
    width: 20px;
    height: 10px;
    border-left: 4px solid #5d471b;
    border-bottom: 4px solid #5d471b;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  main.sub .contact .wpcf7-form > ul .select {
    overflow: hidden;
    width: 150px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    background: #fff;
  }
  main.sub .contact .wpcf7-form > ul .select.wide {
    width: 60%;
  }
  main.sub .contact .wpcf7-form > ul .select.wide select {
    width: 100%;
  }
  main.sub .contact .wpcf7-form > ul .select:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 10px;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid #bfbfbf;
    pointer-events: none;
    z-index: 1;
  }
  main.sub .contact .wpcf7-form > ul .select select {
    background: #ededed;
    border: none;
    width: 150px;
    height: 40px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding: 10px;
  }
  main.sub .contact .wpcf7-form > ul textarea {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 200px;
    padding: 20px;
    font-size: 1rem;
    background: #ededed;
    outline: none;
  }
  main.sub .contact .wpcf7-spinner {
    display: none;
  }
  main.sub .contact input[type="submit"],
  main.sub .contact input[type="button"] {
    outline: none;
    -webkit-appearance: none;
    -webkit-transition: 0.7s;
    transition: 0.7s;
    margin: 50px auto 0;
    font-family: "Noto Sans JP", sans-serif;
  }
  main.sub .contact input[type="submit"]:hover,
  main.sub .contact input[type="button"]:hover {
    cursor: pointer;
  }
  main.sub .column .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  main.sub .column .category {
    width: 200px;
    font-weight: bold;
  }
  main.sub .column .category h4 {
    font-size: 1.25rem;
    background: #ffe5c6;
    color: #ff5820;
    text-align: center;
    margin-bottom: 20px;
    padding: 2px;
  }
  main.sub .column .category li {
    position: relative;
    padding-left: 20px;
    font-size: 1.1rem;
  }
  main.sub .column .category li:after {
    position: absolute;
    content: ">";
    top: 0;
    left: 0;
  }
  main.sub .column .category li a:hover {
    color: #ff5820;
  }
  main.sub .column .column_list,
  main.sub .column .content {
    width: 770px;
  }
  main.sub .books {
    font-weight: bold;
  }
  main.sub .books .message p {
    font-size: 1.25rem;
    padding-bottom: 10px;
  }
  main.sub .books .message .btn {
    margin: 70px auto 0;
  }
  main.sub .books .list ul {
    padding-top: 20px;
  }
  main.sub .books .list ul li:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 100px;
    border-bottom: dotted 3px #fe571f;
  }
  main.sub .books .list ul li .thumb {
    max-width: 180px;
    width: 100%;
    position: relative;
    display: block;
  }
  main.sub .books .list ul li .thumb:before {
    content: "";
    display: block;
    padding-top: 143.5%;
  }
  main.sub .books .list ul li .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main.sub .books .list ul li h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  main.sub .books .list ul li p {
    color: #5d471b;
  }
  main.sub .books .list .btn {
    width: 300px;
    padding: 10px;
    margin: 20px 0 60px;
    -webkit-transition: 0.7s;
    transition: 0.7s;
  }
  main.sub .books .list .btn.mini {
    margin: 100px auto 0;
  }
  main.sub .books .list .hidden {
    display: none;
  }
  main.sub .pagination {
    padding-top: 50px;
  }
  main.sub .pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: bold;
    font-size: 1.25rem;
  }
  main.sub .pagination ul span {
    margin: 0 10px;
  }
  main.sub .pagination ul a {
    margin: 0 10px;
  }
  main.sub .pagination ul a:hover {
    color: #ff5820;
  }
  main.sub .archive .btnarea,
  main.sub .single .btnarea,
  main.sub .single_books .btnarea {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
  }
  main.sub .archive .btnarea .btn,
  main.sub .single .btnarea .btn,
  main.sub .single_books .btnarea .btn {
    width: 320px;
  }
  main.sub .archive .content,
  main.sub .single .content,
  main.sub .single_books .content {
    margin-bottom: 60px;
  }
  main.sub .archive .content time,
  main.sub .single .content time,
  main.sub .single_books .content time {
    font-weight: bold;
    font-size: 1.25rem;
  }
  main.sub .archive .content > p,
  main.sub .single .content > p,
  main.sub .single_books .content > p {
    font-size: 1.1rem;
    margin-bottom: 60px;
  }
  main.sub .archive .content > p:not(:last-child),
  main.sub .single .content > p:not(:last-child),
  main.sub .single_books .content > p:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .archive .content > p a,
  main.sub .single .content > p a,
  main.sub .single_books .content > p a {
    text-decoration: underline;
    word-break: break-all;
    color: #ff5820;
    font-weight: bold;
  }
  main.sub .archive .content > p strong,
  main.sub .single .content > p strong,
  main.sub .single_books .content > p strong {
    font-weight: bold;
  }
  main.sub .archive .content > p em,
  main.sub .single .content > p em,
  main.sub .single_books .content > p em {
    font-style: italic;
  }
  main.sub .archive .content img,
  main.sub .archive .content .wp-video,
  main.sub .single .content img,
  main.sub .single .content .wp-video,
  main.sub .single_books .content img,
  main.sub .single_books .content .wp-video {
    margin: 20px auto;
    display: block;
  }
  main.sub .archive .content iframe,
  main.sub .single .content iframe,
  main.sub .single_books .content iframe {
    width: 100%;
    display: block;
    margin: 20px auto;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  main.sub .archive .content blockquote,
  main.sub .single .content blockquote,
  main.sub .single_books .content blockquote {
    padding: 20px 40px;
    position: relative;
    margin: 20px 0;
    background: #ededed;
    border-radius: 20px;
  }
  main.sub .archive .content blockquote:before,
  main.sub .single .content blockquote:before,
  main.sub .single_books .content blockquote:before {
    position: absolute;
    content: "\f10d";
    font-family: "FontAwesome";
    font-weight: bold;
    font-size: 20px;
    color: #ff5820;
    top: 10px;
    left: 10px;
  }
  main.sub .archive .content blockquote:after,
  main.sub .single .content blockquote:after,
  main.sub .single_books .content blockquote:after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f10e";
    font-size: 20px;
    color: #ff5820;
    right: 10px;
    bottom: 10px;
  }
  main.sub .archive .content blockquote p:last-child,
  main.sub .single .content blockquote p:last-child,
  main.sub .single_books .content blockquote p:last-child {
    margin-bottom: 0;
  }
  main.sub .archive .content ul:not([class]),
  main.sub .single .content ul:not([class]),
  main.sub .single_books .content ul:not([class]) {
    padding: 20px 20px 20px 60px;
    margin: 20px auto;
    border-radius: 20px;
    background: #ededed;
  }
  main.sub .archive .content ul:not([class]) li,
  main.sub .single .content ul:not([class]) li,
  main.sub .single_books .content ul:not([class]) li {
    list-style: disc;
  }
  main.sub .archive .content ul:not([class]) li:not(:last-child),
  main.sub .single .content ul:not([class]) li:not(:last-child),
  main.sub .single_books .content ul:not([class]) li:not(:last-child) {
    margin-bottom: 10px;
  }
  main.sub .archive .content h1,
  main.sub .single .content h1,
  main.sub .single_books .content h1 {
    font-size: 1.7rem;
    font-weight: bold;
    margin: 20px 0 40px;
  }
  main.sub .archive .content h2,
  main.sub .single .content h2,
  main.sub .single_books .content h2 {
    margin: 20px 0;
    font-size: 1.25rem;
    font-weight: bold;
    background: #ffe5c6;
    color: #ff5820;
    padding: 2px 20px;
  }
  main.sub .archive .content h3,
  main.sub .single .content h3,
  main.sub .single_books .content h3 {
    margin: 20px 0;
    border-left: 5px solid #ff5820;
    color: #ff5820;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 5px 15px;
  }
  main.sub .archive .content h4,
  main.sub .single .content h4,
  main.sub .single_books .content h4 {
    margin: 20px 0;
    font-size: 1.25rem;
    font-weight: bold;
    border-bottom: 3px solid #ff5820;
    color: #ff5820;
  }
  main.sub .archive .content table,
  main.sub .single .content table,
  main.sub .single_books .content table {
    width: 100%;
    margin: 20px 0;
  }
  main.sub .archive .content table th,
  main.sub .single .content table th,
  main.sub .single_books .content table th {
    background: #ff5820;
    padding: 10px;
    vertical-align: middle;
    color: #fff;
    text-align: center;
  }
  main.sub .archive .content table td,
  main.sub .single .content table td,
  main.sub .single_books .content table td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #ff5820;
  }
  main.sub .archive .content dl,
  main.sub .single .content dl,
  main.sub .single_books .content dl {
    margin: 20px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  main.sub .archive .content dl dt,
  main.sub .single .content dl dt,
  main.sub .single_books .content dl dt {
    background: #ff5820;
    border: 1px solid #ff5820;
    padding: 10px;
    width: 30%;
    vertical-align: middle;
    color: #fff;
  }
  main.sub .archive .content dl dd,
  main.sub .single .content dl dd,
  main.sub .single_books .content dl dd {
    width: calc(100% - 30%);
    border: 1px solid #ff5820;
    padding: 10px;
    vertical-align: middle;
  }
  main.sub .archive .thumb,
  main.sub .single .thumb,
  main.sub .single_books .thumb {
    max-width: 300px;
    width: 100%;
    position: relative;
    display: block;
  }
  main.sub .archive .thumb:before,
  main.sub .single .thumb:before,
  main.sub .single_books .thumb:before {
    content: "";
    display: block;
    padding-top: 143.5%;
  }
  main.sub .archive .thumb img,
  main.sub .single .thumb img,
  main.sub .single_books .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main.sub .archive .imgleft,
  main.sub .single .imgleft,
  main.sub .single_books .imgleft {
    font-weight: bold;
    color: #5d471b;
    padding: 20px 50px 50px 70px;
  }
  main.sub .single_books .evenly {
    justify-content:space-evenly;
  }
  main.sub .archive .imgleft h3,
  main.sub .single .imgleft h3,
  main.sub .single_books .imgleft h3 {
    font-size: 2rem;
    margin-bottom: 60px;
  }
  main.sub .archive .imgleft h3 span,
  main.sub .single .imgleft h3 span,
  main.sub .single_books .imgleft h3 span {
    font-size: 0.8em;
  }
  main.sub .archive .imgleft p,
  main.sub .single .imgleft p,
  main.sub .single_books .imgleft p {
    text-align: right;
    margin-bottom: 30px;
  }
  main.sub .archive .imgleft p span,
  main.sub .single .imgleft p span,
  main.sub .single_books .imgleft p span {
    display: block;
    font-size: 1.9rem;
    margin-bottom: 10px;
  }
  main.sub .archive .imgleft .org,
  main.sub .single .imgleft .org,
  main.sub .single_books .imgleft .org {
    margin-bottom: 30px;
  }
  main.sub .archive .post_list,
  main.sub .single .post_list,
  main.sub .single_books .post_list {
    gap: 30px;
    padding-top: 20px;
  }
  main.sub .archive .post_list h3,
  main.sub .single .post_list h3,
  main.sub .single_books .post_list h3 {
    margin-bottom: 20px;
  }
  main.sub .single_books .price {
    font-size: 1.1rem;
    margin-bottom: 60px;
    text-align: center;
  }
  main.sub .single_books .price span {
    font-size: 0.8em;
  }
  main.sub .pagenavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 40px;
  }
  main.sub .pagenavi .btn {
    width: 200px;
  }
  main.sub .error .btn {
    margin: 40px auto;
  }
  .swpm-fb-id {
    display: none !important;
  }
  main.sub #swpm-login-form,
  main.sub #swpm-pw-reset-form,
  main.sub #swpm-registration-form,
  main.sub .swpm-login-widget-logged,
  main.sub .swpm_profile_not_logged_in_msg,
  main.sub .swpm-form-builder-container,
  main.sub .thank,
  main.sub .stripe {
    width: 50vw;
    margin: 0 auto;
    background: #f6f6f6;
    padding: 20px;
  }
  main.sub #swpm-login-form > p,
  main.sub #swpm-pw-reset-form > p,
  main.sub #swpm-registration-form > p,
  main.sub .swpm-login-widget-logged > p,
  main.sub .swpm_profile_not_logged_in_msg > p,
  main.sub .swpm-form-builder-container > p,
  main.sub .thank > p,
  main.sub .stripe > p {
    margin-bottom: 20px;
    font-weight: bold;
  }
  main.sub #swpm-login-form .swpm-legend,
  main.sub #swpm-pw-reset-form .swpm-legend,
  main.sub #swpm-registration-form .swpm-legend,
  main.sub .swpm-login-widget-logged .swpm-legend,
  main.sub .swpm_profile_not_logged_in_msg .swpm-legend,
  main.sub .swpm-form-builder-container .swpm-legend,
  main.sub .thank .swpm-legend,
  main.sub .stripe .swpm-legend {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 20px;
  }
  main.sub #swpm-login-form input[type="text"],
  main.sub #swpm-login-form input[type="tel"],
  main.sub #swpm-login-form input[type="email"],
  main.sub #swpm-login-form input[type="password"],
  main.sub #swpm-login-form select,
  main.sub #swpm-pw-reset-form input[type="text"],
  main.sub #swpm-pw-reset-form input[type="tel"],
  main.sub #swpm-pw-reset-form input[type="email"],
  main.sub #swpm-pw-reset-form input[type="password"],
  main.sub #swpm-pw-reset-form select,
  main.sub #swpm-registration-form input[type="text"],
  main.sub #swpm-registration-form input[type="tel"],
  main.sub #swpm-registration-form input[type="email"],
  main.sub #swpm-registration-form input[type="password"],
  main.sub #swpm-registration-form select,
  main.sub .swpm-login-widget-logged input[type="text"],
  main.sub .swpm-login-widget-logged input[type="tel"],
  main.sub .swpm-login-widget-logged input[type="email"],
  main.sub .swpm-login-widget-logged input[type="password"],
  main.sub .swpm-login-widget-logged select,
  main.sub .swpm_profile_not_logged_in_msg input[type="text"],
  main.sub .swpm_profile_not_logged_in_msg input[type="tel"],
  main.sub .swpm_profile_not_logged_in_msg input[type="email"],
  main.sub .swpm_profile_not_logged_in_msg input[type="password"],
  main.sub .swpm_profile_not_logged_in_msg select,
  main.sub .swpm-form-builder-container input[type="text"],
  main.sub .swpm-form-builder-container input[type="tel"],
  main.sub .swpm-form-builder-container input[type="email"],
  main.sub .swpm-form-builder-container input[type="password"],
  main.sub .swpm-form-builder-container select,
  main.sub .thank input[type="text"],
  main.sub .thank input[type="tel"],
  main.sub .thank input[type="email"],
  main.sub .thank input[type="password"],
  main.sub .thank select,
  main.sub .stripe input[type="text"],
  main.sub .stripe input[type="tel"],
  main.sub .stripe input[type="email"],
  main.sub .stripe input[type="password"],
  main.sub .stripe select {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 40px;
    padding: 20px;
    background: #ededed;
    outline: none;
    margin: 10px 0;
  }
  main.sub #swpm-login-form select,
  main.sub #swpm-pw-reset-form select,
  main.sub #swpm-registration-form select,
  main.sub .swpm-login-widget-logged select,
  main.sub .swpm_profile_not_logged_in_msg select,
  main.sub .swpm-form-builder-container select,
  main.sub .thank select,
  main.sub .stripe select {
    display: block;
    width: 50%;
    padding: 5px 10px;
  }
  main.sub #swpm-login-form textarea,
  main.sub #swpm-pw-reset-form textarea,
  main.sub #swpm-registration-form textarea,
  main.sub .swpm-login-widget-logged textarea,
  main.sub .swpm_profile_not_logged_in_msg textarea,
  main.sub .swpm-form-builder-container textarea,
  main.sub .thank textarea,
  main.sub .stripe textarea {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 150px;
    padding: 20px;
    background: #ededed;
    margin: 10px 0;
  }
  main.sub #swpm-login-form input[type="submit"],
  main.sub #swpm-login-form button[type="submit"],
  main.sub #swpm-login-form .swpm-edit-profile-link a,
  main.sub #swpm-login-form .swpm-logged-logout-link a,
  main.sub #swpm-login-form .btn,
  main.sub #swpm-pw-reset-form input[type="submit"],
  main.sub #swpm-pw-reset-form button[type="submit"],
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a,
  main.sub #swpm-pw-reset-form .btn,
  main.sub #swpm-registration-form input[type="submit"],
  main.sub #swpm-registration-form button[type="submit"],
  main.sub #swpm-registration-form .swpm-edit-profile-link a,
  main.sub #swpm-registration-form .swpm-logged-logout-link a,
  main.sub #swpm-registration-form .btn,
  main.sub .swpm-login-widget-logged input[type="submit"],
  main.sub .swpm-login-widget-logged button[type="submit"],
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a,
  main.sub .swpm-login-widget-logged .btn,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"],
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"],
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a,
  main.sub .swpm_profile_not_logged_in_msg .btn,
  main.sub .swpm-form-builder-container input[type="submit"],
  main.sub .swpm-form-builder-container button[type="submit"],
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a,
  main.sub .swpm-form-builder-container .btn,
  main.sub .thank input[type="submit"],
  main.sub .thank button[type="submit"],
  main.sub .thank .swpm-edit-profile-link a,
  main.sub .thank .swpm-logged-logout-link a,
  main.sub .thank .btn,
  main.sub .stripe input[type="submit"],
  main.sub .stripe button[type="submit"],
  main.sub .stripe .swpm-edit-profile-link a,
  main.sub .stripe .swpm-logged-logout-link a,
  main.sub .stripe .btn {
    outline: none;
    -webkit-appearance: none;
    -webkit-transition: 0.7s;
    transition: 0.7s;
    margin: 20px auto;
    font-family: "Noto Sans JP", sans-serif;
    display: block;
    border-radius: 100px;
    padding: 20px;
    border: 2px solid #5d471b;
    background: #5d471b;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    width: 300px;
  }
  main.sub #swpm-login-form input[type="submit"]:hover,
  main.sub #swpm-login-form button[type="submit"]:hover,
  main.sub #swpm-login-form .swpm-edit-profile-link a:hover,
  main.sub #swpm-login-form .swpm-logged-logout-link a:hover,
  main.sub #swpm-login-form .btn:hover,
  main.sub #swpm-pw-reset-form input[type="submit"]:hover,
  main.sub #swpm-pw-reset-form button[type="submit"]:hover,
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a:hover,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a:hover,
  main.sub #swpm-pw-reset-form .btn:hover,
  main.sub #swpm-registration-form input[type="submit"]:hover,
  main.sub #swpm-registration-form button[type="submit"]:hover,
  main.sub #swpm-registration-form .swpm-edit-profile-link a:hover,
  main.sub #swpm-registration-form .swpm-logged-logout-link a:hover,
  main.sub #swpm-registration-form .btn:hover,
  main.sub .swpm-login-widget-logged input[type="submit"]:hover,
  main.sub .swpm-login-widget-logged button[type="submit"]:hover,
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a:hover,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a:hover,
  main.sub .swpm-login-widget-logged .btn:hover,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"]:hover,
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"]:hover,
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a:hover,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a:hover,
  main.sub .swpm_profile_not_logged_in_msg .btn:hover,
  main.sub .swpm-form-builder-container input[type="submit"]:hover,
  main.sub .swpm-form-builder-container button[type="submit"]:hover,
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a:hover,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a:hover,
  main.sub .swpm-form-builder-container .btn:hover,
  main.sub .thank input[type="submit"]:hover,
  main.sub .thank button[type="submit"]:hover,
  main.sub .thank .swpm-edit-profile-link a:hover,
  main.sub .thank .swpm-logged-logout-link a:hover,
  main.sub .thank .btn:hover,
  main.sub .stripe input[type="submit"]:hover,
  main.sub .stripe button[type="submit"]:hover,
  main.sub .stripe .swpm-edit-profile-link a:hover,
  main.sub .stripe .swpm-logged-logout-link a:hover,
  main.sub .stripe .btn:hover {
    background: #fff;
    color: #5d471b;
    cursor: pointer;
  }
  main.sub #swpm-login-form input[type="submit"]:hover span,
  main.sub #swpm-login-form button[type="submit"]:hover span,
  main.sub #swpm-login-form .swpm-edit-profile-link a:hover span,
  main.sub #swpm-login-form .swpm-logged-logout-link a:hover span,
  main.sub #swpm-login-form .btn:hover span,
  main.sub #swpm-pw-reset-form input[type="submit"]:hover span,
  main.sub #swpm-pw-reset-form button[type="submit"]:hover span,
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a:hover span,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a:hover span,
  main.sub #swpm-pw-reset-form .btn:hover span,
  main.sub #swpm-registration-form input[type="submit"]:hover span,
  main.sub #swpm-registration-form button[type="submit"]:hover span,
  main.sub #swpm-registration-form .swpm-edit-profile-link a:hover span,
  main.sub #swpm-registration-form .swpm-logged-logout-link a:hover span,
  main.sub #swpm-registration-form .btn:hover span,
  main.sub .swpm-login-widget-logged input[type="submit"]:hover span,
  main.sub .swpm-login-widget-logged button[type="submit"]:hover span,
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a:hover span,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a:hover span,
  main.sub .swpm-login-widget-logged .btn:hover span,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"]:hover span,
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"]:hover span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a:hover span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a:hover span,
  main.sub .swpm_profile_not_logged_in_msg .btn:hover span,
  main.sub .swpm-form-builder-container input[type="submit"]:hover span,
  main.sub .swpm-form-builder-container button[type="submit"]:hover span,
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a:hover span,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a:hover span,
  main.sub .swpm-form-builder-container .btn:hover span,
  main.sub .thank input[type="submit"]:hover span,
  main.sub .thank button[type="submit"]:hover span,
  main.sub .thank .swpm-edit-profile-link a:hover span,
  main.sub .thank .swpm-logged-logout-link a:hover span,
  main.sub .thank .btn:hover span,
  main.sub .stripe input[type="submit"]:hover span,
  main.sub .stripe button[type="submit"]:hover span,
  main.sub .stripe .swpm-edit-profile-link a:hover span,
  main.sub .stripe .swpm-logged-logout-link a:hover span,
  main.sub .stripe .btn:hover span {
    color: #5d471b;
  }
  main.sub #swpm-login-form input[type="submit"] span,
  main.sub #swpm-login-form button[type="submit"] span,
  main.sub #swpm-login-form .swpm-edit-profile-link a span,
  main.sub #swpm-login-form .swpm-logged-logout-link a span,
  main.sub #swpm-login-form .btn span,
  main.sub #swpm-pw-reset-form input[type="submit"] span,
  main.sub #swpm-pw-reset-form button[type="submit"] span,
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a span,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a span,
  main.sub #swpm-pw-reset-form .btn span,
  main.sub #swpm-registration-form input[type="submit"] span,
  main.sub #swpm-registration-form button[type="submit"] span,
  main.sub #swpm-registration-form .swpm-edit-profile-link a span,
  main.sub #swpm-registration-form .swpm-logged-logout-link a span,
  main.sub #swpm-registration-form .btn span,
  main.sub .swpm-login-widget-logged input[type="submit"] span,
  main.sub .swpm-login-widget-logged button[type="submit"] span,
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a span,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a span,
  main.sub .swpm-login-widget-logged .btn span,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"] span,
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"] span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a span,
  main.sub .swpm_profile_not_logged_in_msg .btn span,
  main.sub .swpm-form-builder-container input[type="submit"] span,
  main.sub .swpm-form-builder-container button[type="submit"] span,
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a span,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a span,
  main.sub .swpm-form-builder-container .btn span,
  main.sub .thank input[type="submit"] span,
  main.sub .thank button[type="submit"] span,
  main.sub .thank .swpm-edit-profile-link a span,
  main.sub .thank .swpm-logged-logout-link a span,
  main.sub .thank .btn span,
  main.sub .stripe input[type="submit"] span,
  main.sub .stripe button[type="submit"] span,
  main.sub .stripe .swpm-edit-profile-link a span,
  main.sub .stripe .swpm-logged-logout-link a span,
  main.sub .stripe .btn span {
    background: none;
    text-shadow: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.3rem;
    font-weight: bold;
  }
  main.sub #swpm-login-form .swpm-login-form-register-link:hover,
  main.sub #swpm-login-form .swpm-login-form-pw-reset-link:hover,
  main.sub #swpm-pw-reset-form .swpm-login-form-register-link:hover,
  main.sub #swpm-pw-reset-form .swpm-login-form-pw-reset-link:hover,
  main.sub #swpm-registration-form .swpm-login-form-register-link:hover,
  main.sub #swpm-registration-form .swpm-login-form-pw-reset-link:hover,
  main.sub .swpm-login-widget-logged .swpm-login-form-register-link:hover,
  main.sub .swpm-login-widget-logged .swpm-login-form-pw-reset-link:hover,
  main.sub .swpm_profile_not_logged_in_msg .swpm-login-form-register-link:hover,
  main.sub .swpm_profile_not_logged_in_msg .swpm-login-form-pw-reset-link:hover,
  main.sub .swpm-form-builder-container .swpm-login-form-register-link:hover,
  main.sub .swpm-form-builder-container .swpm-login-form-pw-reset-link:hover,
  main.sub .thank .swpm-login-form-register-link:hover,
  main.sub .thank .swpm-login-form-pw-reset-link:hover,
  main.sub .stripe .swpm-login-form-register-link:hover,
  main.sub .stripe .swpm-login-form-pw-reset-link:hover {
    color: #ff5820;
  }
  main.sub .swpm-ty-page-registration,
  main.sub .swpm-fb-profile-update-success,
  main.sub .swpm_registration_hidden_to_logged_users_msg {
    width: 80%;
    margin: 0 auto;
  }
  main.sub .my-stripe-button {
    display: block;
    width: 300px;
    border-radius: 100px;
    padding: 20px;
    border: 2px solid #ff8c00;
    background: #ff8c00;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    margin: 40px auto;
  }
  footer {
    background: #ffe5c6;
    padding: 40px;
    font-size: 0.95rem;
  }
  footer h2 {
    text-align: center;
  }
  footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    margin: 20px auto 40px;
  }
  footer ul li {
    position: relative;
  }
  footer ul li:after {
    position: absolute;
    content: "|";
    top: 0;
    right: -12px;
  }
  footer ul li a:hover {
    color: #ff8c00;
  }
  footer small {
    display: block;
    text-align: center;
  }
  .smonly {
    display: none;
  }
}

@media (max-width: 767px) {
  html {
    font-size: 100%;
  }
  body {
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    width: 100%;
    line-height: 1.8;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    color: #52462d;
    font-weight: 500;
  }
  body img {
    height: auto;
  }
  body .imgleft img,
  body .imgright img {
    display: block;
    width: 100%;
    margin: 0 auto 20px;
  }
  body .imgleft > div p:not(:last-child),
  body .imgright > div p:not(:last-child) {
    margin-bottom: 20px;
  }
  body .bg_ylw {
    background: #ffffed;
  }
  body .main_title {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-bottom: 30px;
    font-weight: bold;
    color: #000;
    padding: 5px 10px 5px 70px;
    position: relative;
    background: #fcd5a8;
  }
  body .main_title:after {
    position: absolute;
    content: "";
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 10px;
    background: url("images/common/title_deco.webp") no-repeat;
    background-size: 100%;
    width: 50px;
    height: 40px;
  }
  body .sub_title {
    background: #fcd5a8;
    color: #000;
    padding: 10px;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 20px;
  }
  body .btn {
    display: block;
    width: 100%;
    border-radius: 100px;
    padding: 10px;
    background: #5d471b;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
  }
  body .btn.mini {
    font-size: 1rem;
    width: 60%;
  }
  body .btn.mini.center {
    text-align: center;
    margin: 40px auto;
  }
  body .btn.org {
    background: #ff8c00;
  }
  body .btn.ylw {
    background: #b79c14;
  }
  body .btnarea li:not(:last-child) {
    margin-bottom: 20px;
  }
  body .post_list li:not(:last-child) {
    margin-bottom: 60px;
  }
  body .post_list li .thumb {
    width: 100%;
    position: relative;
    display: block;
    margin: 0 auto 10px;
  }
  body .post_list li .thumb:before {
    content: "";
    display: block;
    padding-top: 153.85%;
  }
  body .post_list li .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  body .post_list li h3 a {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
  }
  body .post_list li .btn {
    margin: 20px auto 0;
    padding: 10px;
  }
  body .column_list .imgleft:not(:last-child) {
    margin-bottom: 40px;
  }
  body .column_list .imgleft .thumb {
    width: 100%;
    position: relative;
    display: block;
    margin-bottom: 10px;
  }
  body .column_list .imgleft .thumb:before {
    content: "";
    display: block;
    padding-top: 48.5%;
  }
  body .column_list .imgleft .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  body .column_list .imgleft .title a {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  body .column_list .imgleft p {
    font-size: 0.9rem;
  }
  body .info_list li {
    font-weight: bold;
  }
  body .info_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  body .info_list li .title a {
    display: block;
  }
  body .check_list {
    padding: 20px;
  }
  body .check_list > li {
    padding-left: 30px;
  }
  body .check_list > li:after {
    position: absolute;
    content: "";
    top: 4px;
    left: 0;
    background: url("images/common/icon_check.svg") no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
  }
  body .check_list ul {
    padding-top: 10px;
  }
  body .check_list li {
    position: relative;
    font-weight: bold;
    color: #000;
  }
  body .check_list li:not(:last-child) {
    margin-bottom: 10px;
  }
  body .cat_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
  }
  body .cat {
    display: block;
    background: #ffe5c6;
    color: #ff5820;
    text-align: center;
    min-width: 80px;
    font-size: 0.8rem;
    font-weight: bold;
    padding: 0 5px;
  }
  body .faq li {
    font-weight: bold;
  }
  body .faq li:not(:last-child) {
    margin-bottom: 40px;
  }
  body .faq li h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-bottom: 20px;
  }
  body .faq li h3 span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 30px;
    background: #ff5820;
    color: #fff;
    font-size: 1.2rem;
  }
  body .faq li h3 div {
    width: calc(100% - 30px);
    padding: 10px;
    background: #fdf2da;
    color: #000;
  }
  body .faq li .cont {
    background: #ffffed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    position: relative;
  }
  body .faq li .cont span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 30px;
    background: #5d471b;
    color: #fff;
    font-size: 1.2rem;
  }
  body .faq li .cont div {
    width: calc(100% - 30px);
    padding: 20px;
  }
  body .faq li .cont div p {
    font-size: 0.9rem;
    font-weight: 500;
  }
  body .faq li .cont div p:not(:last-child) {
    padding-bottom: 20px;
  }
  body .graf {
    color: #000;
    font-weight: bold;
  }
  body .graf li:not(:last-child) {
    margin-bottom: 10px;
  }
  body .graf .title {
    background: #ffec35;
    padding: 10px;
  }
  body .graf .title span {
    color: #d50d17;
  }
  body .graf .cont {
    padding: 10px;
  }
  body .grecaptcha-badge {
    display: none;
  }
  header .h_blc {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background: #fff;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px;
    min-height: 86px;
  }
  header .h_blc .logo a {
    display: block;
    max-width: 260px;
    text-align: center;
  }
  header .h_blc .logo a span {
    display: block;
    color: #5d471b;
    font-weight: bold;
  }
  header .menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 25px;
    z-index: 100;
  }
  header .menu-btn span,
  header .menu-btn span:before,
  header .menu-btn span:after {
    content: "";
    display: block;
    height: 4px;
    width: 30px;
    background: #ff5820;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  header .menu-btn span:before {
    top: 21px;
  }
  header .menu-btn span:after {
    top: 10px;
  }
  header #menu-btn-check:checked ~ .menu-btn span {
    background: none;
  }
  header #menu-btn-check:checked ~ .menu-btn span::before {
    top: 10px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  header #menu-btn-check:checked ~ .menu-btn span::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  header #menu-btn-check {
    display: none;
  }
  header #menu-btn-check:checked ~ .menu-content {
    left: 0%;
  }
  header .menu-content {
    width: 100%;
    height: 100%;
    background: #ffffed;
    position: fixed;
    top: 0;
    left: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    padding: 80px 10px 40px;
    overflow: scroll;
    z-index: 99;
  }
  header .menu-content nav > ul > li > a {
    display: block;
    padding: 10px;
    font-weight: bold;
    position: relative;
  }
  header .menu-content nav > ul > li > a:after {
    position: absolute;
    content: "";
    border: 0;
    border-top: 2px solid #52462d;
    border-right: 2px solid #52462d;
    display: inline-block;
    width: 8px;
    height: 8px;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
  }
  header .menu-content nav > ul > li .sub-menu {
    padding-left: 30px;
  }
  header .menu-content nav > ul > li .sub-menu a {
    position: relative;
    display: block;
    padding: 10px 0;
    font-size: 0.9rem;
  }
  header .menu-content nav > ul > li .sub-menu a:after {
    position: absolute;
    content: "ー";
    left: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  header .menu-content .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    padding: 20px 0;
  }
  header .catch {
    position: relative;
    padding-top: 86px;
  }
  header .catch > img {
    width: 100%;
  }
  header .catch .page_title {
    position: absolute;
    top: 80%;
    -webkit-transform: translateY(-80%);
            transform: translateY(-80%);
    left: 10px;
    color: #fe571f;
    font-weight: 900;
    font-size: 1.3rem;
    line-height: 1.4;
    text-shadow: #fff 2px 0px 2px, #fff -2px 0px 2px, #fff 0px -2px 2px, #fff -2px 0px 2px, #fff 2px 2px 2px, #fff -2px 2px 2px, #fff 2px -2px 2px, #fff -2px -2px 2px, #fff 1px 2px 2px, #fff -1px 2px 2px, #fff 1px -2px 2px, #fff -1px -2px 2px, #fff 2px 1px 2px, #fff -2px 1px 2px, #fff 2px -1px 2px, #fff -2px -1px 2px, #fff 1px 1px 2px, #fff -1px 1px 2px, #fff 1px -1px 2px, #fff -1px -1px 2px;
  }
  main.top {
    padding-bottom: 40px;
  }
  main.top section {
    padding: 0 20px;
  }
  main.top section:not(:last-child) {
    padding: 40px 20px;
  }
  main.top .news .post_list .thumb:before {
    padding-top: 48.5%;
  }
  main.top .btn,
  main.top .magazine img {
    display: block;
    margin: 40px auto 0;
  }
  main.sub {
    padding: 40px 20px;
  }
  main.sub .sec:not(:last-child) {
    padding-bottom: 40px;
  }
  main.sub .about .inner.narrow {
    border: 5px dotted #ff5820;
    padding: 20px;
  }
  main.sub .about h3 {
    margin: 20px 0;
    border-left: 5px solid #ff5820;
    color: #ff5820;
    font-weight: bold;
    padding: 0 10px;
  }
  main.sub .about p {
    font-weight: bold;
  }
  main.sub .about p:not(:last-child) {
    padding-bottom: 10px;
  }
  main.sub .about p span {
    color: #fe571f;
  }
  main.sub .magazine .banner {
    display: block;
    text-align: center;
  }
  main.sub .magazine p {
    font-weight: bold;
  }
  main.sub .magazine p:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .magazine p.right {
    text-align: right;
    margin-right: 60px;
  }
  main.sub .magazine p span {
    color: #ff5820;
  }
  main.sub .magazine .txt {
    margin: 20px 0 40px;
  }
  main.sub .magazine .check_list {
    margin-bottom: 40px;
  }
  main.sub .magazine .numb_list {
    padding: 20px;
    margin-bottom: 40px;
  }
  main.sub .magazine .numb_list li {
    font-weight: bold;
    color: #000;
    padding-left: 40px;
    position: relative;
  }
  main.sub .magazine .numb_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .magazine .numb_list span {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    background: #ff5820;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main.sub .magazine .circle_list {
    padding: 20px;
    margin-bottom: 40px;
  }
  main.sub .magazine .circle_list li {
    position: relative;
    font-weight: bold;
    padding-left: 30px;
    color: #000;
  }
  main.sub .magazine .circle_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .magazine .circle_list li:after {
    position: absolute;
    content: "";
    top: 5px;
    left: 0;
    background: #ff5820;
    width: 20px;
    height: 20px;
    border-radius: 100px;
  }
  main.sub .join p {
    font-weight: bold;
    padding-bottom: 20px;
  }
  main.sub .join p span {
    color: #fe571f;
  }
  main.sub .join .type li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .terms p {
    font-weight: bold;
    padding-bottom: 20px;
  }
  main.sub .terms ul {
    padding-top: 10px;
    padding-left: 1rem;
  }
  main.sub .terms ul li:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .privacy {
    font-weight: bold;
  }
  main.sub .privacy > ul {
    padding-top: 40px;
  }
  main.sub .privacy > ul > li:not(:last-child),
  main.sub .privacy > ul p:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .privacy > ul ul {
    margin: 20px 0;
  }
  main.sub .privacy > ul ul li:not(:last-child) {
    margin-bottom: 10px;
  }
  main.sub .contact p {
    font-weight: bold;
    margin-bottom: 20px;
  }
  main.sub .contact .wpcf7-form > ul input[type="tel"],
  main.sub .contact .wpcf7-form > ul input[type="text"] {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 40px;
    padding: 20px;
    background: #ededed;
    outline: none;
  }
  main.sub .contact .wpcf7-form > ul input[type="tel"].small,
  main.sub .contact .wpcf7-form > ul input[type="text"].small {
    width: 150px;
    margin-bottom: 10px;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
    margin: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label {
    cursor: pointer;
    margin-right: 30px;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border-radius: 100%;
    border: 1px solid #707070;
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    top: -3px;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    -webkit-transition: all 250ms ease;
    transition: all 250ms ease;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label:before {
    background-color: #5d471b;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
            box-shadow: inset 0 0 0 4px #fff;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox span.wpcf7-list-item {
    position: relative;
    display: block;
    margin: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    cursor: pointer;
    margin: 10px 0;
    display: block;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border: 1px solid #707070;
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    top: -3px;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  main.sub .contact .wpcf7-form > ul .wpcf7-form-control.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 3px;
    width: 13px;
    height: 8px;
    border-left: 3px solid #5d471b;
    border-bottom: 3px solid #5d471b;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  main.sub .contact .wpcf7-form > ul .select {
    overflow: hidden;
    width: 150px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    background: #fff;
  }
  main.sub .contact .wpcf7-form > ul .select.wide {
    width: 100%;
  }
  main.sub .contact .wpcf7-form > ul .select.wide select {
    width: 100%;
  }
  main.sub .contact .wpcf7-form > ul .select:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 10px;
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid #bfbfbf;
    pointer-events: none;
    z-index: 1;
  }
  main.sub .contact .wpcf7-form > ul .select select {
    background: #ededed;
    border: none;
    width: 150px;
    height: 40px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding: 10px;
  }
  main.sub .contact .wpcf7-form > ul textarea {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 150px;
    padding: 20px;
    font-size: 1rem;
    background: #ededed;
    outline: none;
  }
  main.sub .contact .wpcf7-spinner {
    display: none;
  }
  main.sub .contact input[type="submit"],
  main.sub .contact input[type="button"] {
    outline: none;
    -webkit-appearance: none;
    margin: 20px auto 0;
    font-family: "Noto Sans JP", sans-serif;
  }
  main.sub .column .category {
    font-weight: bold;
  }
  main.sub .column .category h4 {
    background: #ffe5c6;
    color: #ff5820;
    text-align: center;
    margin-bottom: 20px;
    padding: 10px;
  }
  main.sub .column .category li {
    position: relative;
    padding-left: 20px;
  }
  main.sub .column .category li:after {
    position: absolute;
    content: ">";
    top: 0;
    left: 0;
  }
  main.sub .column .column_list,
  main.sub .column .content {
    margin-bottom: 40px;
  }
  main.sub .books {
    font-weight: bold;
  }
  main.sub .books .message p {
    font-size: 0.9rem;
    padding-bottom: 10px;
  }
  main.sub .books .message .btn {
    margin: 20px auto 0;
  }
  main.sub .books .list li:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 40px;
    border-bottom: dotted 3px #fe571f;
  }
  main.sub .books .list li .thumb {
    width: 100%;
    position: relative;
    display: block;
    margin-bottom: 10px;
  }
  main.sub .books .list li .thumb:before {
    content: "";
    display: block;
    padding-top: 143.5%;
  }
  main.sub .books .list li .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main.sub .books .list li h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  main.sub .books .list li p {
    color: #5d471b;
    font-size: 0.9rem;
  }
  main.sub .books .list .btn {
    padding: 10px;
    margin: 40px o;
  }
  main.sub .books .list .btn.mini {
    margin: 40px auto 0;
  }
  main.sub .books .list .hidden {
    display: none;
  }
  main.sub .pagination {
    padding-top: 40px;
  }
  main.sub .pagination ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: bold;
  }
  main.sub .pagination ul span {
    margin: 0 10px;
  }
  main.sub .pagination ul a {
    margin: 0 10px;
  }
  main.sub .pagination ul a:hover {
    color: #ff5820;
  }
  main.sub .archive .btnarea,
  main.sub .single .btnarea,
  main.sub .single_books .btnarea {
    margin-bottom: 40px;
  }
  main.sub .archive .content,
  main.sub .single .content,
  main.sub .single_books .content {
    margin-bottom: 40px;
  }
  main.sub .archive .content time,
  main.sub .single .content time,
  main.sub .single_books .content time {
    display: block;
    font-weight: bold;
  }
  main.sub .archive .content > p,
  main.sub .single .content > p,
  main.sub .single_books .content > p {
    margin-bottom: 40px;
  }
  main.sub .archive .content > p:not(:last-child),
  main.sub .single .content > p:not(:last-child),
  main.sub .single_books .content > p:not(:last-child) {
    margin-bottom: 20px;
  }
  main.sub .archive .content > p a,
  main.sub .single .content > p a,
  main.sub .single_books .content > p a {
    text-decoration: underline;
    word-break: break-all;
    color: #ff5820;
    font-weight: bold;
  }
  main.sub .archive .content > p strong,
  main.sub .single .content > p strong,
  main.sub .single_books .content > p strong {
    font-weight: bold;
  }
  main.sub .archive .content > p em,
  main.sub .single .content > p em,
  main.sub .single_books .content > p em {
    font-style: italic;
  }
  main.sub .archive .content img,
  main.sub .archive .content .wp-video,
  main.sub .single .content img,
  main.sub .single .content .wp-video,
  main.sub .single_books .content img,
  main.sub .single_books .content .wp-video {
    margin: 20px auto;
    display: block;
  }
  main.sub .archive .content iframe,
  main.sub .single .content iframe,
  main.sub .single_books .content iframe {
    width: 100%;
    display: block;
    margin: 20px auto;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  main.sub .archive .content blockquote,
  main.sub .single .content blockquote,
  main.sub .single_books .content blockquote {
    padding: 20px 40px;
    position: relative;
    margin: 20px 0;
    background: #ededed;
    border-radius: 20px;
  }
  main.sub .archive .content blockquote:before,
  main.sub .single .content blockquote:before,
  main.sub .single_books .content blockquote:before {
    position: absolute;
    content: "\f10d";
    font-family: "FontAwesome";
    font-weight: bold;
    font-size: 20px;
    color: #ff5820;
    top: 10px;
    left: 10px;
  }
  main.sub .archive .content blockquote:after,
  main.sub .single .content blockquote:after,
  main.sub .single_books .content blockquote:after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f10e";
    font-size: 20px;
    color: #ff5820;
    right: 10px;
    bottom: 10px;
  }
  main.sub .archive .content blockquote p:last-child,
  main.sub .single .content blockquote p:last-child,
  main.sub .single_books .content blockquote p:last-child {
    margin-bottom: 0;
  }
  main.sub .archive .content ul:not([class]),
  main.sub .single .content ul:not([class]),
  main.sub .single_books .content ul:not([class]) {
    padding: 20px 20px 20px 40px;
    margin: 20px auto;
    border-radius: 20px;
    background: #ededed;
  }
  main.sub .archive .content ul:not([class]) li,
  main.sub .single .content ul:not([class]) li,
  main.sub .single_books .content ul:not([class]) li {
    list-style: disc;
  }
  main.sub .archive .content ul:not([class]) li:not(:last-child),
  main.sub .single .content ul:not([class]) li:not(:last-child),
  main.sub .single_books .content ul:not([class]) li:not(:last-child) {
    margin-bottom: 10px;
  }
  main.sub .archive .content h1,
  main.sub .single .content h1,
  main.sub .single_books .content h1 {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 20px 0 30px;
  }
  main.sub .archive .content h2,
  main.sub .single .content h2,
  main.sub .single_books .content h2 {
    margin: 20px 0;
    font-weight: bold;
    background: #ffe5c6;
    color: #ff5820;
    padding: 5px 10px;
  }
  main.sub .archive .content h3,
  main.sub .single .content h3,
  main.sub .single_books .content h3 {
    margin: 20px 0;
    border-left: 5px solid #ff5820;
    color: #ff5820;
    font-weight: bold;
    padding: 0 10px;
  }
  main.sub .archive .content h4,
  main.sub .single .content h4,
  main.sub .single_books .content h4 {
    margin: 20px 0;
    font-weight: bold;
    border-bottom: 3px solid #ff5820;
    color: #ff5820;
  }
  main.sub .archive .content table,
  main.sub .single .content table,
  main.sub .single_books .content table {
    width: 100%;
    margin: 20px 0;
    font-size: 0.9rem;
  }
  main.sub .archive .content table th,
  main.sub .single .content table th,
  main.sub .single_books .content table th {
    background: #ff5820;
    padding: 5px;
    vertical-align: middle;
    color: #fff;
    text-align: center;
  }
  main.sub .archive .content table td,
  main.sub .single .content table td,
  main.sub .single_books .content table td {
    padding: 5px;
    vertical-align: middle;
    border: 1px solid #ff5820;
  }
  main.sub .archive .content dl,
  main.sub .single .content dl,
  main.sub .single_books .content dl {
    margin: 20px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    font-size: 0.9rem;
  }
  main.sub .archive .content dl dt,
  main.sub .single .content dl dt,
  main.sub .single_books .content dl dt {
    background: #ff5820;
    border: 1px solid #ff5820;
    padding: 5px;
    width: 40%;
    vertical-align: middle;
    color: #fff;
  }
  main.sub .archive .content dl dd,
  main.sub .single .content dl dd,
  main.sub .single_books .content dl dd {
    width: calc(100% - 40%);
    border: 1px solid #ff5820;
    padding: 5px;
    vertical-align: middle;
  }
  main.sub .archive .thumb,
  main.sub .single .thumb,
  main.sub .single_books .thumb {
    width: 100%;
    position: relative;
    display: block;
    margin-bottom: 10px;
  }
  main.sub .archive .thumb:before,
  main.sub .single .thumb:before,
  main.sub .single_books .thumb:before {
    content: "";
    display: block;
    padding-top: 143.5%;
  }
  main.sub .archive .thumb img,
  main.sub .single .thumb img,
  main.sub .single_books .thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main.sub .archive .imgleft,
  main.sub .single .imgleft,
  main.sub .single_books .imgleft {
    font-weight: bold;
    color: #5d471b;
    margin-bottom: 40px;
  }
  main.sub .archive .imgleft h3,
  main.sub .single .imgleft h3,
  main.sub .single_books .imgleft h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  main.sub .archive .imgleft h3 span,
  main.sub .single .imgleft h3 span,
  main.sub .single_books .imgleft h3 span {
    font-size: 0.8em;
  }
  main.sub .archive .imgleft p,
  main.sub .single .imgleft p,
  main.sub .single_books .imgleft p {
    text-align: right;
    margin-bottom: 20px;
  }
  main.sub .archive .imgleft p span,
  main.sub .single .imgleft p span,
  main.sub .single_books .imgleft p span {
    display: block;
    font-size: 1.6rem;
  }
  main.sub .archive .imgleft .org,
  main.sub .single .imgleft .org,
  main.sub .single_books .imgleft .org {
    margin-bottom: 20px;
  }
  main.sub .single_books .price {
    margin-bottom: 40px;
    text-align: center;
  }
  main.sub .single_books .price span {
    font-size: 0.8em;
  }
  main.sub .pagenavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 20px;
  }
  main.sub .pagenavi li {
    width: 30%;
  }
  main.sub .pagenavi .btn {
    font-size: 0.8rem;
  }
  main.sub .error .btn {
    margin: 20px auto;
  }
  .swpm-fb-id {
    display: none !important;
  }
  main.sub #swpm-login-form,
  main.sub #swpm-pw-reset-form,
  main.sub #swpm-registration-form,
  main.sub .swpm-login-widget-logged,
  main.sub .swpm_profile_not_logged_in_msg,
  main.sub .swpm-form-builder-container,
  main.sub .thank,
  main.sub .stripe {
    background: #f6f6f6;
    padding: 20px;
  }
  main.sub #swpm-login-form > p,
  main.sub #swpm-pw-reset-form > p,
  main.sub #swpm-registration-form > p,
  main.sub .swpm-login-widget-logged > p,
  main.sub .swpm_profile_not_logged_in_msg > p,
  main.sub .swpm-form-builder-container > p,
  main.sub .thank > p,
  main.sub .stripe > p {
    margin-bottom: 20px;
    font-weight: bold;
  }
  main.sub #swpm-login-form .swpm-legend,
  main.sub #swpm-pw-reset-form .swpm-legend,
  main.sub #swpm-registration-form .swpm-legend,
  main.sub .swpm-login-widget-logged .swpm-legend,
  main.sub .swpm_profile_not_logged_in_msg .swpm-legend,
  main.sub .swpm-form-builder-container .swpm-legend,
  main.sub .thank .swpm-legend,
  main.sub .stripe .swpm-legend {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 20px;
  }
  main.sub #swpm-login-form input[type="text"],
  main.sub #swpm-login-form input[type="tel"],
  main.sub #swpm-login-form input[type="email"],
  main.sub #swpm-login-form input[type="password"],
  main.sub #swpm-login-form select,
  main.sub #swpm-pw-reset-form input[type="text"],
  main.sub #swpm-pw-reset-form input[type="tel"],
  main.sub #swpm-pw-reset-form input[type="email"],
  main.sub #swpm-pw-reset-form input[type="password"],
  main.sub #swpm-pw-reset-form select,
  main.sub #swpm-registration-form input[type="text"],
  main.sub #swpm-registration-form input[type="tel"],
  main.sub #swpm-registration-form input[type="email"],
  main.sub #swpm-registration-form input[type="password"],
  main.sub #swpm-registration-form select,
  main.sub .swpm-login-widget-logged input[type="text"],
  main.sub .swpm-login-widget-logged input[type="tel"],
  main.sub .swpm-login-widget-logged input[type="email"],
  main.sub .swpm-login-widget-logged input[type="password"],
  main.sub .swpm-login-widget-logged select,
  main.sub .swpm_profile_not_logged_in_msg input[type="text"],
  main.sub .swpm_profile_not_logged_in_msg input[type="tel"],
  main.sub .swpm_profile_not_logged_in_msg input[type="email"],
  main.sub .swpm_profile_not_logged_in_msg input[type="password"],
  main.sub .swpm_profile_not_logged_in_msg select,
  main.sub .swpm-form-builder-container input[type="text"],
  main.sub .swpm-form-builder-container input[type="tel"],
  main.sub .swpm-form-builder-container input[type="email"],
  main.sub .swpm-form-builder-container input[type="password"],
  main.sub .swpm-form-builder-container select,
  main.sub .thank input[type="text"],
  main.sub .thank input[type="tel"],
  main.sub .thank input[type="email"],
  main.sub .thank input[type="password"],
  main.sub .thank select,
  main.sub .stripe input[type="text"],
  main.sub .stripe input[type="tel"],
  main.sub .stripe input[type="email"],
  main.sub .stripe input[type="password"],
  main.sub .stripe select {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 40px;
    padding: 15px;
    background: #ededed;
    outline: none;
    margin: 10px 0;
  }
  main.sub #swpm-login-form select,
  main.sub #swpm-pw-reset-form select,
  main.sub #swpm-registration-form select,
  main.sub .swpm-login-widget-logged select,
  main.sub .swpm_profile_not_logged_in_msg select,
  main.sub .swpm-form-builder-container select,
  main.sub .thank select,
  main.sub .stripe select {
    display: block;
    width: 60%;
    padding: 5px 10px;
  }
  main.sub #swpm-login-form textarea,
  main.sub #swpm-pw-reset-form textarea,
  main.sub #swpm-registration-form textarea,
  main.sub .swpm-login-widget-logged textarea,
  main.sub .swpm_profile_not_logged_in_msg textarea,
  main.sub .swpm-form-builder-container textarea,
  main.sub .thank textarea,
  main.sub .stripe textarea {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 100px;
    padding: 15px;
    background: #ededed;
    margin: 10px 0;
  }
  main.sub #swpm-login-form input[type="submit"],
  main.sub #swpm-login-form button[type="submit"],
  main.sub #swpm-login-form .swpm-edit-profile-link a,
  main.sub #swpm-login-form .swpm-logged-logout-link a,
  main.sub #swpm-login-form .btn,
  main.sub #swpm-pw-reset-form input[type="submit"],
  main.sub #swpm-pw-reset-form button[type="submit"],
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a,
  main.sub #swpm-pw-reset-form .btn,
  main.sub #swpm-registration-form input[type="submit"],
  main.sub #swpm-registration-form button[type="submit"],
  main.sub #swpm-registration-form .swpm-edit-profile-link a,
  main.sub #swpm-registration-form .swpm-logged-logout-link a,
  main.sub #swpm-registration-form .btn,
  main.sub .swpm-login-widget-logged input[type="submit"],
  main.sub .swpm-login-widget-logged button[type="submit"],
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a,
  main.sub .swpm-login-widget-logged .btn,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"],
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"],
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a,
  main.sub .swpm_profile_not_logged_in_msg .btn,
  main.sub .swpm-form-builder-container input[type="submit"],
  main.sub .swpm-form-builder-container button[type="submit"],
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a,
  main.sub .swpm-form-builder-container .btn,
  main.sub .thank input[type="submit"],
  main.sub .thank button[type="submit"],
  main.sub .thank .swpm-edit-profile-link a,
  main.sub .thank .swpm-logged-logout-link a,
  main.sub .thank .btn,
  main.sub .stripe input[type="submit"],
  main.sub .stripe button[type="submit"],
  main.sub .stripe .swpm-edit-profile-link a,
  main.sub .stripe .swpm-logged-logout-link a,
  main.sub .stripe .btn {
    outline: none;
    -webkit-appearance: none;
    margin: 20px auto;
    font-family: "Noto Sans JP", sans-serif;
    display: block;
    border-radius: 100px;
    padding: 10px;
    border: 2px solid #5d471b;
    background: #5d471b;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    width: 100%;
  }
  main.sub #swpm-login-form input[type="submit"] span,
  main.sub #swpm-login-form button[type="submit"] span,
  main.sub #swpm-login-form .swpm-edit-profile-link a span,
  main.sub #swpm-login-form .swpm-logged-logout-link a span,
  main.sub #swpm-login-form .btn span,
  main.sub #swpm-pw-reset-form input[type="submit"] span,
  main.sub #swpm-pw-reset-form button[type="submit"] span,
  main.sub #swpm-pw-reset-form .swpm-edit-profile-link a span,
  main.sub #swpm-pw-reset-form .swpm-logged-logout-link a span,
  main.sub #swpm-pw-reset-form .btn span,
  main.sub #swpm-registration-form input[type="submit"] span,
  main.sub #swpm-registration-form button[type="submit"] span,
  main.sub #swpm-registration-form .swpm-edit-profile-link a span,
  main.sub #swpm-registration-form .swpm-logged-logout-link a span,
  main.sub #swpm-registration-form .btn span,
  main.sub .swpm-login-widget-logged input[type="submit"] span,
  main.sub .swpm-login-widget-logged button[type="submit"] span,
  main.sub .swpm-login-widget-logged .swpm-edit-profile-link a span,
  main.sub .swpm-login-widget-logged .swpm-logged-logout-link a span,
  main.sub .swpm-login-widget-logged .btn span,
  main.sub .swpm_profile_not_logged_in_msg input[type="submit"] span,
  main.sub .swpm_profile_not_logged_in_msg button[type="submit"] span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-edit-profile-link a span,
  main.sub .swpm_profile_not_logged_in_msg .swpm-logged-logout-link a span,
  main.sub .swpm_profile_not_logged_in_msg .btn span,
  main.sub .swpm-form-builder-container input[type="submit"] span,
  main.sub .swpm-form-builder-container button[type="submit"] span,
  main.sub .swpm-form-builder-container .swpm-edit-profile-link a span,
  main.sub .swpm-form-builder-container .swpm-logged-logout-link a span,
  main.sub .swpm-form-builder-container .btn span,
  main.sub .thank input[type="submit"] span,
  main.sub .thank button[type="submit"] span,
  main.sub .thank .swpm-edit-profile-link a span,
  main.sub .thank .swpm-logged-logout-link a span,
  main.sub .thank .btn span,
  main.sub .stripe input[type="submit"] span,
  main.sub .stripe button[type="submit"] span,
  main.sub .stripe .swpm-edit-profile-link a span,
  main.sub .stripe .swpm-logged-logout-link a span,
  main.sub .stripe .btn span {
    background: none;
    text-shadow: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: bold;
  }
  .my-stripe-button {
    display: block;
    width: 100%;
    border-radius: 100px;
    padding: 10px;
    background: #ff8c00;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    margin-top: 40px;
  }
  footer {
    background: #ffe5c6;
  }
  footer h2 {
    padding: 20px;
    text-align: center;
  }
  footer ul {
    border-top: 1px solid #52462d;
  }
  footer ul a {
    display: block;
    border-bottom: 1px solid #52462d;
    padding: 10px 20px;
  }
  footer small {
    display: block;
    padding: 10px;
    text-align: center;
  }
  .pconly {
    display: none;
  }
}
/*# sourceMappingURL=style.css.map */