@charset "UTF-8";
/* ---------------------------
 * ALL Width
 * --------------------------- */
.pswp__caption__center {
  max-width: 700px;
}

.base-page {
  position: relative;
  z-index: 2;
}
.base-page ol:not([class*=mod-]):not([class*=l-]),
.base-page ul:not([class*=mod-]):not([class*=l-]) {
  margin-top: 30px;
  margin-bottom: 0;
}
.base-page p:not([class*=mod-]) {
  margin-top: 30px;
}
.base-page .l-more {
  margin: 30px 0 0;
}
.base-page .l-more__main > *:first-child {
  margin-top: 0 !important;
}
.base-page .l-more__main > *:last-child {
  margin-bottom: 0 !important;
}
.base-page .l-more__button {
  z-index: 20;
}
.base-page .l-section {
  margin: 100px 0 0;
}
.base-page .l-r-toggle {
  margin: 30px 0 0;
}
.base-page .mod-headingB {
  margin-top: 60px;
  margin-bottom: 0;
}
.base-page .mod-r-pager {
  margin-top: 40px;
  margin-bottom: 40px;
}
.base-page .mod-r-linktextA {
  margin-top: 30px;
}
.base-page .mod-r-profile {
  margin-top: 30px;
  margin-bottom: 0;
}
.base-page .mod-r-profile__ruby {
  margin: 10px 0 0;
}
.base-page .mod-r-profile__name {
  position: relative;
}
.base-page .mod-r-profile__name:before {
  position: absolute;
  top: 7px;
  left: -20px;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 16px;
}
.base-page .mod-r-profile__name a {
  color: inherit;
}
.base-page .mod-r-profile__photo img {
  max-width: 160px;
}
.base-page .mod-r-banner {
  margin: 60px 0 0;
}
.base-page .mod-r-floatingNavi {
  z-index: 30;
}

.base-contents.type-gray {
  background-color: #FAFAFA;
}

.base-main {
  position: relative;
}

.l-column {
  margin: 10px -10px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.l-column > * {
  flex-column: 0;
  flex-shrink: 0;
}
.l-column--left {
  justify-content: flex-start;
}
.l-column__col {
  box-sizing: border-box;
  margin: 20px 0 0;
  padding: 0 10px;
}
.l-column__col > *:first-child {
  margin-top: 0 !important;
}
.l-column__col > *:last-child {
  margin-bottom: 0 !important;
}
.l-column__col.is-col1 {
  width: calc( (100% / 12) * 1);
}
.l-column__col.is-col2 {
  width: calc( (100% / 12) * 2);
}
.l-column__col.is-col3 {
  width: calc( (100% / 12) * 3);
}
.l-column__col.is-col4 {
  width: calc( (100% / 12) * 4);
}
.l-column__col.is-col5 {
  width: calc( (100% / 12) * 5);
}
.l-column__col.is-col6 {
  width: calc( (100% / 12) * 6);
}
.l-column__col.is-col7 {
  width: calc( (100% / 12) * 7);
}
.l-column__col.is-col8 {
  width: calc( (100% / 12) * 8);
}
.l-column__col.is-col9 {
  width: calc( (100% / 12) * 9);
}
.l-column__col.is-col10 {
  width: calc( (100% / 12) * 10);
}
.l-column__col.is-col11 {
  width: calc( (100% / 12) * 11);
}
.l-column__col.is-col12 {
  width: calc( (100% / 12) * 12);
}

.l-r-tab {
  margin: 60px 0 0;
  border: 1px solid #EFEFEF;
}
.l-r-tab__nav {
  list-style: none;
  margin: -1px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border: solid #666666;
  border-width: 1px 0;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem {
  width: calc((100% + 2px)/3);
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(4n+1) {
  margin-left: -1px;
  border-left: 1px solid #EFEFEF;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(4n) {
  border-right: 1px solid #EFEFEF;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(-n+4) {
  border-top: 1px solid #EFEFEF;
  margin-top: -1px;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(3n+1) {
  margin-left: 0;
  border-left: none;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(3n) {
  border-right: none;
}
.l-r-tab__nav.type-layout3 .l-r-tab__navItem:nth-child(-n+3) {
  border-top: none;
  margin-top: 0;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem {
  width: calc((100% + 1px)/2);
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(4n+1) {
  margin-left: -1px;
  border-left: 1px solid #EFEFEF;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(4n) {
  border-right: 1px solid #EFEFEF;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(-n+4) {
  border-top: 1px solid #EFEFEF;
  margin-top: -1px;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(2n+1) {
  margin-left: 0;
  border-left: none;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(2n) {
  border-right: none;
}
.l-r-tab__nav.type-layout2 .l-r-tab__navItem:nth-child(-n+2) {
  border-top: none;
  margin-top: 0;
}
.l-r-tab__navItem {
  box-sizing: border-box;
  width: calc((100% + 3px)/4);
  border: 1px solid #EFEFEF;
  margin-left: -1px;
  margin-top: -1px;
}
.l-r-tab__navItem:nth-child(4n+1) {
  margin-left: 0;
  border-left: none;
}
.l-r-tab__navItem:nth-child(4n) {
  border-right: none;
}
.l-r-tab__navItem:nth-child(-n+4) {
  border-top: none;
  margin-top: 0;
}
.l-r-tab__navItem.is-current a {
  box-shadow: inset 0 0 0 3px #FFED1B;
}
.l-r-tab__navItem a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  height: 54px;
}
.l-r-tab__body {
  font-size: 16px;
  line-height: 2.125;
}
.l-r-tab__section {
  display: none;
}
.l-r-tab__section > *:last-child {
  margin-bottom: 0 !important;
}
.l-r-tab__section.is-opened {
  display: block;
}

.l-r-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 221;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
  padding: 20px;
  box-sizing: border-box;
}
.l-r-modal__main {
  box-sizing: border-box;
  width: 100%;
  min-width: 30vw;
  max-width: 1060px;
  max-height: 80vh;
  overflow-y: auto;
  background-color: #fff;
}
.l-r-modal__mainInner {
  padding: 30px;
}
.l-r-modal__mainInner > *:first-child {
  margin-top: 0 !important;
}
.l-r-modal__mainInner > *:last-child {
  margin-bottom: 0 !important;
}
.l-r-modal__button {
  position: absolute;
  top: 20px;
  right: 20px;
  display: block;
  width: 16px;
  height: 16px;
  background: none;
  padding: 0;
  background: url("/common_special/img/icon-close.svg") no-repeat 0 0;
  background-size: 16px auto;
  border: none;
  cursor: pointer;
}
.l-r-modal.is-closed {
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.l-r-profile {
  margin: 60px 0 0;
}

.mod-r-header {
  border-top: 6px solid #ffed1b;
  border-bottom: 1px solid #efefef;
}
.mod-r-header.type-floating {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  border-bottom: none;
  border-top: none;
}
.mod-r-header.type-floating .mod-r-header__logo {
  margin: 5px 0 0 20px;
}
.mod-r-header.type-floating .mod-r-header__logo a {
  display: flex;
  align-items: center;
}
.mod-r-header__inner {
  position: relative;
  display: flex;
  align-items: center;
}
.mod-r-header__logo {
  width: 76px;
  margin: 10px 0 13px;
  font-size: 10px;
  line-height: 1;
}
.mod-r-header__pagename {
  margin: 0 0 0 10px;
  font-weight: bold;
  font-size: 12px;
  line-height: 3;
}
.mod-r-header__pagename:before {
  display: inline-block;
  content: "|";
  margin-right: 10px;
  font-weight: normal;
}

@media print, screen and (min-width: 1440px) {
  .mod-r-header.type-floating .mod-r-header__logo {
    margin-left: 40px;
  }
}
.mod-r-message {
  border: solid #666666;
  border-width: 1px 0;
}
.mod-r-message__inner {
  padding: 10px 10px;
  text-align: center;
}
.mod-r-message__inner > *:first-child {
  margin-top: 0 !important;
}
.mod-r-message__inner > *:last-child {
  margin-bottom: 0 !important;
}
.mod-r-message__item {
  position: relative;
  line-height: 1.5;
}
.mod-r-message__item a {
  color: inherit;
}
.mod-r-message__item:before {
  position: relative;
  top: -1px;
  display: inline-block;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 11px;
  margin-right: 5px;
  vertical-align: middle;
}

.mod-r-hero {
  position: relative;
  color: #000;
}
.base-contents .mod-r-hero {
  margin-top: 30px;
}
.mod-r-hero__photo img {
  width: 100%;
  height: auto;
}
.mod-r-hero__textbox {
  font-weight: normal;
  font-family: "TP Mincho StdN High B", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mod-r-hero__textbox > *:first-child {
  margin-top: 0 !important;
}
.mod-r-hero__textbox > *:last-child {
  margin-bottom: 0 !important;
}
.mod-r-hero__color {
  color: #F2BA00;
}
.mod-r-hero__lead {
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 1.6875em;
}
@media screen and (min-width: 719px) {
  .mod-r-hero__lead {
    font-size: calc(0.83vw + 20px);
  }
}
@media screen and (min-width: 1440px) {
  .mod-r-hero__lead {
    font-size: 32px;
  }
}
.mod-r-hero__heading {
  margin: 0;
  line-height: 1;
}
@media screen and (min-width: 719px) {
  .mod-r-hero__heading {
    font-size: calc(2.77vw + 20px);
  }
}
@media screen and (min-width: 1440px) {
  .mod-r-hero__heading {
    font-size: 60px;
  }
}
.mod-r-hero__subTitle {
  display: inline-block;
  margin-left: 0.5em;
  line-height: 1;
}
@media screen and (min-width: 719px) {
  .mod-r-hero__subTitle {
    font-size: calc(0.55vw + 18px);
  }
}
@media screen and (min-width: 1440px) {
  .mod-r-hero__subTitle {
    font-size: 26px;
  }
}
.mod-r-hero__author {
  margin: 10px 0 0;
  color: #F2BA00;
  line-height: 1.5;
}
@media screen and (min-width: 719px) {
  .mod-r-hero__author {
    font-size: calc(0.55vw + 18px);
  }
}
@media screen and (min-width: 1440px) {
  .mod-r-hero__author {
    font-size: 26px;
  }
}

.mod-r-anchorA {
  margin: 60px 0 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
.mod-r-anchorA__links {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.mod-r-anchorA__link {
  box-sizing: border-box;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.5;
}
.mod-r-anchorA__link a {
  position: relative;
  display: inline-block;
  padding: 0 0 0 18px;
  color: inherit;
}
.mod-r-anchorA__link a:before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  content: "";
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.83333;
}
.mod-r-anchorA__link a:active {
  text-decoration: none;
  opacity: 1;
}
.mod-r-anchorA__link a:active .text {
  text-decoration: underline;
}
.mod-r-anchorA__link a:visited:before {
  color: #9b9b9b;
}

.mod-r-unit {
  margin: 60px 0 0;
  border: 2px solid #FFED1B;
}
.mod-r-unit > *:first-child {
  margin-top: 0 !important;
}
.mod-r-unit > *:last-child {
  margin-bottom: 0 !important;
}

.mod-r-visualUnit {
  margin: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.mod-r-visualUnit__textbox {
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 380px;
}
.mod-r-visualUnit__textbox > *:first-child {
  margin-top: 0 !important;
}
.mod-r-visualUnit__textbox > *:last-child {
  margin-bottom: 0 !important;
}
.mod-r-visualUnit__textboxInner {
  margin-left: auto;
  margin-right: auto;
}
.mod-r-visualUnit__textboxInner > *:first-child {
  margin-top: 0 !important;
}
.mod-r-visualUnit__textboxInner > *:last-child {
  margin-bottom: 0 !important;
}

.mod-r-video {
  max-width: 700px;
  margin: 30px auto 0;
}
.mod-r-video__media {
  position: relative;
  padding-top: 56.25%;
}
.mod-r-video__media iframe, .mod-r-video__media video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mod-r-video__caption {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

.mod-r-figure {
  position: relative;
  display: table;
  margin: 30px auto 0;
  text-align: center;
}
.mod-r-figure > a {
  position: relative;
  display: inline-block;
}
.mod-r-figure img {
  width: 100%;
  display: block;
}
.mod-r-figure__caption {
  display: table-caption;
  caption-side: bottom;
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.mod-r-figure.l-column__col .mod-r-figure__caption {
  padding: 0 10px;
}
.mod-r-figure.js-preview__item > a {
  position: relative;
}
.mod-r-figure.js-preview__item > a:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  z-index: 3;
  background: url("/common_special/img/icon-zoom.png") no-repeat 0 0;
  background-size: 20px 20px;
}

.mod-r-buttonD {
  display: block;
  padding: 12px 10px;
  border: 1px solid #000;
  background-color: #FFF;
  color: #000;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none !important;
}
.mod-r-buttonD:link, .mod-r-buttonD:visited {
  color: #000;
}
.mod-r-buttonD.type-small {
  padding: 5px 10px;
}

.mod-r-headingA {
  margin: 60px 0 0;
}
.mod-r-headingA__title {
  margin: 0;
  font-family: "TP Mincho StdN High B", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
}

.mod-r-headingB {
  margin: 100px 0 0;
}
.mod-r-headingB__icon {
  width: 32px;
  margin: 0 auto 5px;
}
.mod-r-headingB__icon img {
  width: 32px;
  height: auto;
  vertical-align: middle;
}
.mod-r-headingB__title {
  margin: 0;
  font-family: "TP Mincho StdN High B", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
}
.mod-r-headingB.type-horizontal {
  position: relative;
}
.mod-r-headingB.type-horizontal .mod-r-headingB__icon {
  position: absolute;
  top: 0.5em;
  left: 0;
  margin: 0;
  display: inline-block;
}
.mod-r-headingB.type-horizontal .mod-r-headingB__title {
  text-align: left;
}
.mod-r-headingB.type-horizontal .mod-r-headingB__icon + .mod-r-headingB__title {
  padding-left: 42px;
}

.mod-r-headingC {
  margin: 100px 0 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #000;
}
.mod-r-headingC__title {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}

.mod-r-headingD {
  margin: 30px 0 0;
}
.mod-r-headingD__title {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.mod-r-table {
  margin: 30px 0 0;
}
.mod-r-table__body {
  width: 100%;
  border-top: 1px solid #CBCBCB;
}
.mod-r-table__body tr th, .mod-r-table__body tr td {
  padding: 10px;
  border-bottom: 1px solid #CBCBCB;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  box-sizing: border-box;
}

.mod-r-textUnit {
  margin: 30px 0 0;
  display: flex;
}
.mod-r-textUnit__sub {
  white-space: nowrap;
  margin-right: 10px;
}
.mod-r-textUnit__sub .mod-label {
  margin-right: 20px;
}
.mod-r-textUnit__icon {
  display: inline-block;
  min-width: 32px;
}
.mod-r-textUnit__main > *:first-child {
  margin-top: 0 !important;
}
.mod-r-textUnit__main > *:last-child {
  margin-bottom: 0 !important;
}
.mod-r-textUnit__main p, .mod-r-textUnit__main li {
  line-height: 1.5;
}

.mod-r-news {
  margin: 30px 0 0;
  padding: 20px;
  border: 1px solid #CBCBCB;
}
.mod-r-news__title {
  margin: 0 0 10px;
  font-weight: bold;
  font-size: 16px;
  line-height: 2;
}
.mod-r-news__title a {
  color: inherit;
}
.mod-r-news__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 100%;
  line-height: 1;
}
.mod-r-news__date {
  white-space: nowrap;
  color: #9B9B9B;
  font-size: 12px;
  line-height: 1.5;
}

.mod-r-newsList {
  margin: 30px 0 0;
  border-top: 1px solid #EFEFEF;
}
.mod-r-newsList__date {
  padding: 10px;
  white-space: nowrap;
  font-weight: bold;
  box-sizing: border-box;
}
.mod-r-newsList__title {
  position: relative;
  box-sizing: border-box;
  padding: 10px 10px 10px 17px;
}
.mod-r-newsList__title:before {
  position: absolute;
  top: 17px;
  left: 0;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 11px;
  margin-right: 5px;
}
.mod-r-newsList__title a {
  color: inherit;
}

.mod-r-menu {
  z-index: 220;
}
.mod-r-menu__button {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 21px 16px;
  border-radius: 100%;
  background-color: #FDEC54;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  z-index: 250;
}
body.is-modal-opened .mod-r-menu__button {
  z-index: 20;
}
.mod-r-menu__button.is-closed .mod-r-menu__icon .line:nth-child(1) {
  transform: translateY(0) rotate(0);
}
.mod-r-menu__button.is-closed .mod-r-menu__icon .line:nth-child(2) {
  opacity: 1;
}
.mod-r-menu__button.is-closed .mod-r-menu__icon .line:nth-child(3) {
  transform: translateY(0) rotate(0);
}
.mod-r-menu__icon {
  position: relative;
  width: 24px;
  height: 14px;
}
.mod-r-menu__icon .line {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
  transition: all 0.5s;
}
.mod-r-menu__icon .line:nth-child(1) {
  top: 0;
  transform: translateY(6px) rotate(-45deg);
}
.mod-r-menu__icon .line:nth-child(2) {
  top: 6px;
  opacity: 0;
}
.mod-r-menu__icon .line:nth-child(3) {
  bottom: 0;
  transform: translateY(-6px) rotate(45deg);
}
.mod-r-menu__body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.97);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
  z-index: 220;
}
.mod-r-menu__body.is-closed {
  opacity: 0;
  z-index: -1;
  visibility: hidden;
}
.mod-r-menu__bodyInner {
  width: 100%;
  padding: 0 20px;
  max-width: 640px;
  max-height: 100vh;
  overflow: auto;
  box-sizing: border-box;
}
.mod-r-menu__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mod-r-menu__navItem {
  position: relative;
  border-top: 1px solid #efefef;
  font-size: 18px;
  line-height: 1.5;
}
.mod-r-menu__navItem:first-child {
  border-top: none;
}
.mod-r-menu__navItem a {
  display: block;
  padding: 9px 20px;
  color: inherit;
  text-decoration: none;
}
.mod-r-menu__nav2 {
  padding-left: 40px;
}
.mod-r-menu__nav2Item {
  font-size: 16px;
  line-height: 1.5;
  margin: 10px 0 0;
}
.mod-r-menu__nav2Item a {
  padding: 0;
}
.mod-r-menu__childHead {
  position: relative;
  padding-right: 42px;
}
.mod-r-menu__childBtn {
  position: absolute;
  top: 0;
  right: 10px;
  width: 32px;
  height: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.mod-r-menu__childBtn:before, .mod-r-menu__childBtn:after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  background: #000;
  transform: translate(-50%, -50%);
}
.mod-r-menu__childBtn:before {
  width: 12px;
  height: 1px;
}
.mod-r-menu__childBtn:after {
  width: 1px;
  height: 12px;
  opacity: 0;
}
.mod-r-menu__childBtn.is-closed:after {
  opacity: 1;
}
.mod-r-menu__childBody.is-closed {
  display: none;
}

@media print, screen and (min-width: 1440px) {
  .mod-r-menu__button {
    right: 40px;
  }
}
.mod-r-slider .swiper-slide {
  width: 100%;
}
.mod-r-slider .swiper-slide img {
  max-width: none;
  width: 100%;
  height: auto;
}
.mod-r-slider .swiper-button-next,
.mod-r-slider .swiper-button-prev {
  color: #9B9B9B;
}

.mod-r-pagersection {
  margin-top: 30px;
}
.mod-r-pagersection__section {
  display: none;
}
.mod-r-pagersection__section.is-opened {
  display: block;
}

.mod-r-linktextA {
  position: relative;
}
.mod-r-linktextA:before {
  position: relative;
  top: -1px;
  display: inline-block;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 11px;
  vertical-align: middle;
}
.mod-r-linktextA a {
  color: inherit;
}

.mod-r-anchorB {
  position: relative;
  font-size: 14px;
  line-height: 1.5;
}
.mod-r-anchorB:before {
  position: relative;
  top: -1px;
  display: inline-block;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  content: "";
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.83333;
  vertical-align: middle;
  margin-right: 5px;
}
.mod-r-anchorB a {
  color: inherit;
}

.mod-r-bookB {
  margin: 60px 0 0;
}
.mod-r-bookB__figure {
  position: relative;
  overflow: hidden;
}
.mod-r-bookB__label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  font-size: 10px;
  line-height: 1;
}
.mod-r-bookB__inner {
  position: relative;
  display: table-cell;
  width: 250px;
  height: 250px;
  box-sizing: border-box;
  border: 1px solid #cbcbcb;
  padding: 33px 10px 23px;
  vertical-align: bottom;
  text-align: center;
  z-index: 10;
  background-color: #fff;
  overflow: hidden;
}
.mod-r-bookB__image {
  position: relative;
  display: inline-block;
}
.mod-r-bookB__image img {
  position: relative;
  z-index: 10;
  max-width: 228px;
  max-height: 185px;
  vertical-align: bottom;
}
.mod-r-bookB__image:after {
  position: absolute;
  left: 2%;
  bottom: -5px;
  display: block;
  content: "";
  width: 96%;
  height: 3px;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.23);
  opacity: 0.6;
  z-index: 2;
}
.mod-r-bookB__image:before {
  position: absolute;
  left: 0;
  bottom: -6px;
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.12);
  box-shadow: 0 0 30px 14px rgba(0, 0, 0, 0.13);
  opacity: 0.9;
  z-index: 1;
}
.mod-r-bookB__head {
  position: relative;
  margin: 0 0 15px;
}
.mod-r-bookB__title {
  position: relative;
  margin: 0;
  font-size: 24px;
  line-height: 1.5;
}
.mod-r-bookB__title:before {
  position: absolute;
  top: 9px;
  left: -20px;
  content: "";
  font-family: "themify";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 16px;
}
.mod-r-bookB__title a {
  color: inherit;
}
.mod-r-bookB__author {
  margin: 10px 0 0;
  font-weight: bold;
  line-height: 1.5;
}
.mod-r-bookB__price {
  margin: 0;
  font-weight: bold;
  display: flex;
  align-items: flex-end;
  font-size: 18px;
  line-height: 1.5;
}
.mod-r-bookB__price dt {
  display: inline-block;
  font-size: 12px;
  line-height: 2.333;
  margin-right: 0.5em;
}
.mod-r-bookB__price dd {
  font-size: 18px;
}
.mod-r-bookB__price dd .text {
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
}

.mod-r-galleryB {
  padding-bottom: 48px;
  overflow: hidden;
}
.mod-r-galleryB figcaption {
  margin: 0 0 -10px;
  font-size: 14px;
  line-height: 2.125;
}
.mod-r-galleryB .swiper-slide img {
  width: 100%;
  height: auto;
}
.mod-r-galleryB .swiper-container {
  overflow: visible;
}
.mod-r-galleryB .swiper-button-next,
.mod-r-galleryB .swiper-button-prev {
  color: #9B9B9B;
}
.mod-r-galleryB .swiper-container-horizontal .swiper-pagination {
  bottom: -48px;
  width: 100%;
}
.mod-r-galleryB .swiper-pagination-bullet {
  box-sizing: border-box;
  background: none;
  border: 1px solid #9B9B9B;
  border-radius: 100%;
  width: 10px;
  height: 10px;
  opacity: 1;
  margin: 0 5px;
}
.mod-r-galleryB .swiper-pagination-bullet-active {
  background-color: #9B9B9B;
}
.base-contents .mod-r-galleryB {
  margin-top: 30px;
  padding-bottom: 0;
}
.base-contents .mod-r-galleryB .mod-r-galleryB__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0 0;
}
.base-contents .mod-r-galleryB .swiper-pagination {
  position: static;
  padding: 0 30px;
  box-sizing: border-box;
  width: auto;
}
.base-contents .mod-r-galleryB .swiper-button-next,
.base-contents .mod-r-galleryB .swiper-button-prev {
  position: static;
  width: 18px;
  height: 30px;
  margin: 0;
}
.base-contents .mod-r-galleryB .swiper-button-next:after,
.base-contents .mod-r-galleryB .swiper-button-prev:after {
  font-size: 30px;
  line-height: 1;
}
.base-contents .mod-r-galleryB .swiper-button-next {
  top: auto;
  right: 0;
  bottom: -48px;
}
.base-contents .mod-r-galleryB .swiper-button-prev {
  top: auto;
  left: 0;
  bottom: -48px;
}

.mod-r-socialA__item iframe {
  width: 100%;
}
.mod-r-socialA__item .facebook-wrapper > .fb-page > span,
.mod-r-socialA__item .facebook-wrapper iframe {
  width: 100% !important;
}

.mod-r-socialB {
  margin: 100px 0;
}
.mod-r-socialB__title {
  margin: 0 0 15px;
  font-family: "TP Mincho StdN High B", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}
.mod-r-socialB__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-r-socialB__item {
  margin: 0 10px;
}
.mod-r-socialB__item a {
  display: block;
}

.mod-r-pagetop {
  z-index: 49;
}

.mod-r-pagetopC {
  position: absolute;
  top: -90px;
  right: 50px;
  z-index: 170;
  transition: opacity 0.5s;
}
.mod-r-pagetopC a {
  display: block;
  background-color: #fff;
  color: inherit;
  text-align: center;
  box-sizing: border-box;
}
.mod-r-pagetopC a:hover {
  text-decoration: none;
}
.mod-r-pagetopC.is-stop {
  position: absolute !important;
  top: -90px;
  right: 50px;
}

.mod-r-pagetopD {
  background-color: #efefef;
  color: #000;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 40px;
}
.mod-r-pagetopD i {
  font-weight: normal;
  margin-left: 10px;
}
.mod-r-pagetopD a {
  display: block;
}
.mod-r-pagetopD a:hover {
  text-decoration: none;
}
.mod-r-pagetopD a:link, .mod-r-pagetopD a:visited {
  color: #000;
}

.u-mt0 {
  margin-top: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-txtSet-01 {
  margin: 30px 0 0;
  font-size: 16px;
  line-height: 1.5;
}
.u-txtSet-01 li {
  font-size: 16px;
  line-height: 1.5;
}
.u-txtSet-01 li + li {
  margin-top: 1em;
}

.u-txt-normal {
  font-weight: normal !important;
}

.u-txt-bold {
  font-weight: bold !important;
}

.u-txt-nowrap {
  white-space: nowrap !important;
}

.u-txt-breakword {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.u-txt-justify {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}

.u-txt-lowercase {
  text-transform: lowercase !important;
}

.u-txt-uppercase {
  text-transform: uppercase !important;
}

.u-txt-capitalize {
  text-transform: capitalize !important;
}

.u-txt-smallcaps {
  font-variant: small-caps !important;
}

.u-txt-right {
  text-align: right !important;
}

.u-txt-center {
  text-align: center !important;
}

.u-txt-left {
  text-align: left !important;
}

.u-txt-top {
  vertical-align: top !important;
}

.u-txt-middle {
  vertical-align: middle !important;
}

.u-txt-bottom {
  vertical-align: bottom !important;
}

.u-ff-min {
  font-family: "TP Mincho StdN High B", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.u-ff-go {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.u-fz-dpLv1,
.u-fz-dpLv2,
.u-fz-dpLv3,
.u-fz-dpLv4,
.u-fz-dpLv5,
.u-fz-dpLv6,
.u-fz-Lv1,
.u-fz-Lv2,
.u-fz-Lv3 {
  font-weight: bold;
}

.u-fz-small {
  font-size: 14px;
  line-height: 2;
}

.u-fz-caption {
  font-size: 14px;
  line-height: 1.5;
}

.u-fz-notes {
  padding-left: 0;
  list-style: none;
  font-size: 12px;
  line-height: 1.5;
}
.u-fz-notes li {
  font-size: 100%;
  line-height: 1.5;
}
.u-fz-notes li + li {
  margin-top: 1em;
}

.u-fz-dpLv5 {
  font-size: 18px;
  line-height: 1.5;
}

.u-fz-dpLv6 {
  font-size: 16px;
  line-height: 1.5;
}

.u-fz-Lv2 {
  font-size: 18px;
  line-height: 1.5;
}

.u-fz-Lv3 {
  font-size: 16px;
  line-height: 1.5;
}

.u-w-100p {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.u-mw-350 {
  max-width: 350px;
}

.u-btn-left {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.u-btn-center {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-btn-right {
  margin-left: auto !important;
  margin-right: 0 !important;
}

@media print, screen and (min-width: 720px) {
  /* ---------------------------
   * PC
   * --------------------------- */
  .mod-footer__copyright.type-center {
    float: none;
    text-align: center;
  }

  .l-column__col.is-col1 {
    width: calc( (100% / 12) * 1);
  }
  .l-column__col.is-col2 {
    width: calc( (100% / 12) * 2);
  }
  .l-column__col.is-col3 {
    width: calc( (100% / 12) * 3);
  }
  .l-column__col.is-col4 {
    width: calc( (100% / 12) * 4);
  }
  .l-column__col.is-col5 {
    width: calc( (100% / 12) * 5);
  }
  .l-column__col.is-col6 {
    width: calc( (100% / 12) * 6);
  }
  .l-column__col.is-col7 {
    width: calc( (100% / 12) * 7);
  }
  .l-column__col.is-col8 {
    width: calc( (100% / 12) * 8);
  }
  .l-column__col.is-col9 {
    width: calc( (100% / 12) * 9);
  }
  .l-column__col.is-col10 {
    width: calc( (100% / 12) * 10);
  }
  .l-column__col.is-col11 {
    width: calc( (100% / 12) * 11);
  }
  .l-column__col.is-col12 {
    width: calc( (100% / 12) * 12);
  }

  .l-r-tab__navItem a:hover {
    box-shadow: inset 0 0 0 3px #FFED1B;
    text-decoration: none;
    opacity: 1;
  }
  .l-r-tab__body {
    padding: 25px 30px;
  }
  .l-r-tab__body .l-r-tab__nav {
    margin: -26px -30px 0;
  }

  .mod-r-header.type-floating {
    padding-top: 20px;
  }
  .mod-r-header.type-floating .mod-r-header__inner {
    max-width: none;
  }
  .mod-r-header__inner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 10px;
  }

  .mod-r-message__inner {
    max-width: 1060px;
    margin: 0 auto;
  }

  .mod-r-hero__main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .mod-r-hero__mainInner {
    max-width: 1060px;
    margin: 0 auto;
  }
  .mod-r-hero__textbox {
    margin-top: 5.66%;
    box-sizing: border-box;
    display: inline-flex;
    justify-content: space-between;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 23px 10px 23px 28px;
  }

  .mod-r-anchorA {
    padding: 40px 60px;
  }
  .mod-r-anchorA__links {
    margin: -10px 0 0 -40px;
  }
  .mod-r-anchorA__link {
    float: left;
    margin: 10px 0 0 40px;
  }
  .mod-r-anchorA__link a:hover {
    text-decoration: none;
    opacity: 1;
  }
  .mod-r-anchorA__link a:hover .text {
    text-decoration: underline;
  }

  .mod-r-unit {
    padding: 30px;
  }

  .mod-r-visualUnit {
    padding: 80px 20px;
  }
  .mod-r-visualUnit__textbox {
    max-width: 1060px;
    margin: 0 auto;
    padding: 30px;
    min-height: 460px;
  }
  .mod-r-visualUnit__textboxInner {
    min-width: 374px;
  }

  .mod-r-buttonD:hover {
    background-color: #000;
    color: #FFF;
    opacity: 1;
  }

  .mod-r-headingA__title {
    font-size: 40px;
    line-height: 1.5;
  }

  .mod-r-headingB__title {
    font-size: 32px;
    line-height: 1.5;
  }

  .mod-r-table__body tr th {
    width: 360px;
  }

  .mod-r-newsList {
    display: table;
    width: 100%;
  }
  .mod-r-newsList__item {
    display: table-row;
  }
  .mod-r-newsList__date {
    border-bottom: 1px solid #EFEFEF;
    display: table-cell;
    width: 166px;
  }
  .mod-r-newsList__title {
    border-bottom: 1px solid #EFEFEF;
    display: table-cell;
  }

  .mod-r-menu__bodyInner {
    width: 640px;
  }
  .mod-r-menu__nav {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .mod-r-menu__navItem a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  .mod-r-bookB {
    display: flex;
  }
  .mod-r-bookB__inner:hover {
    opacity: 1;
  }
  .mod-r-bookB__inner:hover img {
    opacity: 0.7;
  }
  .mod-r-bookB__figure {
    padding: 5px 5px 0;
    margin: -5px -5px 0;
  }
  .mod-r-bookB__sub {
    width: 340px;
    margin-right: 20px;
  }
  .mod-r-bookB__main {
    width: 700px;
  }
  .mod-r-bookB__foot {
    display: flex;
    justify-content: space-between;
  }
  .mod-r-bookB__button {
    max-width: 250px;
    width: 100%;
  }
  .mod-r-bookB__price {
    margin-bottom: auto;
  }

  .mod-r-galleryB .swiper-button-next,
.mod-r-galleryB .swiper-button-prev {
    width: 36px;
    height: 60px;
    margin-top: -30px;
  }
  .mod-r-galleryB .swiper-button-next:after,
.mod-r-galleryB .swiper-button-prev:after {
    font-size: 60px;
  }

  .mod-r-socialA {
    display: flex;
    justify-content: center;
    margin: 0 -30px;
  }
  .mod-r-socialA__item {
    margin: 0 30px;
    width: calc((100% - 120px)/2);
  }

  .mod-r-pagetop.type-bottom {
    top: auto;
    right: 50px;
    bottom: 50px;
  }
  .mod-r-pagetop.type-bottom-sitemap {
    top: auto;
    right: 50px;
    bottom: 50px;
  }
  .mod-r-pagetop.type-bottom-sitemap.is-stop {
    position: absolute !important;
    top: -90px !important;
    bottom: auto !important;
  }

  .mod-r-pagetopC a {
    padding-top: 15px;
    width: 80px;
    height: 80px;
  }
  .mod-r-pagetopC a i {
    font-size: 50px;
  }
}
@media print, screen and (min-width: 720px) and (min-width: 1367px) {
  .mod-r-pagetopC {
    right: 40px;
  }
}
@media print, screen and (min-width: 720px) {
  .mod-r-pagetopD {
    display: block;
    border-top: 1px solid #000;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt0-pc {
    margin-top: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml0-pc {
    margin-left: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr0-pc {
    margin-right: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb0-pc {
    margin-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt5-pc {
    margin-top: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml5-pc {
    margin-left: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr5-pc {
    margin-right: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb5-pc {
    margin-bottom: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt10-pc {
    margin-top: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml10-pc {
    margin-left: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr10-pc {
    margin-right: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb10-pc {
    margin-bottom: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt15-pc {
    margin-top: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml15-pc {
    margin-left: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr15-pc {
    margin-right: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb15-pc {
    margin-bottom: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt20-pc {
    margin-top: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml20-pc {
    margin-left: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr20-pc {
    margin-right: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb20-pc {
    margin-bottom: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt25-pc {
    margin-top: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml25-pc {
    margin-left: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr25-pc {
    margin-right: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb25-pc {
    margin-bottom: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt30-pc {
    margin-top: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml30-pc {
    margin-left: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr30-pc {
    margin-right: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb30-pc {
    margin-bottom: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt35-pc {
    margin-top: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml35-pc {
    margin-left: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr35-pc {
    margin-right: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb35-pc {
    margin-bottom: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt40-pc {
    margin-top: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml40-pc {
    margin-left: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr40-pc {
    margin-right: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb40-pc {
    margin-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt45-pc {
    margin-top: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml45-pc {
    margin-left: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr45-pc {
    margin-right: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb45-pc {
    margin-bottom: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt50-pc {
    margin-top: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml50-pc {
    margin-left: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr50-pc {
    margin-right: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb50-pc {
    margin-bottom: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt55-pc {
    margin-top: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml55-pc {
    margin-left: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr55-pc {
    margin-right: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb55-pc {
    margin-bottom: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt60-pc {
    margin-top: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml60-pc {
    margin-left: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr60-pc {
    margin-right: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb60-pc {
    margin-bottom: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt65-pc {
    margin-top: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml65-pc {
    margin-left: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr65-pc {
    margin-right: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb65-pc {
    margin-bottom: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt70-pc {
    margin-top: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml70-pc {
    margin-left: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr70-pc {
    margin-right: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb70-pc {
    margin-bottom: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt75-pc {
    margin-top: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml75-pc {
    margin-left: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr75-pc {
    margin-right: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb75-pc {
    margin-bottom: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt80-pc {
    margin-top: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml80-pc {
    margin-left: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr80-pc {
    margin-right: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb80-pc {
    margin-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt85-pc {
    margin-top: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml85-pc {
    margin-left: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr85-pc {
    margin-right: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb85-pc {
    margin-bottom: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt90-pc {
    margin-top: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml90-pc {
    margin-left: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr90-pc {
    margin-right: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb90-pc {
    margin-bottom: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt95-pc {
    margin-top: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml95-pc {
    margin-left: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr95-pc {
    margin-right: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb95-pc {
    margin-bottom: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mt100-pc {
    margin-top: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-ml100-pc {
    margin-left: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mr100-pc {
    margin-right: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-mb100-pc {
    margin-bottom: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt0-pc {
    padding-top: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl0-pc {
    padding-left: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr0-pc {
    padding-right: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb0-pc {
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt5-pc {
    padding-top: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl5-pc {
    padding-left: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr5-pc {
    padding-right: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb5-pc {
    padding-bottom: 5px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt10-pc {
    padding-top: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl10-pc {
    padding-left: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr10-pc {
    padding-right: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb10-pc {
    padding-bottom: 10px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt15-pc {
    padding-top: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl15-pc {
    padding-left: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr15-pc {
    padding-right: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb15-pc {
    padding-bottom: 15px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt20-pc {
    padding-top: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl20-pc {
    padding-left: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr20-pc {
    padding-right: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb20-pc {
    padding-bottom: 20px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt25-pc {
    padding-top: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl25-pc {
    padding-left: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr25-pc {
    padding-right: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb25-pc {
    padding-bottom: 25px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt30-pc {
    padding-top: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl30-pc {
    padding-left: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr30-pc {
    padding-right: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb30-pc {
    padding-bottom: 30px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt35-pc {
    padding-top: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl35-pc {
    padding-left: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr35-pc {
    padding-right: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb35-pc {
    padding-bottom: 35px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt40-pc {
    padding-top: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl40-pc {
    padding-left: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr40-pc {
    padding-right: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb40-pc {
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt45-pc {
    padding-top: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl45-pc {
    padding-left: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr45-pc {
    padding-right: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb45-pc {
    padding-bottom: 45px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt50-pc {
    padding-top: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl50-pc {
    padding-left: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr50-pc {
    padding-right: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb50-pc {
    padding-bottom: 50px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt55-pc {
    padding-top: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl55-pc {
    padding-left: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr55-pc {
    padding-right: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb55-pc {
    padding-bottom: 55px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt60-pc {
    padding-top: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl60-pc {
    padding-left: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr60-pc {
    padding-right: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb60-pc {
    padding-bottom: 60px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt65-pc {
    padding-top: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl65-pc {
    padding-left: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr65-pc {
    padding-right: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb65-pc {
    padding-bottom: 65px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt70-pc {
    padding-top: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl70-pc {
    padding-left: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr70-pc {
    padding-right: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb70-pc {
    padding-bottom: 70px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt75-pc {
    padding-top: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl75-pc {
    padding-left: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr75-pc {
    padding-right: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb75-pc {
    padding-bottom: 75px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt80-pc {
    padding-top: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl80-pc {
    padding-left: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr80-pc {
    padding-right: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb80-pc {
    padding-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt85-pc {
    padding-top: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl85-pc {
    padding-left: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr85-pc {
    padding-right: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb85-pc {
    padding-bottom: 85px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt90-pc {
    padding-top: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl90-pc {
    padding-left: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr90-pc {
    padding-right: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb90-pc {
    padding-bottom: 90px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt95-pc {
    padding-top: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl95-pc {
    padding-left: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr95-pc {
    padding-right: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb95-pc {
    padding-bottom: 95px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pt100-pc {
    padding-top: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pl100-pc {
    padding-left: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pr100-pc {
    padding-right: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-pb100-pc {
    padding-bottom: 100px !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-fz-dpLv1 {
    font-size: 60px;
    line-height: 1.1;
  }
}
@media print, screen and (min-width: 720px) {
  .u-fz-dpLv2 {
    font-size: 40px;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 720px) {
  .u-fz-dpLv3 {
    font-size: 32px;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 720px) {
  .u-fz-dpLv4 {
    font-size: 26px;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 720px) {
  .u-fz-Lv1 {
    font-size: 26px;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order1 {
    order: 1 !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order2 {
    order: 2 !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order3 {
    order: 3 !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order4 {
    order: 4 !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order5 {
    order: 5 !important;
  }
}
@media print, screen and (min-width: 720px) {
  .u-order6 {
    order: 6 !important;
  }
}
@media screen and (max-width: 719px) {
  /* ---------------------------
   * SmartPhone
   * --------------------------- */
  .base-page {
    font-size: 1rem;
    font-size: 16px;
    line-height: 1.5;
  }
  .base-page .mod-r-profile {
    padding-left: 20px;
  }
  .base-page .mod-r-profile__photo {
    margin-left: -20px;
  }

  .l-more.closed .l-more__main {
    padding: 0;
  }

  .l-more.type-h395 {
    height: 293px;
  }

  .l-column {
    margin: -20px -10px 20px;
  }
  .l-column__col.is-col1-sp {
    width: calc( (100% / 12) * 1);
  }
  .l-column__col.is-col2-sp {
    width: calc( (100% / 12) * 2);
  }
  .l-column__col.is-col3-sp {
    width: calc( (100% / 12) * 3);
  }
  .l-column__col.is-col4-sp {
    width: calc( (100% / 12) * 4);
  }
  .l-column__col.is-col5-sp {
    width: calc( (100% / 12) * 5);
  }
  .l-column__col.is-col6-sp {
    width: calc( (100% / 12) * 6);
  }
  .l-column__col.is-col7-sp {
    width: calc( (100% / 12) * 7);
  }
  .l-column__col.is-col8-sp {
    width: calc( (100% / 12) * 8);
  }
  .l-column__col.is-col9-sp {
    width: calc( (100% / 12) * 9);
  }
  .l-column__col.is-col10-sp {
    width: calc( (100% / 12) * 10);
  }
  .l-column__col.is-col11-sp {
    width: calc( (100% / 12) * 11);
  }
  .l-column__col.is-col12-sp {
    width: calc( (100% / 12) * 12);
  }

  .l-r-tab {
    margin-left: -20px;
    margin-right: -20px;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem {
    width: calc((100% + 2px)/3);
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(4n+1) {
    margin-left: -1px;
    border-left: 1px solid #EFEFEF;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(4n) {
    border-right: 1px solid #EFEFEF;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(-n+4) {
    border-top: 1px solid #EFEFEF;
    margin-top: -1px;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(3n+1) {
    margin-left: 0;
    border-left: none;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(3n) {
    border-right: none;
  }
  .l-r-tab__nav.type-layout3-sp .l-r-tab__navItem:nth-child(-n+3) {
    border-top: none;
    margin-top: 0;
  }
  .l-r-tab__navItem {
    width: 50%;
    border-top: 1px solid #EFEFEF;
  }
  .l-r-tab__navItem:nth-child(-n+2) {
    border-top: none;
  }
  .l-r-tab__navItem a {
    font-size: 12px;
    line-height: 1.5;
  }
  .l-r-tab__body {
    padding: 20px;
  }
  .l-r-tab__body .l-r-tab__nav {
    margin: -20px -20px 0;
  }

  .mod-r-header.type-floating {
    padding-top: 10px;
  }
  .mod-r-header.type-floating .mod-r-header__inner {
    max-width: none;
    padding: 0 10px;
    min-height: 0;
  }
  .mod-r-header.type-floating .mod-r-header__logo {
    margin-top: 5px;
    margin-left: 0;
    height: auto;
  }
  .mod-r-header.type-floating .mod-r-header__logo a {
    height: auto;
  }
  .mod-r-header__inner {
    padding: 0 20px;
    min-height: 39px;
  }
  .mod-r-header__pagename {
    line-height: 1.6666666667;
  }
  .mod-r-header__logo {
    margin: 0;
    width: 50px;
  }

  .mod-r-hero__lead {
    font-size: 26px;
  }
  .mod-r-hero__heading {
    font-size: 40px;
  }
  .mod-r-hero__subTitle {
    font-size: 22px;
  }
  .mod-r-hero__author {
    font-size: 22px;
  }
  .mod-r-hero__main {
    padding: 20px 20px 0;
  }
  .mod-r-hero__lead {
    margin-bottom: 40px;
  }
  .base-contents .mod-r-hero {
    margin-left: -20px;
    margin-right: -20px;
  }

  .mod-r-anchorA {
    padding: 18px 20px;
  }
  .mod-r-anchorA__link + .mod-r-anchorA__link {
    margin-top: 12px;
  }

  .mod-r-unit {
    padding: 20px;
  }

  .mod-r-visualUnit {
    padding: 40px 20px;
  }
  .mod-r-visualUnit__textbox {
    padding: 20px;
    overflow: auto;
  }
  .mod-r-visualUnit__textboxInner {
    width: 100%;
  }

  .mod-r-headingA__title {
    font-size: 32px;
    line-height: 1.5;
  }

  .mod-r-headingB__title {
    font-size: 26px;
    line-height: 1.5;
  }
  .mod-r-headingB.type-horizontal .mod-r-headingB__icon {
    top: 0;
  }

  .mod-r-headingD {
    margin-bottom: 30px;
  }

  .mod-r-table__body {
    display: block;
  }
  .mod-r-table__body tbody, .mod-r-table__body thead, .mod-r-table__body tfoot {
    display: block;
  }
  .mod-r-table__body tr {
    display: block;
    width: 100%;
  }
  .mod-r-table__body tr th, .mod-r-table__body tr td {
    display: block;
    width: 100%;
  }
  .mod-r-table__body tr th {
    border-bottom: none;
    padding-bottom: 0;
  }

  .mod-r-newsList__item {
    border-bottom: 1px solid #EFEFEF;
    padding: 10px 0;
  }
  .mod-r-newsList__date {
    padding: 0 10px;
  }

  .mod-r-menu__body {
    align-items: start;
  }
  .mod-r-menu__bodyInner {
    padding: 0 20px;
  }
  .mod-r-menu__button {
    position: fixed;
    top: 10px;
    right: 10px;
  }
  .mod-r-menu__nav {
    margin-top: 80px;
    margin-bottom: 20px;
  }
  .mod-r-menu__navItem {
    font-size: 16px;
  }
  .mod-r-menu__nav2Item {
    font-size: 14px;
  }

  .mod-r-bookB__figure {
    width: 250px;
    height: auto;
    margin: 0 auto 25px;
  }
  .mod-r-bookB__main {
    padding-left: 20px;
  }
  .mod-r-bookB__price {
    margin-bottom: 30px;
  }
  .mod-r-bookB__button {
    margin-left: -20px;
  }

  .mod-r-galleryB .swiper-button-next,
.mod-r-galleryB .swiper-button-prev {
    top: auto;
    bottom: -48px;
    color: #9B9B9B;
    width: 18px;
    height: 30px;
    margin-top: -15px;
    z-index: 12;
  }
  .mod-r-galleryB .swiper-button-next:after,
.mod-r-galleryB .swiper-button-prev:after {
    font-size: 28px;
  }

  .mod-r-socialA__item {
    overflow: hidden;
  }
  .mod-r-socialA__item + .mod-r-socialA__item {
    margin-top: 20px;
  }

  .mod-r-pagetop {
    opacity: 0.9 !important;
    transition: none !important;
    height: 50px;
  }
  .mod-r-pagetop a {
    display: block !important;
  }
  .mod-r-pagetop.is-stop {
    position: fixed !important;
    display: block !important;
  }
  .mod-r-pagetop.type-bottom {
    top: auto;
    right: 30px;
    bottom: 20px;
  }
  .mod-r-pagetop.type-bottom-sitemap {
    top: auto;
    right: 30px;
    bottom: 20px;
  }
  .mod-r-pagetop.type-bottom-sitemap.is-stop {
    position: fixed !important;
    display: block !important;
  }

  .mod-r-pagetopC {
    width: 50px;
  }
  .mod-r-pagetopC a {
    padding-top: 10px;
    width: 50px;
    height: 50px;
  }
  .mod-r-pagetopC a i {
    font-size: 30px;
  }

  .mod-r-pagetopD {
    border-bottom: 1px solid #000;
  }

  .u-mt0-sp {
    margin-top: 0px !important;
  }

  .u-ml0-sp {
    margin-left: 0px !important;
  }

  .u-mr0-sp {
    margin-right: 0px !important;
  }

  .u-mb0-sp {
    margin-bottom: 0px !important;
  }

  .u-mt5-sp {
    margin-top: 5px !important;
  }

  .u-ml5-sp {
    margin-left: 5px !important;
  }

  .u-mr5-sp {
    margin-right: 5px !important;
  }

  .u-mb5-sp {
    margin-bottom: 5px !important;
  }

  .u-mt10-sp {
    margin-top: 10px !important;
  }

  .u-ml10-sp {
    margin-left: 10px !important;
  }

  .u-mr10-sp {
    margin-right: 10px !important;
  }

  .u-mb10-sp {
    margin-bottom: 10px !important;
  }

  .u-mt15-sp {
    margin-top: 15px !important;
  }

  .u-ml15-sp {
    margin-left: 15px !important;
  }

  .u-mr15-sp {
    margin-right: 15px !important;
  }

  .u-mb15-sp {
    margin-bottom: 15px !important;
  }

  .u-mt20-sp {
    margin-top: 20px !important;
  }

  .u-ml20-sp {
    margin-left: 20px !important;
  }

  .u-mr20-sp {
    margin-right: 20px !important;
  }

  .u-mb20-sp {
    margin-bottom: 20px !important;
  }

  .u-mt25-sp {
    margin-top: 25px !important;
  }

  .u-ml25-sp {
    margin-left: 25px !important;
  }

  .u-mr25-sp {
    margin-right: 25px !important;
  }

  .u-mb25-sp {
    margin-bottom: 25px !important;
  }

  .u-mt30-sp {
    margin-top: 30px !important;
  }

  .u-ml30-sp {
    margin-left: 30px !important;
  }

  .u-mr30-sp {
    margin-right: 30px !important;
  }

  .u-mb30-sp {
    margin-bottom: 30px !important;
  }

  .u-mt35-sp {
    margin-top: 35px !important;
  }

  .u-ml35-sp {
    margin-left: 35px !important;
  }

  .u-mr35-sp {
    margin-right: 35px !important;
  }

  .u-mb35-sp {
    margin-bottom: 35px !important;
  }

  .u-mt40-sp {
    margin-top: 40px !important;
  }

  .u-ml40-sp {
    margin-left: 40px !important;
  }

  .u-mr40-sp {
    margin-right: 40px !important;
  }

  .u-mb40-sp {
    margin-bottom: 40px !important;
  }

  .u-mt45-sp {
    margin-top: 45px !important;
  }

  .u-ml45-sp {
    margin-left: 45px !important;
  }

  .u-mr45-sp {
    margin-right: 45px !important;
  }

  .u-mb45-sp {
    margin-bottom: 45px !important;
  }

  .u-mt50-sp {
    margin-top: 50px !important;
  }

  .u-ml50-sp {
    margin-left: 50px !important;
  }

  .u-mr50-sp {
    margin-right: 50px !important;
  }

  .u-mb50-sp {
    margin-bottom: 50px !important;
  }

  .u-mt55-sp {
    margin-top: 55px !important;
  }

  .u-ml55-sp {
    margin-left: 55px !important;
  }

  .u-mr55-sp {
    margin-right: 55px !important;
  }

  .u-mb55-sp {
    margin-bottom: 55px !important;
  }

  .u-mt60-sp {
    margin-top: 60px !important;
  }

  .u-ml60-sp {
    margin-left: 60px !important;
  }

  .u-mr60-sp {
    margin-right: 60px !important;
  }

  .u-mb60-sp {
    margin-bottom: 60px !important;
  }

  .u-mt65-sp {
    margin-top: 65px !important;
  }

  .u-ml65-sp {
    margin-left: 65px !important;
  }

  .u-mr65-sp {
    margin-right: 65px !important;
  }

  .u-mb65-sp {
    margin-bottom: 65px !important;
  }

  .u-mt70-sp {
    margin-top: 70px !important;
  }

  .u-ml70-sp {
    margin-left: 70px !important;
  }

  .u-mr70-sp {
    margin-right: 70px !important;
  }

  .u-mb70-sp {
    margin-bottom: 70px !important;
  }

  .u-mt75-sp {
    margin-top: 75px !important;
  }

  .u-ml75-sp {
    margin-left: 75px !important;
  }

  .u-mr75-sp {
    margin-right: 75px !important;
  }

  .u-mb75-sp {
    margin-bottom: 75px !important;
  }

  .u-mt80-sp {
    margin-top: 80px !important;
  }

  .u-ml80-sp {
    margin-left: 80px !important;
  }

  .u-mr80-sp {
    margin-right: 80px !important;
  }

  .u-mb80-sp {
    margin-bottom: 80px !important;
  }

  .u-mt85-sp {
    margin-top: 85px !important;
  }

  .u-ml85-sp {
    margin-left: 85px !important;
  }

  .u-mr85-sp {
    margin-right: 85px !important;
  }

  .u-mb85-sp {
    margin-bottom: 85px !important;
  }

  .u-mt90-sp {
    margin-top: 90px !important;
  }

  .u-ml90-sp {
    margin-left: 90px !important;
  }

  .u-mr90-sp {
    margin-right: 90px !important;
  }

  .u-mb90-sp {
    margin-bottom: 90px !important;
  }

  .u-mt95-sp {
    margin-top: 95px !important;
  }

  .u-ml95-sp {
    margin-left: 95px !important;
  }

  .u-mr95-sp {
    margin-right: 95px !important;
  }

  .u-mb95-sp {
    margin-bottom: 95px !important;
  }

  .u-mt100-sp {
    margin-top: 100px !important;
  }

  .u-ml100-sp {
    margin-left: 100px !important;
  }

  .u-mr100-sp {
    margin-right: 100px !important;
  }

  .u-mb100-sp {
    margin-bottom: 100px !important;
  }

  .u-pt0-sp {
    padding-top: 0px !important;
  }

  .u-pl0-sp {
    padding-left: 0px !important;
  }

  .u-pr0-sp {
    padding-right: 0px !important;
  }

  .u-pb0-sp {
    padding-bottom: 0px !important;
  }

  .u-pt5-sp {
    padding-top: 5px !important;
  }

  .u-pl5-sp {
    padding-left: 5px !important;
  }

  .u-pr5-sp {
    padding-right: 5px !important;
  }

  .u-pb5-sp {
    padding-bottom: 5px !important;
  }

  .u-pt10-sp {
    padding-top: 10px !important;
  }

  .u-pl10-sp {
    padding-left: 10px !important;
  }

  .u-pr10-sp {
    padding-right: 10px !important;
  }

  .u-pb10-sp {
    padding-bottom: 10px !important;
  }

  .u-pt15-sp {
    padding-top: 15px !important;
  }

  .u-pl15-sp {
    padding-left: 15px !important;
  }

  .u-pr15-sp {
    padding-right: 15px !important;
  }

  .u-pb15-sp {
    padding-bottom: 15px !important;
  }

  .u-pt20-sp {
    padding-top: 20px !important;
  }

  .u-pl20-sp {
    padding-left: 20px !important;
  }

  .u-pr20-sp {
    padding-right: 20px !important;
  }

  .u-pb20-sp {
    padding-bottom: 20px !important;
  }

  .u-pt25-sp {
    padding-top: 25px !important;
  }

  .u-pl25-sp {
    padding-left: 25px !important;
  }

  .u-pr25-sp {
    padding-right: 25px !important;
  }

  .u-pb25-sp {
    padding-bottom: 25px !important;
  }

  .u-pt30-sp {
    padding-top: 30px !important;
  }

  .u-pl30-sp {
    padding-left: 30px !important;
  }

  .u-pr30-sp {
    padding-right: 30px !important;
  }

  .u-pb30-sp {
    padding-bottom: 30px !important;
  }

  .u-pt35-sp {
    padding-top: 35px !important;
  }

  .u-pl35-sp {
    padding-left: 35px !important;
  }

  .u-pr35-sp {
    padding-right: 35px !important;
  }

  .u-pb35-sp {
    padding-bottom: 35px !important;
  }

  .u-pt40-sp {
    padding-top: 40px !important;
  }

  .u-pl40-sp {
    padding-left: 40px !important;
  }

  .u-pr40-sp {
    padding-right: 40px !important;
  }

  .u-pb40-sp {
    padding-bottom: 40px !important;
  }

  .u-pt45-sp {
    padding-top: 45px !important;
  }

  .u-pl45-sp {
    padding-left: 45px !important;
  }

  .u-pr45-sp {
    padding-right: 45px !important;
  }

  .u-pb45-sp {
    padding-bottom: 45px !important;
  }

  .u-pt50-sp {
    padding-top: 50px !important;
  }

  .u-pl50-sp {
    padding-left: 50px !important;
  }

  .u-pr50-sp {
    padding-right: 50px !important;
  }

  .u-pb50-sp {
    padding-bottom: 50px !important;
  }

  .u-pt55-sp {
    padding-top: 55px !important;
  }

  .u-pl55-sp {
    padding-left: 55px !important;
  }

  .u-pr55-sp {
    padding-right: 55px !important;
  }

  .u-pb55-sp {
    padding-bottom: 55px !important;
  }

  .u-pt60-sp {
    padding-top: 60px !important;
  }

  .u-pl60-sp {
    padding-left: 60px !important;
  }

  .u-pr60-sp {
    padding-right: 60px !important;
  }

  .u-pb60-sp {
    padding-bottom: 60px !important;
  }

  .u-pt65-sp {
    padding-top: 65px !important;
  }

  .u-pl65-sp {
    padding-left: 65px !important;
  }

  .u-pr65-sp {
    padding-right: 65px !important;
  }

  .u-pb65-sp {
    padding-bottom: 65px !important;
  }

  .u-pt70-sp {
    padding-top: 70px !important;
  }

  .u-pl70-sp {
    padding-left: 70px !important;
  }

  .u-pr70-sp {
    padding-right: 70px !important;
  }

  .u-pb70-sp {
    padding-bottom: 70px !important;
  }

  .u-pt75-sp {
    padding-top: 75px !important;
  }

  .u-pl75-sp {
    padding-left: 75px !important;
  }

  .u-pr75-sp {
    padding-right: 75px !important;
  }

  .u-pb75-sp {
    padding-bottom: 75px !important;
  }

  .u-pt80-sp {
    padding-top: 80px !important;
  }

  .u-pl80-sp {
    padding-left: 80px !important;
  }

  .u-pr80-sp {
    padding-right: 80px !important;
  }

  .u-pb80-sp {
    padding-bottom: 80px !important;
  }

  .u-pt85-sp {
    padding-top: 85px !important;
  }

  .u-pl85-sp {
    padding-left: 85px !important;
  }

  .u-pr85-sp {
    padding-right: 85px !important;
  }

  .u-pb85-sp {
    padding-bottom: 85px !important;
  }

  .u-pt90-sp {
    padding-top: 90px !important;
  }

  .u-pl90-sp {
    padding-left: 90px !important;
  }

  .u-pr90-sp {
    padding-right: 90px !important;
  }

  .u-pb90-sp {
    padding-bottom: 90px !important;
  }

  .u-pt95-sp {
    padding-top: 95px !important;
  }

  .u-pl95-sp {
    padding-left: 95px !important;
  }

  .u-pr95-sp {
    padding-right: 95px !important;
  }

  .u-pb95-sp {
    padding-bottom: 95px !important;
  }

  .u-pt100-sp {
    padding-top: 100px !important;
  }

  .u-pl100-sp {
    padding-left: 100px !important;
  }

  .u-pr100-sp {
    padding-right: 100px !important;
  }

  .u-pb100-sp {
    padding-bottom: 100px !important;
  }

  .u-txt-nowrap-sp {
    white-space: nowrap !important;
  }

  .u-txt-breakword-sp {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .u-txt-justify-sp {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
  }

  .u-txt-none-sp {
    text-transform: none !important;
  }

  .u-txt-lowercase-sp {
    text-transform: lowercase !important;
  }

  .u-txt-uppercase-sp {
    text-transform: uppercase !important;
  }

  .u-txt-capitalize-sp {
    text-transform: capitalize !important;
  }

  .u-txt-smallcaps-sp {
    font-variant: small-caps !important;
  }

  .u-txt-right-sp {
    text-align: right !important;
  }

  .u-txt-center-sp {
    text-align: center !important;
  }

  .u-txt-left-sp {
    text-align: left !important;
  }

  .u-txt-top-sp {
    vertical-align: top !important;
  }

  .u-txt-middle-sp {
    vertical-align: middle !important;
  }

  .u-txt-bottom-sp {
    vertical-align: bottom !important;
  }

  .u-fz-dpLv1 {
    font-size: 40px;
  }

  .u-fz-dpLv2 {
    font-size: 32px;
  }

  .u-fz-dpLv3 {
    font-size: 26px;
  }

  .u-fz-dpLv4 {
    font-size: 22px;
  }

  .u-fz-Lv1 {
    font-size: 22px;
  }

  .u-order1-sp {
    order: 1 !important;
  }

  .u-order2-sp {
    order: 2 !important;
  }

  .u-order3-sp {
    order: 3 !important;
  }

  .u-order4-sp {
    order: 4 !important;
  }

  .u-order5-sp {
    order: 5 !important;
  }

  .u-order6-sp {
    order: 6 !important;
  }
}
@media screen and (max-width: 374px) {
  /* ---------------------------
   * SmartPhone 374px 以下
   * --------------------------- */
}