@charset "UTF-8";
@keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
* {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.95px;
}
* a {
  text-decoration: none;
}

.button {
  border: 1px solid gray;
  padding: 10px;
}

#error_explanation {
  border: 1px solid #D0021B;
  margin: 15px 0 0;
  padding: 15px 20px;
}
#error_explanation h2 {
  color: #D0021B;
  font-size: 16px;
}
#error_explanation ul li {
  font-size: 16px;
  color: #D0021B;
}
.navi-spacer {
  height: 80px;
}

.default-padding {
  background-color: white;
  padding: 60px 20px 50px;
}
@media screen and (min-width: 1024px) {
  .default-padding {
    padding: 40px 50px 50px;
  }
}

.default-padding--talks {
  padding-top: 24px;
}
@media screen and (min-width: 1024px) {
  .default-padding--talks {
    padding-top: 24px;
  }
}

.bg-white {
  background-color: white;
}

.pc {
  padding: 79px 0;
}
@media screen and (min-width: 769px), print {
  .pc {
    padding: 65px 0;
  }
}
@media screen and (min-width: 769px), print {
  .pc .main_image_container {
    margin-bottom: 20px;
  }
}
.pc .main_image_container .inner {
  padding: 0 0 20px;
  margin: 40px auto 10px;
  position: relative;
  width: 1010px;
}
.pc .main_image_container .inner span {
  color: #97bc3f;
  font-size: 17px;
}
.pc .main_image_container {
  background-color: white;
}
.pc .main_image_container .oNavi {
  top: 0;
}
.pc .main_image_container p {
  font-size: 14px;
  text-align: center;
}
.pc .main_image_container .hasunoha_main_image_pc {
  display: block;
  width: 900px;
  margin: 0 auto;
}
.pc .main_image_container .mCirclePC {
  position: absolute;
  top: 20px;
  right: 30px;
}
.pc .oneColumn {
  width: 100%;
}
.pc .oneColumn .pPage {
  padding-top: 0;
}
.pc .oneColumn .oH2Spaced, .pc .oneColumn .oH2WithText {
  padding: 50px 50px 10px;
}
.pc .oneColumn .oForm {
  padding: 10px 50px 10px;
}
.pc .oneColumn .oDocs {
  padding: 10px 50px 50px;
}

.pcMain {
  width: 1010px;
  display: flex;
  margin: 0 auto;
}
.pcMain .leftColumn {
  width: 700px;
  margin-right: 20px;
}
.pcMain .rightColumn {
  margin-top: 65px;
  width: 300px;
}
@media screen and (min-width: 769px), print {
  .pcMain .rightColumn .oH2Spaced, .pcMain .rightColumn .oH2WithText {
    font-size: 17px;
  }
}

.pTrueTop .rightColumn {
  margin-top: 0;
}

a {
  color: #333;
}

ul {
  list-style-type: none;
}

.mt {
  margin-top: 10px;
}

.mt2 {
  margin-top: 20px;
}

.yu-mincho, .oPickup h1, .mCommentBox .comment, .mSocialButton p, .mPickupAllRow h3, .aLineWithTextL, .aOkimochiButton, .aThanksButton, .aThanksDoneButton {
  font-family: "Yu Mincho", "YuMincho" !important;
}

.attention_text {
  color: #f57474;
  font-weight: bold;
}

.error_text {
  margin-bottom: 5px;
  color: #D0021B;
}

.sub_text, .sub-text {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
}
.sub_text a, .sub-text a {
  font-size: 15px;
}

.light_green {
  color: #b9d47d !important;
}

.dark_green {
  color: #4f6d07 !important;
}

.pink {
  color: #f57474 !important;
}

.button_orange {
  background: orange;
}

.button_green {
  background: #97BC3F;
}

.button_pink {
  background: #fb9292;
}

.button_blue {
  background: #4e87a9;
}

.cousion_box {
  border: 1px solid #f57474;
  color: #f57474;
  font-size: 15px;
  padding: 15px;
  margin-top: 10px;
}

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

.mgn_t, .mgn-t {
  margin-top: 20px !important;
}

.mgn-tx {
  margin-top: 40px !important;
}

.mgn_b, .mgn-b {
  margin-bottom: 20px !important;
}

.mgn-v {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.mgn-h {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.mgn-hx {
  margin-left: 20px;
  margin-right: 20px;
}

.mgn_r, mgn-r {
  margin-right: 15px !important;
}

.mgn_l, mgn-l {
  margin-left: 15px !important;
}

.center {
  text-align: center;
  margin: 0 auto;
  justify-content: center;
}

.right {
  text-align: right;
}

iframe {
  border: none;
}

.check_list, .mCheckMarkList ul {
  list-style-image: url(/assets/sp_redesign/ico_check-d804030ef5d788cee63b657cc1a8a5876437e286edc7d45791b9a7a548d30265.svg);
  margin-left: 20px;
}
.check_list li, .mCheckMarkList ul li {
  margin-bottom: 10px;
  font-size: 17px;
}

.dot_list {
  list-style-type: disc;
  margin-left: 25px;
}

body {
  background-color: #f8f8f8;
}

.width-100 {
  width: 100%;
}

.flexbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.flexbox.aMainButton:first-child {
  margin-right: 10px;
}

.flex_start {
  justify-content: flex-start !important;
}

.flex_wrap {
  flex-wrap: wrap;
}

.flex_between {
  margin: auto;
  justify-content: space-between;
}

.flexbox.responsive {
  display: block !important;
}
.flexbox.responsive .box {
  text-align: left;
}
.flexbox.responsive .box:first-child {
  margin-right: 0px;
}
@media screen and (min-width: 769px), print {
  .flexbox.responsive {
    display: flex !important;
  }
  .flexbox.responsive .box:first-child {
    margin-right: 20px;
  }
}

.StripeElement {
  box-sizing: border-box;
  height: 40px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 1px 3px 0 #e6ebf1;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}

.StripeElement--focus {
  box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

.header-space {
  height: 65px;
}

.header-space + .pPage {
  padding-top: 0;
}

.back-arrow {
  margin-left: 30px;
  position: relative;
}

.back-arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 50%;
  width: 14px;
  height: 14px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(225deg);
}

.pink-ribbon {
  padding: 2px 10px;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  wdith: 100%;
  text-align: center;
  background-color: #ffadad;
  font-weight: bold;
  font-size: small;
  color: white;
}

#youtube-container {
  background-color: red;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 動画のアスペクト比を16:9と仮定 */
}
#youtube-container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* モーダルの背景 */
.modal-background {
  display: none; /* デフォルトでは非表示 */
  position: fixed; /* 位置を固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
  z-index: 1000; /* 上位のレイヤーに表示 */
}

/* モーダルのコンテンツ */
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* センタリングのための位置調整 */
  width: 80%;
  max-width: 400px; /* 最大幅を指定 */
  padding: 20px;
  background-color: #ffffff;
  border-radius: 5px; /* 角を丸める */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 影を追加 */
  z-index: 1001; /* modal-backgroundよりも上に表示 */
}

.square {
  aspect-ratio: 1/1;
}

.pDefault, .pPr0001, .pMembers {
  background-color: white;
  padding-top: 65px;
}
@media screen and (min-width: 769px), print {
  .pDefault, .pPr0001, .pMembers {
    padding-top: 0;
  }
}
.pDefault, .pPr0001, .pMembers {
  overflow: hidden;
}

.is-app .pDefault, .is-app .pPr0001, .is-app .pMembers {
  padding-top: 0;
}

.pPage {
  padding-top: 65px;
}

.pMembers {
  background-color: white;
}
@media screen and (min-width: 769px), print {
  .pMembers .members-contents {
    padding: 0 50px;
  }
}
.pMembers .members-contents .content {
  padding: 0 20px;
}
@media screen and (min-width: 769px), print {
  .pMembers .members-contents .content {
    padding: 0 50px;
  }
}
.pMembers p {
  margin: 0 0 20px;
}
.pMembers .mMokuji {
  margin: 20px 20px;
}
@media screen and (min-width: 769px), print {
  .pMembers .mMokuji {
    margin: 50px 30px;
  }
}
.pMembers .oMemberFlow {
  margin: 0 20px;
}
@media screen and (min-width: 769px), print {
  .pMembers .oMemberFlow {
    margin: 0 50px;
  }
}
.pMembers .aBlockquoteQA {
  margin: 0 20px;
}
.pMembers .mCheckMarkList {
  background-color: white;
}
@media screen and (min-width: 769px), print {
  .pMembers .mCheckMarkList {
    margin: 0 30px;
  }
}
.pMembers .oH2Spaced, .pMembers .oH2WithText {
  margin: 10px 0;
}
@media screen and (min-width: 769px), print {
  .pMembers .oH2Spaced, .pMembers .oH2WithText {
    margin: 30px 0;
  }
}
.pMembers .imageFlex {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px), print {
  .pMembers .imageFlex {
    flex-direction: row;
  }
}

.pPr0001 .pr_0001 h2 {
  text-align: left !important;
}
.pPr0001 .pr_0001 h3 {
  background: url(/assets/mi3.png) no-repeat scroll 0 8px transparent;
  padding: 5px 0 0 20px;
}
.pPr0001 .pr_0001 p {
  margin-bottom: 20px;
}
.pPr0001 .pr_0001 .photo {
  width: 250px;
  text-align: center;
  margin: -5px 0 0 30px;
}
.pPr0001 .pr_0001 .photo img {
  width: 85px;
  height: 100px;
  border-radius: 50%;
}
.pPr0001 .pr_0001 .photo p {
  margin: 0;
  line-height: 1;
}
.pPr0001 .pr_0001 .photo span {
  display: block;
  font-size: 12px;
}
.pPr0001 .pr_0001 .attention_box {
  border: 1px solid #ccc;
  padding: 15px;
  margin: 20px 0 0;
}
.pPr0001 .pr_0001 em {
  background: #ffffcc;
  font-weight: bold;
  font-style: initial !important;
}
.pPr0001 .pr_0001 .image {
  width: 100%;
}
.pPr0001 .pr_0001 .pagelink {
  color: #4e87a9 !important;
  font-weight: bold;
}
.pPr0001 .pr_0001 ul {
  list-style: disc;
}
.pPr0001 .pr_0001 li {
  margin-left: 20px;
  line-height: 1.7;
}
.pPr0001 .pr_0001 .check {
  list-style: none;
}
.pPr0001 .pr_0001 .check li {
  position: relative;
  padding-left: 12px;
  margin: 0;
}
.pPr0001 .pr_0001 .check li::after {
  display: block;
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 10px;
  height: 6px;
  border-left: 2px solid #993365;
  border-bottom: 2px solid #993365;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.pPr0001 .pr_0001 .chart .all {
  font-weight: bold;
  margin-bottom: 20px;
}
.pPr0001 .pr_0001 .box {
  padding: 15px 10px !important;
}
.pPr0001 .pr_0001 .chart .t_wrapper {
  margin: 0 0 65px;
}
.pPr0001 .pr_0001 .t_wrapper > .triangle {
  position: absolute;
  left: 30%;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 30px 75px 0 75px;
  border-color: #cccccc transparent transparent transparent;
  border-style: solid;
  line-height: 0;
}
.pPr0001 .pr_0001 [id^=link] {
  display: block;
  padding-top: 50px;
  margin-top: -50px;
}

.line-lp {
  background-color: white;
  display: flex;
  flex-direction: column;
}
.line-lp video {
  margin: 0 auto 20px;
}
@media screen and (min-width: 1024px) {
  .line-lp video {
    margin: 60px auto 0;
  }
}
.line-lp .unlimited {
  margin: 20px 20px;
}
@media screen and (min-width: 1024px) {
  .line-lp .unlimited {
    margin: 20px 20px;
  }
}
.line-lp .ai-max-text {
  margin: 40px 30px;
}
@media screen and (min-width: 1024px) {
  .line-lp .ai-max-text {
    width: 260px;
    margin: 40px auto 0;
  }
}
.line-lp a {
  width: 100%;
  display: block;
}
.line-lp a img {
  display: block;
  width: 100%;
}
.line-lp .link-container {
  margin: 20px 0;
}

.aBox {
  padding: 20px;
}

.aLogoFull {
  width: 230px;
  height: 47px;
}
.aLogoFull img {
  width: 230px;
}

.aLogoWithText img {
  width: 268px;
  height: 30px;
}

@media screen and (max-width: 320px) {
  .aLogoWithText img {
    width: 220px;
    height: 25px;
  }
}
.aH1 {
  color: #97BC3F;
  line-height: 1.5;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 1px;
}

.aHumberger {
  position: relative;
}
.aHumberger .notification {
  width: 17px;
  height: 17px;
  background-color: #f57474;
  border-radius: 10px;
  position: absolute;
  right: -7px;
  top: -7px;
  color: white;
  font-size: 8px;
  line-height: 17px;
  text-align: center;
}

.aHumbergerWithText {
  cursor: pointer;
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}
.aHumbergerWithText .notification {
  width: 17px;
  height: 17px;
  background-color: #f57474;
  border-radius: 10px;
  position: absolute;
  right: 5px;
  top: -10px;
  color: white;
  font-size: 8px;
  line-height: 17px;
  text-align: center;
}

.aButtonQuestion a {
  display: block;
  width: 40px;
  height: 40px;
}

.aButtonClose {
  display: block;
  width: 40px;
  height: 40px;
}
.aButtonClose img {
  padding-left: 3px;
}

.aPlainButton {
  height: 44px;
  border: 1px solid;
  border: solid 0.5px #2e2941;
  background: white;
}

.aColorButton {
  height: 44px;
}

.aMainButton {
  width: 100%;
  background: #fcfcfc;
  padding: 15px 0;
  font-weight: bold;
  color: #2e2941;
  border: rgba(0, 0, 0, 0.4) 1px solid;
  border-radius: 3px;
  pointer-events: auto;
  opacity: 1;
}

.aMainStrongButton {
  width: 100%;
  padding: 15px 0;
  font-weight: bold;
  pointer-events: auto;
  opacity: 1;
  background: #c8df92;
  color: #417505;
  border: 1px solid #97bc3f;
}

.aPinkButton {
  background-color: #f57474;
  padding: 10px 20px;
  color: white;
  text-align: center;
}

.aMainButton:disabled, aMainButton.disable {
  pointer-events: none;
  opacity: 0.5;
}

.aMainButtonMiddle {
  width: 85%;
  background: white;
  padding: 10px 0;
  font-size: 12px;
  font-weight: bold;
  color: #2e2941;
  border: rgba(0, 0, 0, 0.4) 1px solid;
}

.aMainButtonSmall {
  background: white;
  margin: 5px 0 0;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: bold;
  color: #2e2941;
  border: rgba(0, 0, 0, 0.4) 1px solid;
  text-align: center;
}

.aSecondaryButton, .aMoreButton {
  display: block;
  width: 245px;
  height: 44px;
  border: solid 0.5px #ccc;
}

.aMoreButton {
  text-decoration: none !important;
}

.aFbButton {
  width: 100%;
  background: white;
  padding: 15px 0;
  font-weight: bold;
  color: #2e2941;
  border: rgba(0, 0, 0, 0.4) 1px solid;
}
.aFbButton img {
  margin: 0 10px 0 0;
  vertical-align: top;
}

.aEmphasisButton {
  width: 100%;
  background: #97BC3F;
  padding: 15px 0;
  font-weight: bold;
  color: white;
}
.aEmphasisButton:disabled {
  background: #ccc;
}

.aThanksButton, .aThanksDoneButton {
  cursor: pointer;
  width: 120px;
  height: 50px;
  border-radius: 2px;
  box-shadow: 1px 1px 0 0 rgba(143, 123, 123, 0.5);
  background-color: #f8f8f8;
  background-image: url(/assets/sp_redesign/arigatashi-14c7defeed808afbefe4271f4ea1e709568977a34373329220d5cbb39e10b939.png);
  background-size: 23px 24px;
  background-repeat: no-repeat;
  background-position-x: 14px;
  background-position-y: 12px;
  padding: 12px 0 15px 45px;
  color: #333;
  font-size: 15px;
}

.aThanksDoneButton {
  background-image: url(/assets/sp_redesign/arigatashiDone-235e3c7b9b93afdc2beb199bc4bd58c2926a51d3ebdcd57e4e98f4f5c55519f9.png);
  color: lightgray;
}

.aThanksCountBalloon {
  text-align: center;
  height: 25px;
  margin-right: 12px;
  border: 1px solid #ccc;
  border-radius: 2px;
  padding: 0 5px 2px;
  font-size: 15px;
  letter-spacing: 0.8px;
  color: #333;
  position: relative;
  line-height: 25px;
  min-width: 30px;
}

.aThanksCountBalloon:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -5px;
  top: 6px;
  border-left: 5px solid #ccc;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.aThanksCountBalloon:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -4px;
  top: 6px;
  border-left: 5px solid white;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.aOkimochiButton {
  display: block;
  width: 120px;
  height: 50px;
  border-radius: 2px;
  box-shadow: 1px 1px 0 0 rgba(143, 123, 123, 0.5);
  background-color: #f8f8f8;
  background-image: url(/assets/sp_redesign/ico_okimochi-e6e0753f5b419b9a204228de1a9f2a65255251744b7072bc6cf4eec9374e9f70.svg);
  background-size: 34px 22px;
  background-repeat: no-repeat;
  background-position-x: 10px;
  background-position-y: 13px;
  margin: 0 0 20px 0;
  padding: 12px 0 15px 48px;
  color: #333;
  letter-spacing: 0;
  font-size: 15px;
  text-decoration: none;
}

.aQuoteGray {
  width: 20px;
  height: 16px;
}

.aUserPhoto img {
  width: 75px;
  height: 75px;
  border-radius: 50%;
  margin: 5px;
}
@media screen and (min-width: 769px), print {
  .aUserPhoto img {
    width: 100px;
    height: 100px;
    margin: 10px;
  }
}

.aTabCol3, .aTabCol3Users, .aTabCol4 {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.aTabCol3 ul, .aTabCol3Users ul, .aTabCol4 ul {
  border-radius: 5px;
  display: flex;
  width: 100%;
  border: 1px solid #97BC3F;
  list-style-type: none;
  text-align: center;
}
.aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
  position: relative;
  padding: 8px;
  width: 50%;
}
.aTabCol3 ul li a, .aTabCol3Users ul li a, .aTabCol4 ul li a {
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #97BC3F;
}
.aTabCol3 ul li span, .aTabCol3Users ul li span, .aTabCol4 ul li span {
  color: white;
  background: #f57474;
  padding: 0px 9px;
  border-radius: 30px;
  position: absolute;
  top: -10px;
  right: -10px;
  z-index: 10;
}
.aTabCol3 ul li.active0, .aTabCol3Users ul li.active0, .aTabCol4 ul li.active0 {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  background-color: #97BC3F;
}
.aTabCol3 ul li.active0 a, .aTabCol3Users ul li.active0 a, .aTabCol4 ul li.active0 a {
  color: white;
}
.aTabCol3 ul li.active1, .aTabCol3 ul li.active3, .aTabCol3 ul li.active2, .aTabCol3Users ul li.active1, .aTabCol3Users ul li.active3, .aTabCol3Users ul li.active2, .aTabCol4 ul li.active1, .aTabCol4 ul li.active3, .aTabCol4 ul li.active2 {
  background-color: #97BC3F;
}
.aTabCol3 ul li.active1 a, .aTabCol3 ul li.active3 a, .aTabCol3 ul li.active2 a, .aTabCol3Users ul li.active1 a, .aTabCol3Users ul li.active3 a, .aTabCol3Users ul li.active2 a, .aTabCol4 ul li.active1 a, .aTabCol4 ul li.active3 a, .aTabCol4 ul li.active2 a {
  color: white;
}
.aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
  border-right: 1px solid #97BC3F;
}
.aTabCol3 ul li:last-child, .aTabCol3Users ul li:last-child, .aTabCol4 ul li:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-right: none;
}
@media screen and (max-width: 320px) {
  .aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
    padding: 8px 4px;
  }
  .aTabCol3 ul li a, .aTabCol3Users ul li a, .aTabCol4 ul li a {
    font-size: 12px;
  }
}

.aAttentionBox {
  border: 1px solid #b4b4b4;
  margin: 0 20px 20px 20px;
  padding: 15px;
  font-size: 15px;
}
.aAttentionBox p {
  font-size: 15px;
}

.aLine {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ebebeb;
  margin: 0 0 20px;
}

.aLineWithText {
  color: #4a4a4a;
  position: relative;
  text-align: center;
  margin-bottom: 20px;
}

.aLineWithText:after, .aLineWithText:before {
  border-top: 1px solid #ebebeb;
  width: 36%;
  content: "";
  position: absolute;
  top: 50%;
  box-sizing: border-box;
}

.aLineWithText:after {
  right: 0;
}

.aLineWithText:before {
  left: 0;
}

.aLineWithTextL {
  font-size: 13px;
  color: #4a4a4a;
  position: relative;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .aLineWithTextL {
    font-size: 14px;
  }
}

.aLineWithTextL:after, .aLineWithTextL:before {
  border-top: 1px solid #ccc;
  width: 22%;
  content: "";
  position: absolute;
  top: 50%;
  box-sizing: border-box;
}

.aLineWithTextL:after {
  right: 0;
}

.aLineWithTextL:before {
  left: 0;
}

.aStepArrow {
  margin: 0 auto 10px auto;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 15px solid #ebebeb;
}

.aTagLink {
  font-size: 13px;
  font-weight: bold;
  color: #f57474;
  text-decoration: underline;
}

.aMessage {
  position: relative;
}

.aMessage p {
  color: #f57474;
  font-size: 12px !important;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.5px;
}

.aMessage p:before, .aMessage p:after {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background-color: #f57474;
  position: absolute;
  top: 0;
}

.aMessage p:before {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
  left: 0;
}

.aMessage p:after {
  -webkit-transform: rotate(-150deg);
  -ms-transform: rotate(-150deg);
  transform: rotate(-150deg);
  right: 0;
}

.aMessageLarge {
  position: relative;
  max-width: 300px;
  margin: 0 auto;
}

.aMessageLarge p {
  color: #f57474;
  font-size: 17px !important;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2px;
}

.aMessageLarge p:before, .aMessageLarge p:after {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background-color: #f57474;
  position: absolute;
  top: 0;
}

.aMessageLarge p:before {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
  left: 10px;
}

.aMessageLarge p:after {
  -webkit-transform: rotate(-150deg);
  -ms-transform: rotate(-150deg);
  transform: rotate(-150deg);
  right: 10px;
}

/* アイコン */
.aIconPrivate {
  white-space: nowrap;
  margin: 0;
  padding: 0px 10px;
  border-radius: 4px;
  background-color: #FB9292;
  text-align: center;
  font-size: 13px;
  letter-spacing: normal;
  color: white;
  display: inline-block;
}

.aIconDotMenu {
  width: 32px;
  height: 25px;
  vertical-align: middle;
}

.aIconAdressBlack {
  width: 15px;
  height: 17px;
  margin-right: 8px;
}

.aIconRequired {
  background-color: #fb9292;
  font-size: 10px;
  color: #fff;
  padding: 3px 4px;
  border-radius: 3px;
  margin: 0 8px;
  vertical-align: 1px;
}

.aIconFeaturesCategory {
  font-size: 12px;
  color: #fff;
  padding: 5px 10px;
  border-radius: 3px;
  display: inline;
}

.aIconTalksVoice {
  background-color: #fb9292;
  font-size: 16px;
  color: #fff;
  padding: 0px 8px;
  border-radius: 3px;
  display: inline-block;
  margin-bottom: 10px;
}

.aIconNenju {
  width: 17px;
  height: 20px;
  margin: 2px 0 0;
}

.aIconMokugyo {
  width: 18px;
  height: 19px;
  margin: 2px 3px 0 0;
}

.aIconKesa {
  width: 15px;
  height: 18px;
  margin: 2px 3px 0 0;
}

.aIconHeart {
  width: 13px;
  height: 12px;
  margin: 4px 4px 0 0;
}

.aIconTalk {
  width: 14px;
  height: 13px;
  margin: 5px 5px 0 0;
}

.aTempleNoImg {
  width: 100px;
  height: 100px;
  min-width: 100px;
  flex-shrink: 0;
}

.aQuestionTopicCategory {
  padding: 4px 20px 8px;
}
.aQuestionTopicCategory a {
  font-size: 12px;
  color: #4e87a9;
  text-decoration: none;
}
@media screen and (min-width: 769px), print {
  .aQuestionTopicCategory {
    background-color: white;
  }
}

.aBanner, .aBannerSallia {
  background: white;
  text-align: center;
}
.aBanner .title, .aBannerSallia .title {
  font-size: 14px;
  text-align: center;
}
.aBanner .banner100, .aBannerSallia .banner100 {
  width: 100%;
  height: auto;
  display: block;
}
.aBanner .banner355, .aBannerSallia .banner355 {
  width: 355px;
  margin: 5px 10px;
}

.aBannerTextSP {
  background: white;
  text-align: center;
  padding-top: 5px;
}
.aBannerTextSP a {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: bold;
  color: #f57474;
}
@media screen and (min-width: 769px), print {
  .aBannerTextSP {
    display: none;
  }
}

.aJumokuso img {
  width: 100%;
}

.aBannerDaihouji img {
  width: 100%;
}

.aYoutube {
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.aYoutube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aLinkRight {
  text-align: right;
}
.aLinkRight a {
  text-decoration: none;
}

.aLabelAttention {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #fb9292;
  margin-right: 15px;
}

.aLabelRequested {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #fb9292;
  margin-right: 15px;
}

.aLabelActive {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: skyblue;
  margin-right: 15px;
}

.aLabelArranged {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: skyblue;
  margin-right: 15px;
}

.aLabelAdvice {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #4e87a9;
  margin-right: 15px;
}

.aLabelThanks {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #4e87a9;
  margin-right: 15px;
}

.aLabelDisable {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #b4b4b4;
  margin-right: 15px;
  padding: 1px 0;
}

.aLabelFinished {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  padding: 1px 12px;
  border-radius: 3px;
  color: white;
  text-align: center;
  width: 90px;
  height: 22px;
  background: #b4b4b4;
  margin-right: 15px;
}

.aResponsiveButton {
  text-align: center;
  border: 1px solid #b4b4b4;
  border-radius: 5px;
  margin: 0 0 20px 0px;
  height: 75px;
}
.aResponsiveButton a {
  display: block;
  width: 100%;
  height: 73px;
  width: 100%;
  padding: 20px 0;
  text-decoration: none;
  transition: background-color 0.5s;
}
.aResponsiveButton a p {
  width: 100%;
}
.aResponsiveButton:hover, .aResponsiveButton a:hover, .aResponsiveButton a:active {
  background: #e2f0bf;
}
.aResponsiveButton .lines {
  line-height: 1.2;
}
@media screen and (min-width: 769px), print {
  .aResponsiveButton {
    margin: 0 10px 20px 0;
  }
}
.aResponsiveButton .active {
  background: #e2f0bf;
}

.決済方法選択 {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px), print {
  .決済方法選択 {
    flex-direction: row;
    gap: 20px;
  }
}
.決済方法選択 .aResponsiveButton {
  flex: 1;
  margin: 0;
}
@media screen and (min-width: 769px), print {
  .決済方法選択 .aResponsiveButton {
    margin: 0;
  }
}
.決済方法選択 .aResponsiveButton .button-payment-flex {
  display: flex;
  justify-content: center;
  align-items: center;
}

.gmo-payment-form,
.bank-transfer {
  display: none;
}
.gmo-payment-form.show,
.bank-transfer.show {
  display: block;
}

.step2 {
  display: none;
}

.aTalkable {
  background-color: #97BC3F;
  color: white;
  padding: 2px 12px;
  border-radius: 20px;
}

.aUnTalkable {
  background-color: #eeeeee;
  padding: 2px 12px;
  border-radius: 20px;
}

.aPinkLink {
  color: #f57474;
  text-decoration: none;
}

.aLabel {
  font-weight: bold;
  display: block;
}
.aLabel .sub_text {
  margin-left: 5px;
  font-size: 12px;
  color: #4a4a4a;
}

.aSubText {
  font-size: 15px;
  line-height: 1.6;
  color: #4a4a4a;
}
.aSubText a {
  font-size: 15px;
}

.aButtonSmall {
  display: block;
  border: 1px solid lightgray;
  font-size: small;
  border-radius: 4px;
  padding: 6px 8px;
  text-decoration: none;
}

.aManakaSquareAd img {
  width: 300px;
  height: 300px;
  display: block;
}

.mDialogueRow textarea {
  border: 1px solid red;
}

.aUserInfo .name {
  font-size: 15px;
  font-weight: bold;
  line-height: 23px;
}
.aUserInfo {
  font-size: 13px;
  line-height: 23px;
  display: flex;
  gap: 10px;
}

.aInfoBox {
  padding: 16px 20px;
  border: 1px solid gray;
  background-color: #efefef;
  border-radius: 5px;
}

.aBlockquote {
  background: url(/assets/sp_redesign/quote_gray-71375e52a7ca4881212b3a13db640b1a69265b39da23c49cfe96731c3dad968e.png) no-repeat #f8f8f8 15px 20px;
  background-size: 20px 16px;
  padding: 20px 20px 20px 50px;
  margin-bottom: 30px;
  border-radius: 5px;
  font-weight: bold;
}

.aBlockquoteQA p {
  text-indent: -2.5em;
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 1.3px;
  margin: 0 10px 0px 2.5em !important;
}
@media screen and (min-width: 769px), print {
  .aBlockquoteQA p {
    margin: 0 50px 0px 4.5em !important;
  }
}

.aBlockquoteQA:nth-of-type(1n):first-letter {
  font-size: 21px;
  padding: 0 0px 0 10px;
  color: #b4b4b4;
}
@media screen and (min-width: 769px), print {
  .aBlockquoteQA:nth-of-type(1n):first-letter {
    padding: 0 10px;
  }
}

.aUnderline {
  background: linear-gradient(transparent 80%, hsl(48, 100%, 67%) 80%);
  font-weight: bold;
}

.aDialogueNotification {
  background-color: white;
}
.aDialogueNotification p {
  font-size: 14px;
  text-align: center;
  color: gray;
  border: 1px dashed #ffadad;
  padding: 20px;
}
.aDialogueNotification p a {
  margin-left: 10px;
  color: #f57474;
}
.aDialogueNotification {
  padding: 10px 20px 20px;
}

.mCircle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 102px;
  height: 102px;
  background-color: #97bc3f;
  border-radius: 50%;
  color: white;
}
.mCircle ul li {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.6px;
  line-height: 1.2;
  color: white;
}
.mCircle ul li.number {
  font-size: 20px;
  margin-bottom: 2px;
}

.mPanel {
  border: 2px solid orange;
  padding: 15px 20px;
}

.mGrayPanel {
  background-color: #f3f3f3;
  padding: 15px 20px;
}

.mCirclePC {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  background-color: #97bc3f;
  border-radius: 50%;
  color: white;
}
.mCirclePC ul {
  margin-top: 3px;
}
.mCirclePC ul li {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.6px;
  line-height: 1.2;
  color: white;
}
.mCirclePC ul li.number {
  font-size: 22px;
  margin-bottom: 2px;
  margin-bottom: 5px;
}

.mQuestionRow {
  border-top: 1px solid #ebebeb;
  padding: 16px 20px 15px;
}
.mQuestionRow .date {
  font-size: 13px;
  margin-right: 10px;
}
.mQuestionRow a {
  text-decoration: none;
}
.mQuestionRow a h3 {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
  margin: 8px 0 0 0;
  line-height: 1.5;
}
.mQuestionRow a p {
  margin: 10px 0 5px;
  font-size: 15px;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  line-height: 1.7;
}

.mThanksBordeBoxLink {
  white-space: nowrap;
  display: inline-block;
  padding: 1px 6px 0;
  font-size: 13px;
  color: #4a4a4a;
  border: 1px solid #ccc;
  border-radius: 3px;
  text-decoration: none;
}
.mThanksBordeBoxLink img {
  display: inline;
}

.mIconBorderBoxLink {
  position: relative;
  display: inline-flex;
  white-space: nowrap;
  padding: 1px 6px 0;
  border: 1px solid #ccc;
  border-radius: 3px;
  text-decoration: none !important;
  vertical-align: bottom;
  margin-right: 15px !important;
  height: 27px;
}
.mIconBorderBoxLink span {
  font-size: 13px;
  color: #4a4a4a !important;
}
.mIconBorderBoxLink .circle {
  position: absolute;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 22px;
  font-size: 13px;
  background: #97BC3F;
  color: white !important;
  border-radius: 50%;
  top: -8px;
  right: -10px;
}

.mProfileMasterEdit {
  display: flex;
  margin: 0 -3px;
}
.mProfileMasterEdit div {
  margin: 3px;
  flex-grow: 1;
  letter-spacing: 1px;
}

.mQuestionRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mQuestionTopicRow {
  border-top: 1px solid #ebebeb;
  padding: 20px 20px 15px;
}
.mQuestionTopicRow a {
  text-decoration: none;
}
.mQuestionTopicRow a h3 {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
}
.mQuestionTopicRow a p {
  font-size: 14px;
  overflow: hidden;
  padding: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  word-break: break-all;
  line-height: 1.5;
  margin-bottom: 5px;
}

.mQuestionRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mTempleRow a {
  text-decoration: none !important;
}
.mTempleRow .mThanksCountStrong span, .mTempleRow .mThanksCountStrong .count, .mTempleRow .mAnswersCountStrong span, .mTempleRow .mAnswersCountStrong .count {
  color: black !important;
}

.mProfileMasterBox a {
  text-decoration: none;
  position: relative;
  display: inline-block;
}
.mProfileMasterBox {
  width: 170px;
  padding: 20px 25px 20px 25px;
  margin: 0;
  border-bottom: 1px solid #ebebeb;
  background-color: white;
}
@media screen and (max-width: 320px) {
  .mProfileMasterBox {
    width: 160px;
    padding: 20px 20px 20px 20px;
  }
}
.mProfileMasterBox .talks {
  height: 28px;
}
.mProfileMasterBox .talks span {
  font-size: 12px;
  letter-spacing: -0.5px;
  background: #e2f0bf;
  padding: 6px 2px;
}
.mProfileMasterBox .answer {
  position: relative;
  width: 80%;
  margin: 0 auto;
  padding: 3px auto;
  border-radius: 4px;
  font-size: 13px;
  text-align: center;
}
.mProfileMasterBox .answer span {
  font-size: 13px;
  font-weight: bold;
}
.mProfileMasterBox .photo {
  width: 120px;
  height: 120px;
  margin-bottom: 20px;
}
.mProfileMasterBox .photo img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin: 10px 0 0;
}
.mProfileMasterBox .name {
  text-align: center;
  font-size: 20px;
}
.mProfileMasterBox .name a {
  font-weight: bold;
  line-height: 20px;
}
.mProfileMasterBox .prefecture {
  text-align: center;
  height: 20px;
}
.mProfileMasterBox .prefecture a {
  display: block;
  color: #f57474;
  font-size: 13px;
  text-decoration: underline;
}

.mProfileQuestionRow {
  border-top: 1px solid #ebebeb;
  padding: 15px 20px;
  background-color: white;
}
.mProfileQuestionRow a {
  text-decoration: none;
}
.mProfileQuestionRow a h3 {
  font-size: 16px;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
  margin: 5px 0 0 0;
}
.mProfileQuestionRow a.user_info {
  font-size: 13px;
  text-decoration: underline;
  color: #f57474;
}
.mProfileQuestionRow p {
  color: #4a4a4a;
  font-size: 13px;
  line-height: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0;
  margin-top: 5px;
}

.mProfileQuestionRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mProfileUnansweredRow {
  border-top: 1px solid #ebebeb;
  padding: 20px 20px 15px;
  background-color: white;
}
.mProfileUnansweredRow a {
  text-decoration: none;
}
.mProfileUnansweredRow .flexbox {
  justify-content: flex-end;
  margin-top: 5px;
}
.mProfileUnansweredRow .flexbox a + a {
  margin-left: 10px;
}

.mProfileUnansweredRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mProfileAnswerdRow h3 {
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 5px;
}
.mProfileAnswerdRow {
  border-top: 1px solid #ebebeb;
  padding: 20px 20px 15px;
  background-color: white;
}
.mProfileAnswerdRow a {
  text-decoration: none;
}
.mProfileAnswerdRow .desc {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 5px;
}
.mProfileAnswerdRow .flexbox div {
  font-size: 13px;
}
.mProfileAnswerdRow .flexbox .thanks_count_container {
  flex: 1;
}
.mProfileAnswerdRow .flexbox .thanks_state {
  flex: 1;
  margin: 5px 10px 0;
}

.mProfileAnswerdRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mPickupAllRow {
  border-top: 1px solid #ebebeb;
  background-color: white;
  padding: 20px 15px 15px 15px;
}
.mPickupAllRow a {
  text-decoration: none;
}
.mPickupAllRow h3 {
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1.3px;
  margin: 0 0 15px 10px;
}
.mPickupAllRow .aQuote {
  margin-left: 5px;
}
.mPickupAllRow .description {
  position: relative;
  margin: 0 0 0 37px;
  padding-bottom: 17px;
  border-bottom: 1px solid #ebebeb;
}
.mPickupAllRow .description:before,
.mPickupAllRow .description:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 45px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.mPickupAllRow .description:before {
  border: solid 9px transparent;
  border-top: solid 9px #ebebeb;
}
.mPickupAllRow .description:after {
  border: solid 13px transparent;
  border-top: solid 13px #fff;
  margin-top: -5px;
}
.mPickupAllRow .master {
  position: relative;
  padding-top: 20px;
  margin: 0 0 0 40px;
}
.mPickupAllRow .master .aIconThanks {
  margin-top: -4px;
}
.mPickupAllRow .master .flexbox {
  width: 100%;
  flex-wrap: wrap;
}
.mPickupAllRow .master .flexbox .name {
  margin: 5px 0 8px 10px;
}
.mPickupAllRow .master .flexbox .name a {
  text-decoration: underline;
  font-size: 15px;
  color: #f57474;
}
.mPickupAllRow .master .flexbox .temple {
  margin: 7px 0 0 10px;
}
.mPickupAllRow .master .flexbox .thanks {
  margin-left: auto;
  margin-top: 8px;
}

.mThanksCountStrong .aIconThanks, .mAnswersCountStrong .aIconThanks {
  margin-top: -6px;
}

.mThanksCountProfile, .mAnswerCountProfile {
  margin-right: 10px;
  font-size: 15px;
}
.mThanksCountProfile span, .mAnswerCountProfile span {
  font-size: 15px;
  font-weight: bold;
}

.mFeaturesRow, .mArticlesRow {
  background-color: white;
  padding: 12px 10px;
  border-top: 1px solid #ebebeb;
}
.mFeaturesRow .image, .mFeaturesRow img, .mArticlesRow .image, .mArticlesRow img {
  display: block;
  width: 112px;
  height: 82px;
}
.mFeaturesRow .title, .mArticlesRow .title {
  flex: 1;
  margin-left: 10px;
  position: relative;
}
.mFeaturesRow p, .mArticlesRow p {
  font-size: 13px;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.mFeaturesRow p strong, .mArticlesRow p strong {
  font-size: 13px;
}
.mFeaturesRow h3, .mArticlesRow h3 {
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0.9;
  overflow: hidden;
}
.mFeaturesRow span, .mArticlesRow span {
  position: absolute;
  bottom: 0;
}
.mFeaturesRow a, .mArticlesRow a {
  text-decoration: none;
}
.mFeaturesRow:last-child, .mArticlesRow:last-child {
  border-bottom: 1px solid #ebebeb;
}

.mSocialButton {
  background-color: white;
  margin: 0 auto;
  padding: 20px 20px 30px;
  align-items: center;
}
.mSocialButton .buttons {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mSocialButton {
  /*.flexbox {
    justify-content: flex-end;
  }*/
}
.mSocialButton p {
  margin-top: 5px;
  font-size: 13px;
  text-align: right;
}
.mSocialButton a {
  margin-left: 10px;
}

.mThanksButton {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  margin: 0 10px 30px auto;
}

.mPagenation {
  background-color: white;
  margin-bottom: 10px;
  padding: 20px 20px 30px 20px;
  border-top: 1px solid #ebebeb;
}
.mPagenation .blank {
  flex: 1;
}
.mPagenation .currentPage {
  width: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 60px;
}
.mPagenation .pagelink {
  margin: 2px;
}
.mPagenation a {
  display: block;
  flex: 1;
  margin: 2px;
}
.mPagenation .aMainButton {
  border: 1px solid #dddddd;
  color: #666;
}
.mPagenation .gap {
  width: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 64px;
}
.mPagenation .page_current {
  padding: 0 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mPagenation .page_current span {
  padding-right: 5px;
  font-weight: bold;
}

.help-icon {
  display: block;
  position: absolute;
  right: 2px;
  top: -12px;
  width: 24px;
  height: 24px;
}
.mMasterFooter {
  border: 1px solid #CDC4C4;
  border-radius: 4px;
  padding: 14px;
  display: flex;
  flex-direction: column;
}
.mMasterFooter img {
  border-radius: 100px;
}
.mMasterFooter .introduction {
  margin-top: 6px;
  height: 63px;
  overflow: hidden;
  font-size: 14px;
  line-height: 21px;
  text-overflow: ellipsis;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.mMasterFooter .talk-message .fukidashi-triangle {
  top: -14.5px;
  left: 14px;
  position: absolute;
  width: 28px;
  height: 20px;
}
.mMasterFooter .talk-message {
  border-radius: 4px;
  position: relative;
  border: 1px solid #97bc3f;
  font-size: 14px;
  line-height: 21px;
  padding: 8px;
  margin-top: 4px;
}
.mMasterFooter .buttons {
  position: relative;
  gap: 10px;
  margin-top: 16px;
}
.mMasterFooter .buttons .shadow-button {
  height: 32px;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 50%;
  color: #333;
  display: flex;
  gap: 8px;
  background: linear-gradient(0deg, rgb(238, 238, 238), rgb(255, 255, 255));
}
.mMasterFooter .buttons .shadow-button .label {
  font-size: 14px;
  font-weight: 700;
  line-height: 30px;
}
.mMasterFooter .buttons .shadow-button img {
  margin-top: 8px;
  margin-left: 6px;
  display: block;
  width: 16px;
}
.mMasterFooter .buttons .talk-button {
  min-width: 160px;
}
.mMasterFooter .profile-head {
  display: flex;
  gap: 10px;
}
.mMasterFooter .profile-head .detail {
  margin-top: 6px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mMasterFooter .profile-head .detail .name a {
  color: #F57474;
  font-weight: 700;
  text-decoration: underline;
}
.mMasterFooter .profile-head .detail .info {
  display: flex;
  justify-content: space-between;
}
.mMasterFooter .profile-head .detail .info .talkability {
  display: flex;
  font-size: 14px;
  font-weight: 700;
  color: #97BC3F;
  line-height: 20px;
  gap: 4px;
}
.mMasterFooter .profile-head .detail .info .talkability img {
  margin-top: 2px;
}
.mMasterFooter .profile-head .detail .info .temple {
  line-height: 20px;
  font-size: 14px;
  height: 20px;
  padding: 0;
}
.mMasterFooter .profile-head .detail .info .temple a {
  border: 1px solid #ccc;
  padding: 2px 10px;
  margin: 0;
  border-radius: 4px;
}

.mBox {
  padding: 0 0 20px;
  background-color: white;
}

.mQuestionInformation {
  font-size: 14px;
}
.mQuestionInformation .thanks_state {
  padding-top: 5px;
}

.mMasterTalkableInfo {
  border: 1px solid red;
}

.mOkimochiPanel {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
}
.mOkimochiPanel div {
  gap: 10px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.mOkimochiPanel div .aResponsiveButton {
  width: 100%;
}

.mCommentBox {
  width: 50%;
  padding: 10px;
  margin-bottom: 30px;
  line-height: 18px;
}
.mCommentBox a {
  text-decoration: none;
}
.mCommentBox .profile {
  font-size: 14px;
  color: #4a4a4a;
  text-align: right;
  margin-right: 5px;
  margin-top: 5px;
}
.mCommentBox .comment:first-letter {
  font-size: 24px;
}
.mCommentBox .master {
  font-size: 14px;
}
.mCommentBox .master a {
  color: #f57474;
}

.mMasterAnswerRow p {
  font-size: 16px;
  line-height: 1.5;
}
.mMasterAnswerRow {
  padding-bottom: 20px;
}
.mMasterAnswerRow .title {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px 8px;
}
.mMasterAnswerRow .body {
  margin: 0 0 0 28px;
}
.mMasterAnswerRow .question {
  margin: 10px 12px 0 23px;
  text-align: right;
}
.mMasterAnswerRow .question a {
  font-size: 15px;
  color: #f57474;
  line-height: 1;
}

.mH2 {
  background-color: white;
  color: #97BC3F;
  line-height: 1.5;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 1px;
  position: relative;
}
.mH2 span {
  margin-left: 15px;
  font-size: 13px;
}
@media screen and (min-width: 769px), print {
  .mH2 {
    font-size: 18px;
  }
}

.mRadioButton input {
  padding: 5px;
  width: 15px;
  height: 15px;
}
.mRadioButton label {
  margin: 0 10px 0 5px;
}
.mRadioButton .field_with_errors {
  width: auto !important;
}

.mSnsField {
  display: flex;
}
.mSnsField img {
  width: 30px;
  height: 30px;
  margin: 5px 8px 0 0;
}

@media screen and (max-width: 768px) {
  .mBannerTalks {
    background: white;
    text-align: center;
    overflow: hidden;
    z-index: 1000;
    margin: 20px 0 0;
  }
  .mBannerTalks .banner {
    display: none;
  }
  .mBannerTalks .banner355 {
    margin: 0;
    width: 100%;
  }
}
@media screen and (min-width: 769px), print {
  .mBannerTalks {
    width: 650px;
    margin: 25px 25px 0;
    display: block;
    background: white;
    text-align: center;
    overflow: hidden;
    bottom: -8px;
    border: 1px solid #ccc;
    z-index: 1000;
    padding: 10px 10px;
  }
  .mBannerTalks .banner {
    width: 630px;
    margin: 0 auto;
    text-align: center;
  }
  .mBannerTalks .banner355 {
    display: none;
  }
}

.mTags a {
  font-size: 14px;
  font-weight: bold;
  margin-right: 10px;
}
.mTags .aTagLink {
  background-color: #f5f5f5;
  padding: 1px 12px;
  border-radius: 20px;
  text-decoration: none;
  display: inline-block;
  margin: 0 4px 6px 0;
}

.mAnswerDialogue {
  margin-bottom: 10px;
  background-color: #efefef;
  padding: 10px;
}

.mDialogueMasterFaceName {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.mDialogueMasterFaceName .aUserFace img {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
.mDialogueMasterFaceName .name {
  margin: 5px 0 0 0;
}
.mDialogueMasterFaceName .name a {
  text-decoration: none;
  font-size: 15px;
  color: #f57474;
}

.mCheckMarkList {
  display: inline-block;
  background-color: #f8f8f8;
  width: auto;
}
.mCheckMarkList {
  padding: 20px;
}
.mCheckMarkList .title {
  margin: 0 0 10px;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}
.mCheckMarkList .footer_text {
  font-weight: bold;
  text-align: center;
  margin: 0;
  font-size: 16px;
}

.mColumnRow a {
  text-decoration: none;
}
.mColumnRow {
  border-bottom: 1px solid #ccc;
  background-color: white;
  padding: 4px 0;
}
@media screen and (min-width: 769px), print {
  .mColumnRow {
    padding: 9px 5px;
  }
}
.mColumnRow .column-row-flex {
  display: flex;
}
.mColumnRow .column-row-flex .imageContainer img {
  display: block;
  width: 100px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .column-row-flex .imageContainer img {
    width: 50px;
    height: auto;
  }
}
.mColumnRow .column-row-flex .info {
  margin-left: 10px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .column-row-flex .info {
    margin-left: 14px;
    margin-top: 4px;
  }
}
.mColumnRow .column-row-flex .info .title .num {
  margin-right: 10px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .column-row-flex .info .title .num {
    display: none;
  }
}
.mColumnRow .column-row-flex .info .title {
  line-height: 27px;
  text-decoration: none;
  font-size: 15px;
  font-weight: bold;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .column-row-flex .info .title {
    font-size: 14px;
    line-height: 19.6px;
    margin-bottom: 1px;
  }
}
.mColumnRow .column-row-flex .info p {
  font-size: 15px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .column-row-flex .info p {
    font-size: 14px;
    line-height: 19.6px;
  }
}

.mAdBanner img {
  width: 100%;
}
.mAdBanner {
  margin-bottom: 10px;
}

.mMemberDetail {
  padding: 10px;
  border: 1px solid gray;
}

.mPrefectureFilter {
  background-color: white;
  padding: 0 20px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.mPrefectureFilter .aSelectBox {
  width: 110px;
}
.mPrefectureFilter .aButtonSmall {
  margin-left: 10px;
  height: 40px;
  width: 100px;
}

.mMemberMessageRow {
  display: flex;
  border-bottom: 1px solid #ebebeb;
  padding: 20px 0px;
}
.mMemberMessageRow img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 1px solid white;
  margin: 0 20px 0 0;
}
.mMemberMessageRow .type {
  width: 100px;
  text-align: center;
  font-size: 13px;
  color: white;
  background-color: #fb9292;
  padding: 3px 10px;
  border-radius: 3px;
  margin-left: 15px;
}
.mMemberMessageRow {
  text-align: left;
}

.mMemberMessageRow:first-child {
  padding: 0 0 20px;
}

.mMokuji {
  padding: 20px;
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.mMokuji .caption {
  font-weight: bold;
}
.mMokuji .caption span {
  font-size: 15px;
  color: #f57474;
  text-decoration: underline;
}
.mMokuji ul {
  list-style-type: none;
  margin: 5px 0 0 0;
}
.mMokuji ul a {
  color: #f57474;
  font-size: 17px;
  line-height: 1.5;
}
.mMokuji ul li {
  line-height: 1;
  margin: 0 0 8px 20px;
  list-style-type: disc;
}
.mMokuji ul > li > ul > li > a {
  font-size: 15px;
  line-height: 1.5;
}
.mMokuji ul > li > ul {
  margin: 10px 0 10px 0;
}
.mMokuji ul > li > ul li {
  list-style-type: circle;
}

.m2Buttons {
  display: flex;
}

.mErrorMessages {
  background-color: hsl(348, 100%, 61%);
  margin-bottom: 15px;
}
.mErrorMessages ul {
  padding: 10px 10px;
}
.mErrorMessages li + li {
  margin-top: 5px;
}
.mErrorMessages li {
  color: #fff;
  line-height: 20px;
}

.mUserInfo {
  font-size: 15px;
}
.mUserInfo ul {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 10px;
}
.mUserInfo ul li {
  height: 20px;
}

.oTopHeader {
  padding-top: 10px;
  background-color: white;
  height: 70px;
  z-index: 999;
  width: 100%;
  position: fixed;
}
.oTopHeader .aLogoFull {
  margin: 0 auto;
}
@media screen and (min-width: 769px), print {
  .oTopHeader .aLogoFull {
    padding-left: 22px;
  }
}
.oTopHeader .aHumberger {
  cursor: pointer;
  margin: 20px 20px 0 0;
}
.oTopHeader .flexbox {
  max-width: 1010px;
  margin: 0 auto;
}

.oHeadSpacer {
  height: 60px;
}

.oHeaderContainer {
  z-index: 999;
  width: 100%;
  position: fixed;
  background-color: white;
  border-bottom: 1px solid #ebebeb;
}

.oGoogleAd320x250 {
  width: 320px;
  height: 250px;
  margin: 20px auto;
}

.oAdJumokuso {
  width: 100%;
}
.oAdJumokuso img {
  display: block;
  width: 100%;
}

.oHeader .appPageTitle {
  margin-right: auto;
  padding-top: 14px;
  padding-left: 20px;
  font-weight: bold;
  font-size: 20px;
  display: flex;
}
.oHeader .appPageTitle .back-arrow {
  margin: 11px 10px 0 20px;
}
.oHeader .inner {
  width: 100%;
  background-color: white;
  height: 65px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  max-width: 1010px;
  margin: 0 auto;
}
.oHeader .aLogoWithText {
  margin-right: auto;
}
.oHeader .aLogoWithText a img {
  margin: 18px auto 0 8px;
}
@media screen and (max-width: 320px) {
  .oHeader .aLogoWithText img {
    margin: 20px auto 0 5px;
  }
}
.oHeader .aButtonQuestion a {
  margin: 12px 5px 0 0;
}
.oHeader .aHumbergerWithText {
  margin-top: 18px;
}
.oHeader .aButtonClose {
  margin-top: 16px;
}

.oNavi {
  width: 100%;
  max-width: 1010px;
  margin: 0 auto;
  position: fixed;
  top: 65px;
  left: 0px;
  right: 0px;
  transition: 0.5s;
  z-index: 99;
  background-color: white;
  border-bottom: 1px solid #ebebeb;
  padding: 20px 0;
}
.oNavi ul {
  margin: 0 auto;
  max-width: 950px;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.oNavi ul li {
  padding: 0 5px;
}
@media screen and (max-width: 320px) {
  .oNavi ul li {
    padding: 0;
  }
}
.oNavi ul li a {
  font-size: 15px;
  font-weight: bold;
  color: #97BC3F;
  text-decoration: none;
  line-height: 40px;
}

.oStaticNavi {
  width: 100%;
  background-color: white;
  border-bottom: 1px solid #ebebeb;
  padding: 10px 0 15px;
}
.oStaticNavi ul {
  padding: 0 10px;
  display: flex;
  justify-content: space-around;
}
.oStaticNavi ul li {
  padding: 0 10px;
}
@media screen and (max-width: 320px) {
  .oStaticNavi ul li {
    padding: 0;
  }
}
.oStaticNavi ul li a {
  font-size: 15px;
  font-weight: bold;
  color: #97BC3F;
  color: #97BC3F;
  text-decoration: none;
}

.oNavi.hide {
  transform: translateY(-100%);
}

.oTopMain {
  padding-top: 90px;
}
@media screen and (min-width: 769px), print {
  .oTopMain {
    padding-top: 150px;
  }
}
.oTopMain {
  background-color: white;
  position: relative;
  overflow: hidden;
}
.oTopMain .copy {
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 1.4px;
  text-align: center;
}
.oTopMain .copy .br {
  line-height: 20px;
}
.oTopMain .copy span {
  color: #97bc3f;
  font-size: 18px;
}
.oTopMain img.ask_to_master {
  width: 92%;
  height: auto;
  margin-top: 25px;
}
.oTopMain .aPlainButton {
  font-weight: bold;
  height: 54px;
}
.oTopMain .mCircle {
  position: absolute;
  top: 280px;
  right: -10px;
}

.oThanks {
  display: flex;
  flex-wrap: wrap;
  background-color: white;
  padding: 0 10px 20px 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .oThanks {
    margin-bottom: 20px;
  }
}
.oThanks {
  width: 100%;
}
.oThanks .mCommentBox {
  width: 50%;
}

.oAdText {
  text-align: center;
  padding: 0 20px;
  background-color: white;
}

.oAdBannerWithText {
  background-color: white;
  padding: 0 10px;
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 769px), print {
  .oAdBannerWithText {
    margin-top: 0;
  }
}
.oAdBannerWithText a {
  display: block;
  font-size: 12px;
}
.oAdBannerWithText a img {
  height: auto;
  display: inline;
}

.oAdBanner {
  text-align: center;
}

.oMainButton {
  padding: 0 50px;
  background-color: white;
  width: 100%;
}

.oPlainButton {
  padding-top: 10px;
  background-color: white;
  width: 100%;
}
.oPlainButton .aPlainButton {
  display: block;
  width: 245px;
  margin: 0 auto;
  text-decoration: none !important;
  color: #333;
}
.oPlainButton a {
  text-decoration: none !important;
}

.oColorButton {
  padding-top: 10px;
}
.oColorButton a {
  text-decoration: none !important;
  display: block;
  width: 90%;
  margin: 0 auto;
  text-decoration: none !important;
  color: white;
}

.oSecondaryButton, .oMoreButton {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .oSecondaryButton, .oMoreButton {
    margin-bottom: 20px;
  }
}
.oSecondaryButton, .oMoreButton {
  padding-top: 20px;
  background-color: white;
  width: 100%;
}
.oSecondaryButton .aSecondaryButton, .oMoreButton .aSecondaryButton, .oSecondaryButton .aMoreButton, .oMoreButton .aMoreButton {
  width: 245px;
  margin: 0 auto;
}
.oSecondaryButton, .oMoreButton {
  padding-bottom: 20px;
}
.oSecondaryButton a, .oMoreButton a {
  text-decoration: none;
}

.oQuestionsList {
  background-color: white;
}
.oQuestionsList > .box {
  padding: 0px 23px 30px;
}
.oQuestionsList > .box .mSearchForm {
  width: 100%;
}
.oQuestionsList > .box a {
  color: #4a4a4a;
  line-height: 40px;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  margin: 10px;
}
.oQuestionsList {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .oQuestionsList {
    margin-bottom: 20px;
  }
}

.oLinkList {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .oLinkList {
    margin-bottom: 20px;
  }
}
.oLinkList {
  background-color: white;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}
.oLinkList .right_link {
  text-align: right;
  margin: 10px;
}
.oLinkList .right_link a {
  text-decoration: none;
  color: #f57474;
}
@media screen and (min-width: 769px), print {
  .oLinkList .parent li.category_container {
    margin-top: 50px;
  }
}
.oLinkList .parent li.category {
  border-bottom: 1px solid #ebebeb;
  padding: 10px 40px 10px 20px;
}
.oLinkList .parent li {
  position: relative;
  font-weight: bold;
}
.oLinkList .parent li .category {
  font-weight: bold;
  border-bottom: 1px solid #ebebeb;
  padding: 10px 40px 10px 20px;
}
.oLinkList .parent li span {
  font-size: 13px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.oLinkList .parent li a {
  display: block;
  width: 100%;
  padding: 12px 20px 12px 20px;
  text-decoration: none;
  line-height: 1.3;
  color: #f57474;
}
.oLinkList .parent li .category_top a, .oLinkList .parent li .children_category_top a {
  font-weight: bold;
}
@media screen and (min-width: 769px), print {
  .oLinkList .parent li .category_top a, .oLinkList .parent li .children_category_top a {
    font-weight: normal;
    padding-left: 50px;
  }
}
@media screen and (max-width: 768px) {
  .oLinkList .parent li .category_top:after {
    position: absolute;
    content: "";
    top: 18px;
    right: 12px;
    width: 7px;
    height: 15px;
    background: url(/assets/sp_redesign/ico_arrow_right-a07e80502bb2bed439eb6c75c40bc66676d194672776578a5654afd2a75b5b19.svg) top right no-repeat;
    background-size: 7px 15px;
  }
}
.oLinkList .parent li .children_category_top {
  border-top: 1px solid #ebebeb;
}
@media screen and (max-width: 768px) {
  .oLinkList .parent li .children_category_top:after {
    position: absolute;
    content: "";
    top: 18px;
    right: 12px;
    width: 7px;
    height: 15px;
    background: url(/assets/sp_redesign/ico_arrow_right-a07e80502bb2bed439eb6c75c40bc66676d194672776578a5654afd2a75b5b19.svg) top right no-repeat;
    background-size: 7px 15px;
  }
}
.oLinkList .parent li .children_category_top:after {
  top: 65px !important;
}
.oLinkList .parent li .children {
  border-bottom: 1px solid #ebebeb;
}
.oLinkList .parent li .children li .category {
  font-weight: normal;
  border-bottom: none;
}
.oLinkList .parent li .children li {
  border-bottom: 1px solid #ebebeb;
  position: relative;
}
.oLinkList .parent li .children li:first-child {
  border-top: none;
  padding: 0px;
}
.oLinkList .parent li .children li:last-child {
  border-bottom: none;
}
.oLinkList .parent li .children .grand_children {
  border-top: 1px solid #ebebeb;
  border-bottom: none;
  flex-wrap: wrap;
  padding-left: 50px;
}
.oLinkList .parent li .children .grand_children li {
  width: 50%;
  border-right: 1px solid #ebebeb;
  border-bottom: none !important;
  position: relative;
}
.oLinkList .parent li .children .grand_children li a {
  font-size: 14px;
}
.oLinkList .parent li .children .grand_children li:nth-child(2n) {
  border-right: none;
}
.oLinkList .parent li .children .grand_children li:after {
  position: absolute;
  content: "";
  top: 18px;
  right: 12px;
  width: 7px;
  height: 15px;
  background: url(/assets/sp_redesign/ico_arrow_right-a07e80502bb2bed439eb6c75c40bc66676d194672776578a5654afd2a75b5b19.svg) top right no-repeat;
  background-size: 7px 15px;
}
@media screen and (max-width: 768px) {
  .oLinkList .parent .arrow:after {
    position: absolute;
    content: "";
    top: 20px;
    right: 10px;
    width: 15px;
    height: 7px;
    background: url(/assets/sp_redesign/ico_arrow_down-9171cdc60e74bd7a8d058e6a9ad2c5fe42b2bbe6512ed0049dcd272c33c83dec.svg) top right no-repeat;
    background-size: 15px 7px;
    transform: scale(1, 1);
  }
  .oLinkList .parent .selected:after {
    transform: rotate(180deg);
  }
  .oLinkList .parent .arrow_right:after {
    position: absolute;
    content: "";
    top: 18px;
    right: 12px;
    width: 7px;
    height: 15px;
    background: url(/assets/sp_redesign/ico_arrow_right-a07e80502bb2bed439eb6c75c40bc66676d194672776578a5654afd2a75b5b19.svg) top right no-repeat;
    background-size: 7px 15px;
  }
}

.oMenu {
  margin: 0 auto;
  background-color: white;
  max-width: 1010px;
  position: relative;
}
.oMenu ul {
  background-color: white;
  border-bottom: 1px solid #ebebeb;
}
@media screen and (min-width: 769px), print {
  .oMenu ul {
    width: 300px;
    position: absolute;
    right: 0;
    border-right: 1px solid #ebebeb;
    border-left: 1px solid #ebebeb;
  }
}
.oMenu ul li {
  position: relative;
}
.oMenu ul li a {
  border-top: 1px solid #ebebeb;
  display: block;
  width: 100%;
  height: 50px;
  padding: 10px 20px 18px;
  text-decoration: none;
}
.oMenu ul li .notification {
  background-color: #fb9292;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  position: absolute;
  top: 16px;
  right: 32px;
  color: white;
  line-height: 20px;
  text-align: center;
  font-size: 11px;
}
.oMenu ul li.arrow:after {
  position: absolute;
  content: "";
  top: 18px;
  right: 12px;
  width: 7px;
  height: 15px;
  background: url(/assets/sp_redesign/ico_arrow_right-a07e80502bb2bed439eb6c75c40bc66676d194672776578a5654afd2a75b5b19.svg) top right no-repeat;
  background-size: 7px 15px;
}

.oBook {
  background-color: white;
}
.oBook img {
  width: 100%;
}
.oBook {
  padding: 0 0 20px;
  margin-bottom: 10px;
}

.oFooter {
  bottom: 0;
  background-color: #524A4A;
  padding: 35px auto 0;
  border: 1px solid #524A4A;
}
.oFooter .inner {
  max-width: 1010px;
  margin: 0 auto;
}
.oFooter .oFooterAboutText {
  padding: 35px 20px 0 20px;
}
.oFooter .oFooterAboutText .title {
  font-size: 26px;
  color: white;
}
.oFooter .oFooterAboutText p {
  margin-top: 10px;
  font-size: 13px;
  color: white;
  line-height: 1.7;
  letter-spacing: 0.9px;
}
@media screen and (min-width: 769px), print {
  .oFooter .oFooterAboutText .wrapper {
    display: flex;
  }
  .oFooter .oFooterAboutText .wrapper .oAdBanner {
    margin: 15px 0 0 20px;
  }
}
.oFooter .oFooterAboutText .social {
  margin: 10px 0 10px;
  height: 40px;
  padding-left: 10px;
}
.oFooter .oFooterAboutText .social .buttons {
  display: flex;
}
@media screen and (min-width: 769px), print {
  .oFooter .oFooterAboutText .social {
    padding-left: 0;
    height: 20px;
    margin: 30px 0 0;
    display: flex;
  }
}
.oFooter .oFooterAboutText .social .heading {
  height: 20px;
  font-size: 13px;
  color: white;
  line-height: 20px;
  margin: 10px 0;
}
@media screen and (min-width: 769px), print {
  .oFooter .oFooterAboutText .social .heading {
    margin: 0 10px 10px 0;
  }
}
.oFooter .oFooterAboutText .social #fb-root {
  height: 20px;
  margin-bottom: 15px;
}
.oFooter .oFooterAboutText .social .fb_iframe_widget {
  height: 20px;
  margin-right: 10px;
}
.oFooter .oFooterAboutText .social .fb_iframe_widget span {
  vertical-align: baseline !important;
}
.oFooter .oAdBanner {
  margin: 20px 0 0;
  background-color: #524A4A;
}
.oFooter .oAdBanner img {
  width: 320px;
  height: auto;
}
.oFooter .oFooterNav {
  margin: 30px 20px 60px;
}
@media screen and (min-width: 769px), print {
  .oFooter .oFooterNav {
    text-align: center;
  }
  .oFooter .oFooterNav li {
    display: inline;
    border-right: solid 1px white;
    padding: 3px 10px !important;
  }
  .oFooter .oFooterNav li:last-child {
    border-right: none;
  }
  .oFooter .oFooterNav li.arrow :before {
    border-width: 0 !important;
  }
}
.oFooter .oFooterNav ul {
  padding: 30px 0;
  border-top: 1px solid white;
  line-height: 1.7;
}
.oFooter .oFooterNav ul li a {
  color: white;
  font-size: 13px;
  text-decoration: none;
}
.oFooter .oFooterNav ul li.arrow {
  position: relative;
  padding: 0.1em 0.3em 0.2em 1.2em;
}
.oFooter .oFooterNav ul li.arrow :before {
  position: absolute;
  content: "";
  top: 0.5em;
  left: 0.2em;
  height: 0;
  width: 0;
  border-style: solid;
  border-width: 6px 0 6px 9px;
  border-color: transparent transparent transparent white;
}
.oFooter .oFooterNav .copy {
  color: white;
  font-size: 12px;
  padding: 0 0 50px 0;
}

.oPickup .border {
  position: relative;
  margin: 0 15px 0 20px;
  padding-bottom: 17px;
  padding-right: 17px;
  border-bottom: 1px solid #ebebeb;
}
.oPickup .border:before,
.oPickup .border:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 92px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.oPickup .border:before {
  border: solid 9px transparent;
  border-top: solid 9px #ebebeb;
}
.oPickup .border:after {
  border: solid 13px transparent;
  border-top: solid 13px #fff;
  margin-top: -5px;
}
.oPickup {
  background-color: white;
  padding-bottom: 20px;
}
.oPickup .image {
  margin: 20px 0;
}
.oPickup .image img {
  width: 100%;
}
.oPickup h1 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: 1.3px;
  margin: 0 0 5px 15px;
}
.oPickup .mSocialButton {
  padding-bottom: 15px;
}
.oPickup .flexbox:nth-child(2n) {
  padding: 0px 25px 0 25px;
}
.oPickup .flexbox {
  padding: 25px 25px 0 25px;
}
.oPickup .body {
  padding: 15px 20px 20px 25px;
}
.oPickup .body p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.56;
  letter-spacing: 1.3px;
}
.oPickup .mThanksButton {
  margin-left: 20px;
}
.oPickup .caption {
  flex-basis: 70px;
}
.oPickup .caption .kaitoso {
  padding-top: 10px;
  font-size: 15px;
  font-weight: bold;
}
.oPickup .caption .moto {
  padding-top: 0px;
  font-size: 15px;
  font-weight: bold;
}
.oPickup .master_info {
  flex-basis: auto;
  width: 80%;
}
.oPickup .master_info .flexbox {
  -webkit-flex-wrap: wrap;
  padding: 0;
}
.oPickup .master_info .flexbox img {
  border-radius: 50%;
}
.oPickup .master_info .flexbox .name {
  margin: 10px 10px 0;
}
.oPickup .master_info .flexbox .name a {
  font-size: 15px;
  color: #f57474;
}
.oPickup .master_info .flexbox .temple a {
  display: block;
  margin: 12px 10px 0 0;
}
.oPickup .answer_info {
  flex-basis: auto;
  width: 80%;
}
.oPickup .answer_info a {
  font-size: 15px;
  color: #f57474;
  line-height: 0;
}
.oPickup .answer_info .sub_text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 4px;
}

.oFeaturesHeader {
  background: white;
  padding-top: 10px;
}
.oFeaturesHeader img {
  width: 100%;
  display: block;
}
.oFeaturesHeader .title_area {
  padding: 20px;
  background-color: white;
}
.oFeaturesHeader .title_area h1 {
  font-size: 20px;
  font-weight: bold;
  margin: 20px 0 0 0;
}
.oFeaturesHeader .title_area .views {
  margin-left: auto;
  font-size: 12px;
}

.oFeaturesBody {
  width: 100vw;
}
.oFeaturesBody .banner {
  width: 100%;
  height: 56px;
}
@media screen and (min-width: 769px), print {
  .oFeaturesBody {
    width: 700px;
  }
  .oFeaturesBody .banner {
    width: 355px;
  }
}
.oFeaturesBody > p > img {
  width: 100%;
  max-width: 100%;
}
.oFeaturesBody {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.oFeaturesBody h1, .oFeaturesBody .h2, .oFeaturesBody h3, .oFeaturesBody h4, .oFeaturesBody .author {
  font-weight: bold;
}
.oFeaturesBody h2 {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}
.oFeaturesBody h1 {
  margin-bottom: 20px;
  font-size: 18px;
}
.oFeaturesBody > p {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 1.3px;
  margin-bottom: 30px;
}
.oFeaturesBody h2 {
  background-color: white;
  color: #97BC3F;
  padding: 0;
  margin: 0 0 20px 0;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 1px;
}
.oFeaturesBody h3 {
  position: relative;
  margin: 0 0 30px 0;
  padding: 10px 15px;
  font-size: 17px;
  background: #ebebeb;
  color: #4a4a4a;
  font-weight: bold;
  border-radius: 5px;
}
.oFeaturesBody h3:after {
  position: absolute;
  content: "";
  top: 100%;
  left: 30px;
  border: 8px solid transparent;
  border-top: 10px solid #ebebeb;
  width: 0;
  height: 0;
}
.oFeaturesBody h4 {
  margin: 0 0 20px 0;
  color: #333;
  font-size: 17px;
  border-left: 5px solid #fb9292;
  padding: 3px 10px;
}
.oFeaturesBody .thanks {
  padding-left: 0;
  background-image: none;
  background-size: 20px 16px;
  font-size: 18px;
}
.oFeaturesBody > p, .oFeaturesBody blockquote p {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 1.3px;
  margin-bottom: 20px;
}
.oFeaturesBody p {
  margin-bottom: 30px;
}
.oFeaturesBody p a {
  color: #f57474;
}
.oFeaturesBody blockquote {
  background: url(/assets/sp_redesign/quote_gray-71375e52a7ca4881212b3a13db640b1a69265b39da23c49cfe96731c3dad968e.png) no-repeat #f8f8f8 15px 20px;
  background-size: 20px 16px;
  padding: 20px 20px 20px 45px;
  margin-bottom: 30px;
  border-radius: 5px;
}
.oFeaturesBody blockquote p:last-child a {
  font-size: 15px;
}
.oFeaturesBody blockquote p:last-child {
  margin-bottom: 0px;
}
.oFeaturesBody blockquote.qa {
  background: url(/none) #f8f8f8;
  padding: 20px 20px 20px 3em;
}
.oFeaturesBody blockquote.qa p {
  text-indent: -3em;
}
.oFeaturesBody blockquote.qa p:nth-of-type(n+2) {
  text-indent: 0;
}
.oFeaturesBody blockquote.qa:nth-of-type(1n):first-letter {
  font-size: 21px;
  padding: 0 0px 0 20px;
  color: #b4b4b4;
}
.oFeaturesBody p.talk:first-letter {
  font-weight: bold;
  padding-right: 5px;
}
.oFeaturesBody p.talk {
  padding-left: 2.6em;
  text-indent: -2.6em;
}
.oFeaturesBody p.talk {
  position: relative;
  display: inline-block;
  margin: 0 0 30px 35px;
  padding: 7px 10px;
  color: #333;
  background: #f8f8f8;
  border-radius: 5px;
}
.oFeaturesBody p.talk:before {
  content: "";
  position: absolute;
  top: 12px;
  left: -18px;
  border: 10px solid transparent;
  border-right: 10px solid #f8f8f8;
}
.oFeaturesBody .question {
  padding-top: 20px;
  font-size: 15px;
  font-weight: bold;
  border-top: 1px solid #ebebeb;
  position: relative;
}
.oFeaturesBody .question a {
  font-size: 15px;
  color: #f57474;
}
.oFeaturesBody .question:before,
.oFeaturesBody .question:after {
  content: "";
  position: absolute;
  top: 0;
  left: 55px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.oFeaturesBody .question:before {
  border: solid 9px transparent;
  border-top: solid 9px #ebebeb;
}
.oFeaturesBody .question:after {
  border: solid 13px transparent;
  border-top: solid 13px #fff;
  margin-top: -5px;
}
.oFeaturesBody .author {
  font-size: 15px;
}
.oFeaturesBody .box {
  border: 1px solid #ebebeb;
  font-size: 15px;
  padding: 15px 20px;
}
.oFeaturesBody [name^=link], .oFeaturesBody [name*=" link"] {
  display: block;
  padding-top: 60px;
  margin-top: -60px;
}
@media screen and (min-width: 769px), print {
  .oFeaturesBody [name^=link], .oFeaturesBody [name*=" link"] {
    padding-top: 120px;
    margin-top: -120px;
  }
}

.oArticleProfileBox {
  padding: 20px;
}
.oArticleProfileBox p {
  font-size: 15px;
}
.oArticleProfileBox img {
  border-radius: 50%;
  width: 150px;
  height: 150px;
  margin-bottom: 10px;
}
.oArticleProfileBox img.banner {
  margin-top: 20px;
  border-radius: 0;
  width: 100%;
  height: 56px;
}
@media screen and (min-width: 769px), print {
  .oArticleProfileBox img.banner {
    width: 355px;
  }
}
.oArticleProfileBox ul {
  margin: 10px 0 0 20px;
}
.oArticleProfileBox ul li {
  list-style-type: disc;
}
.oArticleProfileBox ul li a {
  font-size: 14px;
  color: #4e87a9;
}

.oJiinInfo {
  background-color: white;
  padding: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px), print {
  .oJiinInfo {
    margin-bottom: 20px;
  }
}
.oJiinInfo .box {
  border: 2px solid #333;
  padding: 15px;
  font-size: 14px;
}
.oJiinInfo .box h3, .oJiinInfo .box a {
  text-decoration: none;
  font-weight: bold;
  color: #4a4a4a;
}
.oJiinInfo .box h3 {
  margin-bottom: 10px;
}
.oJiinInfo .box ul {
  margin-left: 15px;
  list-style-type: disc;
}
.oJiinInfo .box ul li {
  margin-bottom: 5px;
}

.oTempleKeyword {
  padding: 20px;
  background: white;
}
.oTempleKeyword h3 {
  font-weight: bold;
}
.oTempleKeyword .tag_area {
  margin: 10px 0;
  line-height: 1.5;
}
.oTempleKeyword .aBorderBox {
  padding: 3px;
  font-size: 12px;
  margin: 0 15px 0 5px;
}
.oTempleKeyword .all_tag {
  text-align: right;
}
.oTempleKeyword .all_tag a {
  font-size: 13px;
  font-weight: bold;
  color: #f57474;
  text-decoration: underline;
}

.oTempleMoshikomi {
  padding: 20px;
  background: white;
  margin-bottom: 10px;
}
.oTempleMoshikomi .box {
  border: 1px solid #b4b4b4;
  padding: 15px;
  font-size: 15px;
  line-height: 1.4;
}
.oTempleMoshikomi .box a {
  font-size: 15px;
  color: #f57474;
}

.oTempleMain .blank {
  width: 100%;
  height: 50px;
}
.oTempleMain .editable {
  margin: 10px 0;
}
.oTempleMain .editable a {
  display: inline;
}
.oTempleMain .editable p {
  font-size: 14px;
}
.oTempleMain .aIconSect {
  margin-bottom: -1px;
}
.oTempleMain {
  overflow: hidden;
}
.oTempleMain .photo {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 40px;
}
.oTempleMain .temple-main-container {
  position: relative;
  padding: 28px 20px 20px 20px;
  background: white;
}
.oTempleMain .temple-main-container .circle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -55px;
  right: -10px;
  width: 120px;
  height: 120px;
  background-color: #97BC3F;
  border-radius: 50%;
  color: white;
}
.oTempleMain .temple-main-container .circle ul li {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.6px;
  line-height: 1.3;
  color: white;
}
.oTempleMain .temple-main-container .circle ul li.count {
  font-size: 20px;
}
.oTempleMain .temple-main-container .circle ul li.kaito {
  margin-top: 4px;
}
.oTempleMain .temple-main-container .rubi {
  font-size: 10px;
  color: #4a4a4a;
}
.oTempleMain .temple-main-container h1 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.oTempleMain .temple-main-container h4 a {
  color: #f57474;
}
.oTempleMain .temple-main-container .catch_copy {
  color: #4a4a4a;
  margin-bottom: 18px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 1.1px;
}
.oTempleMain .temple-main-container .flexbox strong {
  word-break: keep-all;
}
.oTempleMain .temple-main-container .flexbox.master {
  flex-wrap: wrap;
}

.oTempleteBlock {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.oTempleteBlock .aMainButton {
  padding: 15px;
  display: inline;
  text-decoration: none;
}
.oTempleteBlock .editable {
  margin-top: 16px;
}
.oTempleteBlock .editable a {
  text-decoration: underline;
}
.oTempleteBlock .attention_box {
  border: 1px solid #f57474;
  padding: 15px;
  margin: 0 0 20px 0;
  color: #f57474;
}
.oTempleteBlock .attention_box a {
  color: #f57474;
  font-size: 15px;
  line-height: 1.4;
}
.oTempleteBlock .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oTempleteBlock .box h3 {
  font-weight: bold;
  font-size: 17px;
  line-height: 1.8;
}
.oTempleteBlock .box h4 {
  font-size: 17px;
  font-weight: bold;
}
.oTempleteBlock .box img {
  margin-top: 20px;
  margin-bottom: 20px;
  width: 100%;
  height: auto;
}
.oTempleteBlock .box .description {
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 1.27;
  margin: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.oTempleteBlock .box p {
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 25px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.oTempleteBlock .box .map iframe {
  border: 0;
  max-width: 100%;
  height: 210px;
}

.oMastersAllList {
  background: white;
}
.oMastersAllList .box {
  flex-wrap: wrap;
  justify-content: center;
}

.oProfileMasterInfo {
  margin-top: 10px;
  background: white;
  padding: 20px;
  position: relative;
}
.oProfileMasterInfo .caption {
  font-weight: bold;
  font-size: 15px;
}
.oProfileMasterInfo .url a {
  color: #f57474;
}
.oProfileMasterInfo .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 130px;
  background-color: #e2f0bf;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
.oProfileMasterInfo .face {
  position: absolute;
  top: 60px;
  left: 20px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 1px solid white;
  margin-bottom: 15px;
  z-index: 2;
}
.oProfileMasterInfo .master_info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
}
.oProfileMasterInfo .master_info {
  margin: 180px 0 15px 0;
}
.oProfileMasterInfo .master_info a {
  margin: 5px 0 0 auto;
  height: 25px;
}
.oProfileMasterInfo .master_info .flexbox {
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .oProfileMasterInfo .master_info .flexbox {
    flex-direction: row;
  }
}
.oProfileMasterInfo h1 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
.oProfileMasterInfo .temple_info {
  padding: 10px 0 0 14px;
  margin-top: 15px;
  border-left: 4px solid #f2f2f2;
}
.oProfileMasterInfo .temple_info p {
  line-height: 1.83;
}
.oProfileMasterInfo .temple_info a {
  text-decoration: none;
}
.oProfileMasterInfo .info_link {
  color: #f57474;
  margin: 5px 0 20px 0;
  display: block;
}
.oProfileMasterInfo button {
  margin-top: 15px;
  font-size: 12px;
}

.oProfileMasterIntoro {
  background: white;
  padding: 0 20px 20px;
  font-size: 15px;
}
.oProfileMasterIntoro p {
  margin-bottom: 20px;
}
.oProfileMasterIntoro .aTalkable, .oProfileMasterIntoro .aUnTalkable {
  display: inline-block;
  margin-bottom: 10px;
}

.oMasterAnswers {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.oMasterAnswers .links {
  text-align: right;
  font-size: 12px;
  margin: 0 0 10px;
}
.oMasterAnswers .links a {
  color: #f57474;
}
.oMasterAnswers hr:last-child {
  display: none;
}
.oMasterAnswers .box hr {
  width: 80%;
  margin: 10px auto 30px;
  border-top: none;
  border-bottom: 1px solid #dddddd;
  background-color: transparent;
}
.oMasterAnswers .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  padding-bottom: 20px;
}
.oMasterAnswers .box .mMasterAnswerRow:last-child {
  padding-bottom: 0;
}

.oProfileUserInfo {
  padding: 20px;
  background: white;
}
.oProfileUserInfo h2 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 20px;
}
.oProfileUserInfo .q_num {
  margin-left: auto;
  vertical-align: bottom;
  word-break: keep-all;
  line-height: 20px;
}
.oProfileUserInfo .sub_text {
  margin-top: 5px;
}
.oProfileUserInfo .num {
  font-weight: bold;
  line-height: 20px;
}
.oProfileUserInfo .row {
  position: relative;
  padding: 15px 0;
  border-bottom: 1px solid #ebebeb;
}
.oProfileUserInfo .row .caption, .oProfileUserInfo .row .user_info, .oProfileUserInfo .row .status {
  font-size: 15px;
}
.oProfileUserInfo .row .user_info p {
  font-size: 16px;
  margin-top: 10px;
}
.oProfileUserInfo .row .user_info p br {
  font-size: 12px;
}
.oProfileUserInfo .row .caption {
  width: 100px;
  font-weight: bold;
  margin-right: 40px;
}
.oProfileUserInfo .row .acl_status {
  width: 120px;
  text-align: center;
  font-size: 13px;
  letter-spacing: -0.5px;
  color: white;
  background-color: #fb9292;
  padding: 1px 4px;
  border-radius: 3px;
  position: absolute;
  right: 0;
  top: 18px;
}

.oEditAccount {
  padding: 0 50px 20px;
  background-color: white;
}
.oEditAccount .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 20px;
}
.oEditAccount .box li {
  font-weight: bold;
  font-size: 12px;
  margin: 0;
}
.oEditAccount p.sub_text {
  margin-bottom: 10px;
}
.oEditAccount button {
  margin-top: 20px;
}

.oEditStep {
  padding: 0 20px 20px;
  background-color: white;
}

.oEditMail {
  padding: 0 20px;
  background-color: white;
}

.oEditPassword {
  padding: 0 20px;
  background-color: white;
}

.oEditPasscode {
  padding: 0 20px 20px;
  background-color: white;
}
.oEditPasscode .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 10px;
}
.oEditPasscode .box p {
  font-size: 12px;
}
.oEditPasscode .box span {
  padding-right: 8px;
  font-size: 12px;
}
.oEditPasscode .aLine {
  margin: 20px 0;
}
.oEditPasscode button {
  margin-top: 15px;
}

.oEditAccountMaster {
  padding: 0 20px 10px;
  background-color: white;
}
.oEditAccountMaster .box {
  margin-top: 20px;
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oEditAccountMaster img {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}
.oEditAccountMaster img.face {
  width: 100px;
  height: 100px;
}
.oEditAccountMaster button {
  margin-top: 15px;
}
.oEditAccountMaster p {
  margin-bottom: 10px;
}

.oTempleInfoBasic {
  padding: 0 20px 10px;
  background-color: white;
}
.oTempleInfoBasic .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oTempleInfoBasic p {
  margin-bottom: 10px;
}
.oTempleInfoBasic .notice {
  margin-top: 20px !important;
}

.oForm {
  overflow: hidden;
  padding: 0 20px 10px;
  background-color: white;
}
.oForm .field_with_errors {
  width: 100%;
}
.oForm .mH2 {
  margin: 20px 0;
}
.oForm img {
  display: block;
  margin-bottom: 10px;
}
.oForm button {
  margin-top: 15px;
}
.oForm p {
  margin-bottom: 10px;
}
.oForm .aLabel {
  margin-top: 20px !important;
}
.oForm .aMainButton {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.oHr {
  margin: 30px 0;
  border: 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #fff;
}

.oLoginForm hr {
  padding: 20px 0;
  margin: 20px 0;
}
.oLoginForm {
  background-color: white;
}
.oLoginForm .aCheckbox label {
  margin-left: 3px;
  font-size: 12px;
  color: #4a4a4a;
  vertical-align: 3px;
}
.oLoginForm input {
  margin-bottom: 15px;
}
.oLoginForm .password {
  margin: 15px 0 20px;
}
.oLoginForm .password a {
  font-size: 12px;
}

.oToSignUP {
  background-color: white;
}
.oToSignUP ul {
  flex: 1;
  margin: 0 0 15px 20px;
}
.oToSignUP ul li, .oToSignUP ul li strong {
  font-size: 12px;
}
.oToSignUP img {
  width: 100%;
  max-width: 400px;
}

.oRegistrationsForm {
  padding: 0 20px 20px;
  background-color: white;
}
.oRegistrationsForm h3 {
  font-weight: bold;
  margin: 0 0 20px 0;
}
.oRegistrationsForm p {
  margin-bottom: 20px;
}

.RegistrationsConfirm {
  padding: 0 20px 20px;
  background-color: white;
}
.RegistrationsConfirm .caution_text {
  color: #f57474;
  font-size: 12px;
}
.RegistrationsConfirm .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
}
.RegistrationsConfirm .row .caption {
  margin-right: 10px;
  word-break: keep-all;
}
.RegistrationsConfirm .row .conf_value {
  word-break: break-word;
}
.RegistrationsConfirm p {
  font-size: 12px;
  margin: 10px 0;
}

.oRegistrationsPreconfirm {
  padding: 0 20px 20px;
  background-color: white;
}
.oRegistrationsPreconfirm .box_check {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oRegistrationsPreconfirm .box_check li {
  font-size: 12px;
  font-weight: bold;
}
.oRegistrationsPreconfirm .box_check {
  margin-bottom: 20px;
}
.oRegistrationsPreconfirm p {
  margin: 0 0 20px 0;
}

.oDocumentRequests {
  margin-bottom: 10px;
  padding: 0 20px 20px;
  background-color: white;
}
.oDocumentRequests h3 {
  font-weight: bold;
  margin-bottom: 10px;
}
.oDocumentRequests .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oDocumentRequests .box p, .oDocumentRequests .box a {
  font-size: 14px;
}
.oDocumentRequests select {
  margin: 5px 0 10px;
}
.oDocumentRequests p.sub_text {
  margin: 0 0 10px;
}
.oDocumentRequests input[type=checkbox] {
  border: 1px solid #b4b4b4;
  margin: 0 5px 10px;
  width: 15px;
  height: 15px;
}
.oDocumentRequests a {
  font-weight: normal;
}
.oDocumentRequests .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
}
.oDocumentRequests .row .caption {
  word-break: keep-all;
}
.oDocumentRequests .row .conf_value {
  word-break: break-word;
}
.oDocumentRequests .aStepArrow {
  margin: 10px auto 10px auto;
}

.oQuestionrRestriction {
  padding: 70px 20px 0;
  background-color: white;
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  .oQuestionrRestriction {
    padding: 30px 20px 0;
  }
}
.oQuestionrRestriction .members_link {
  text-align: center;
  font-size: 14px;
}
.oQuestionrRestriction .members_link a {
  text-decoration: underline;
  font-weight: bold;
  color: #f57474;
}
.oQuestionrRestriction .members_p a {
  color: #f57474;
}
.oQuestionrRestriction h2 {
  font-size: 22px;
  font-weight: bold;
  margin: 25px 0;
  color: #97BC3F;
  text-align: center;
}
.oQuestionrRestriction p {
  margin-bottom: 20px;
  padding: 0 20px;
}
.oQuestionrRestriction img {
  width: 330px;
  height: 68px;
  display: block;
  margin-bottom: 20px;
}
@media screen and (max-width: 320px) {
  .oQuestionrRestriction img {
    width: 280px;
    height: auto;
  }
}
.oQuestionrRestriction .bnr_width {
  width: 100%;
  height: auto;
}
.oQuestionrRestriction .box_border {
  width: 100%;
  margin: 0 0 20px;
  border-radius: 3px;
  border: 1px solid #ebebeb;
}
.oQuestionrRestriction .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 20px;
}
.oQuestionrRestriction .box li:first-child > span {
  color: #97BC3F;
  font-weight: bold;
}
.oQuestionrRestriction .box_half {
  width: 100%;
  position: relative;
  text-align: center;
  border-radius: 5px;
  margin: 0;
  padding: 10px;
}
.oQuestionrRestriction .balloon {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 12px 10px;
  min-width: 100%;
  max-width: 100%;
  line-height: 1.5;
  font-size: 17px;
  background: #e0edff;
  border-radius: 10px;
}
.oQuestionrRestriction .balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
}
.oQuestionrRestriction .balloon p {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px), print {
  .oQuestionrRestriction .box_s {
    margin: 0 10px 20px;
    width: 48%;
  }
  .oQuestionrRestriction .box_border {
    width: 48%;
    margin: 0 10px 20px;
  }
}

.oHeaderImg {
  padding: 0 0 20px;
  background: #fff;
}
.oHeaderImg .border_img {
  width: 100%;
  border-top: 10px solid #ecd1df;
  border-bottom: 10px solid #ecd1df;
  padding: 20px 0;
  margin: 0 auto;
  text-align: center;
  background: #fdfbfc;
}
.oHeaderImg .border_img img {
  width: 325px;
  height: 325px;
}
.oHeaderImg h1 {
  padding: 0 !important;
}
.oHeaderImg h1 img {
  width: 375px !important;
  height: 150px !important;
  display: inherit;
}

.oDocs {
  padding: 0 20px 30px 20px;
  background-color: white;
  margin-bottom: 10px;
}
.oDocs .thumb img {
  width: 120px;
  height: 120px;
  min-width: 120px;
  min-height: 120px;
}
.oDocs h2 {
  padding-top: 30px;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
}
.oDocs .caption, .oDocs h3, .oDocs h4 {
  font-weight: bold;
}
.oDocs h3 {
  font-size: 17px;
  margin: 20px 0;
}
.oDocs h3:first-child {
  margin-top: 0;
}
.oDocs h4, .oDocs p {
  margin-bottom: 15px;
  line-height: 1.8;
}
.oDocs .img_title {
  background: #e2f0bf;
  padding: 5px;
  text-align: center;
  font-weight: bold;
  border-radius: 3px;
  margin: 15px 0 5px 0;
}
.oDocs .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 20px;
}
.oDocs a, .oDocs a > .flexbox > p {
  color: #f57474;
}
.oDocs a img.thumb, .oDocs a > .flexbox > p img.thumb {
  width: 80px;
  height: 57px;
}
.oDocs .aMessageLarge {
  margin-top: 20px;
}
.oDocs img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
.oDocs .flexbox {
  justify-content: space-between;
}
.oDocs .flexbox p {
  margin-right: 10px;
  font-size: 14px;
}
.oDocs .flexbox img {
  width: 120px;
  height: 120px;
  flex-grow: 0;
  flex-shrink: 0;
  margin-left: auto;
}
.oDocs .flexbox iframe {
  width: 342px;
  height: 291px;
}
.oDocs .kakekomi_link [id^=cat], .oDocs .kakekomi_link [id*=" cat"] {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}
.oDocs .kakekomi_link h4 {
  position: relative;
  display: block;
  padding: 0 0 0 15px;
  margin: 0 0 10px;
  text-decoration: none;
  font-size: 17px;
  color: #444;
}
.oDocs .kakekomi_link h4::before {
  position: absolute;
  top: 10px;
  margin: auto;
  content: "";
  vertical-align: top;
  left: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #b4b4b4;
  border-right: 2px solid #b4b4b4;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.oDocs .kakekomi_link h4 a, .oDocs .kakekomi_link .check_area a {
  padding-right: 12px;
}
.oDocs .kakekomi_link .cat a {
  font-size: 15px;
  background: #F8F8F8;
  color: #4e87a9;
  padding: 5px;
  display: inline-block;
  border: 1px solid #EBEBEB;
  margin: 0 10px 10px 0;
  border-radius: 3px;
  text-decoration: none;
}
.oDocs .kakekomi_link .link_block {
  padding: 15px 15px 20px;
  background: #f8f8f8;
  margin: 0 0 20px;
  border-radius: 3px;
}
.oDocs .kakekomi_link h4 span {
  font-size: 13px;
  font-weight: normal;
  color: #666;
  display: block;
}
.oDocs .kakekomi_link p {
  padding: 0 0 0 15px;
  line-height: 1.5;
  margin-bottom: 0;
}
.oDocs .kakekomi_link .check_area {
  margin: 0px 0 10px 18px;
}
.oDocs .kakekomi_link h4 + .check_area {
  margin-top: -15px;
}
.oDocs .kakekomi_link span.check {
  position: relative;
  padding: 10px 0 2px;
  color: #97BC3F;
  font-size: 15px;
  display: block;
}
.oDocs .kakekomi_link span.check::after {
  display: block;
  content: "";
  position: absolute;
  top: 1.2em;
  left: -1.1em;
  width: 10px;
  height: 5px;
  border-left: 2px solid #97BC3F;
  border-bottom: 2px solid #97BC3F;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.oDialogueMainPanel {
  position: relative;
  padding: 20px 0;
  background-color: white;
}
.oDialogueMainPanel .image {
  width: 100%;
  display: block;
}
.oDialogueMainPanel .bg {
  background: url(/assets/posts/posts_image_bg-1854752df87e67665d19d6212a645182629f58386fc7d4007d7e9d08ebda93d8.png) no-repeat #d3e797;
  background-position: center 60px;
  background-size: 414px 75px;
  padding: 10px 0 30px;
}
.oDialogueMainPanel .bg .copy {
  margin-bottom: 75px;
}
.oDialogueMainPanel .oPlainButton {
  background: #d3e797;
}
.oDialogueMainPanel .oPlainButton button {
  margin-top: -10px;
  width: 180px;
  font-weight: bold;
}
.oDialogueMainPanel p span {
  display: block;
  line-height: 1.4;
}
@media screen and (min-width: 769px), print {
  .oDialogueMainPanel .bg {
    background-position: center 40px;
    background-size: 700px 126px;
  }
  .oDialogueMainPanel .bg .copy {
    margin-bottom: 125px;
  }
  .oDialogueMainPanel .bg button {
    width: 245px;
    margin-top: -20px;
  }
  .oDialogueMainPanel p span {
    display: inline;
  }
}
.oDialogueMainPanel .mCheckList {
  margin: 20px;
}
.oDialogueMainPanel .white {
  background-color: white;
  padding: 20px;
}
.oDialogueMainPanel .gray {
  display: flex;
  justify-content: center;
  width: 100%;
  background-color: #f8f8f8;
}
.oPostsForm {
  position: relative;
  padding: 65px 30px 20px;
  background-color: white;
}
.oPostsForm .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 20px;
}
.oPostsForm .buttons {
  display: flex;
}
.oPostsForm .buttons .div2 {
  margin-left: 10px;
  flex: 1;
}
.oPostsForm .buttons .div1 {
  margin-right: 10px;
  flex: 1;
}
.oPostsForm .buttons .aMainButton + .aMainButton {
  margin-left: 20px;
}
.oPostsForm .buttons {
  margin: 20px 0;
}
@media screen and (min-width: 769px), print {
  .oPostsForm {
    padding: 25px 30px 20px;
  }
}

.oTalksImage {
  position: relative;
  background: #fff;
}
.oTalksImage h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.1;
  margin: 15px auto 20px;
}
.oTalksImage h2 strong {
  font-size: 14px;
  color: #97BC3F;
}
.oTalksImage .guideLink {
  margin-top: -10px;
  margin-bottom: 10px;
  font-size: 18px;
}
.oTalksImage .guideLink a {
  color: #f57474;
  text-decoration: none;
}
.oTalksImage p {
  font-size: 14px;
}
.oTalksImage em {
  font-style: initial !important;
  border-bottom: 5px solid #fff2cc;
  font-weight: bold;
}
.oTalksImage button {
  margin: 10px auto 30px;
}
@media screen and (max-width: 320px) {
  .oTalksImage .image {
    left: -5px;
    background-size: 330px 80px;
  }
  .oTalksImage p {
    font-size: 12px;
  }
}
.oTalksImage .aMessageLarge p {
  font-size: 16px !important;
}
.oTalksImage .aMessageLarge p span {
  display: block;
  font-weight: inherit;
  color: inherit;
}
.oTalksImage .aMessageLarge p:before, .oTalksImage .aMessageLarge p:after {
  height: 40px;
  top: -10px;
}
.oTalksImage .aMessageLarge p:before {
  left: 10px;
}
.oTalksImage .aMessageLarge p:after {
  right: 10px;
}
@media screen and (min-width: 769px), print {
  .oTalksImage {
    margin: 0 -25px;
    padding: 0 0 10px;
  }
  .oTalksImage h2 {
    font-size: 34px;
    margin: 20px auto;
  }
  .oTalksImage h2 strong {
    font-size: 17px;
  }
  .oTalksImage p {
    font-size: 17px;
  }
  .oTalksImage .aMessageLarge {
    margin: 0 auto;
    max-width: 530px;
  }
  .oTalksImage .aMessageLarge p span {
    display: inline;
  }
  .oTalksImage .aMessageLarge p:before, .oTalksImage .aMessageLarge p:after {
    height: 30px;
    top: 0px;
  }
  .oTalksImage .aMessageLarge p:before {
    left: 120px;
  }
  .oTalksImage .aMessageLarge p:after {
    right: 120px;
  }
}

.oTalks {
  background-color: white;
  margin-bottom: 10px;
}
.oTalks .message {
  margin: 0 0 10px;
}
.oTalks .message p {
  color: red;
}
.oTalks .aMainStrongButton {
  margin: 10px 0;
  max-width: 300px;
}
.oTalks .radio-input {
  display: none;
}
.oTalks .field_with_errors .radio-input {
  display: block;
  float: left;
  margin-right: 5px;
  margin-top: 4px;
}
.oTalks .small {
  font-size: 14px;
  line-height: 22px;
  margin: 20px 0 10px;
  color: gray;
}
.oTalks .radio-input + label {
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}
.oTalks .radio-input + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
}
.oTalks .radio-input:checked + label {
  color: #97BC3F;
}
.oTalks .radio-input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 11px;
  height: 11px;
  background: green;
  border-radius: 50%;
}
.oTalks .mailNotice {
  padding: 30px;
  margin: 30px 0;
  background-color: #e9f3ab;
}
.oTalks .mailNotice .mail {
  font-size: 24px;
  color: green;
}
@media screen and (min-width: 1024px) {
  .oTalks .nextButton {
    max-width: 200px;
  }
}
.oTalks h2 {
  padding-top: 30px;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
.oTalks .caption, .oTalks h3, .oTalks h4 {
  font-weight: bold;
}
.oTalks h3 {
  font-size: 17px;
  margin: 20px 0;
}
.oTalks h3:first-child {
  margin-top: 0;
}
.oTalks h3 label {
  font-weight: bold;
}
.oTalks h3.voice_01 {
  padding-left: 65px;
  background: url(/assets/talks/image_voice01-f892f4a31e57141a9e66ed01b027240c8f87350427d78f70553bf943637ac3eb.png) no-repeat;
  background-size: 55px 55px;
}
.oTalks h3.voice_02 {
  padding-left: 65px;
  background: url(/assets/talks/image_voice02-fab376c52e6b4d09c73fd3769848285b94321ce296cf3f03f18b5b2856dcd679.png) no-repeat;
  background-size: 55px 55px;
  letter-spacing: 0;
}
.oTalks h4 {
  margin-bottom: 15px;
  line-height: 1.8;
}
.oTalks a {
  color: #f57474;
  text-decoration: none;
}
.oTalks em {
  font-style: initial !important;
  border-bottom: 5px solid #fff2cc;
  font-weight: bold;
}
.oTalks .box {
  text-align: center;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 15px;
}
.oTalks .flexbox {
  justify-content: space-between;
}
.oTalks .row.flexbox {
  justify-content: flex-start;
}
.oTalks .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
}
.oTalks .row .conf_value {
  word-break: break-word;
}
.oTalks .guideLink {
  margin-top: 20px;
}
.oTalks .box_s {
  position: relative;
  text-align: center;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 20px 5px;
  width: 100%;
}
.oTalks .box_s .mCircle {
  line-height: 1.5;
  position: absolute;
  top: -20px;
  right: -18px;
  background: #fb9292;
}
.oTalks .box_s li {
  font-size: 15px;
  text-align: left;
}
.oTalks .box_s p > strong {
  font-size: 20px;
}
.oTalks .box_s img {
  width: 200px;
  height: 70px;
}
.oTalks .box_s em {
  font-style: initial !important;
  font-size: 28px;
  color: #97BC3F;
  border-bottom: none;
  font-weight: normal;
}
.oTalks .aAttentionBox {
  margin: 25px 0;
}
.oTalks .aMessage p {
  font-size: 16px !important;
}
.oTalks .aMessage p span {
  display: block;
  font-weight: inherit;
  color: inherit;
}
.oTalks .aMessage p:before, .oTalks .aMessage p:after {
  height: 40px;
  top: 3px;
}
.oTalks .aMessage p:before {
  left: 10px;
}
.oTalks .aMessage p:after {
  right: 10px;
}
.oTalks .aOkimochiButton {
  margin: 0 auto 10px;
  color: #f57474;
}
.oTalks .number {
  padding: 8px 15px;
  border-bottom: 1px solid #ebebeb;
  border-top: 1px solid #ebebeb;
  background: #f1f1f1;
  font-size: 14px;
  margin-bottom: 10px;
}
.oTalks #error_explanation {
  border: 2px solid #ffadad;
  padding: 10px 0;
}
.oTalks #error_explanation li {
  padding: 0 20px;
  color: #f57474;
}
.oTalks .buttons {
  margin-top: 20px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
}
.oTalks .buttons > div {
  flex-grow: 1;
}
.oTalks .buttons > div + div {
  margin-left: 10px;
}
.oTalks .plus {
  text-align: center;
  font-size: 30px;
  margin: -20px 0 0 0;
}
.oTalks .breakdown {
  margin: 0px 0;
}
.oTalks .breakdown .box {
  text-align: center;
}
.oTalks .breakdown img {
  height: 115px;
  -webkit-backface-visibility: hidden;
  margin-top: 20px;
}
@media screen and (min-width: 769px), print {
  .oTalks h2 {
    padding-top: 50px;
  }
  .oTalks .mgn_l {
    margin-left: 220px;
  }
  .oTalks .box_s {
    margin: 0 10px 20px;
    width: 49%;
  }
  .oTalks .box_s .mCircle {
    top: -45px;
    right: -18px;
  }
  .oTalks .breakdown {
    align-items: center;
  }
  .oTalks .breakdown .box {
    text-align: left;
  }
  .oTalks .breakdown img {
    height: 100%;
  }
  .oTalks .aMessage {
    margin: 0 auto;
    max-width: 500px;
  }
  .oTalks .aMessage p {
    font-size: 18px !important;
  }
  .oTalks .aMessage p span {
    display: inline;
  }
  .oTalks .aMessage p:before, .oTalks .aMessage p:after {
    height: 30px;
    top: 0px;
  }
  .oTalks .aEmphasisButton {
    width: 45%;
  }
}

.oTalkOrei {
  padding: 0 20px 30px 20px;
  background-color: white;
  margin-bottom: 10px;
}
.oTalkOrei #stripe {
  width: 450px;
  max-width: 100%;
}
.oTalkOrei .receipt_link {
  color: #f57474;
}
.oTalkOrei a {
  text-decoration: none;
}
.oTalkOrei h3 {
  margin: 20px 0;
}
.oTalkOrei h3 label {
  font-weight: bold;
}
.oTalkOrei .aTextField input {
  width: 292px;
  margin-right: 10px;
}
.oTalkOrei #user_message_confirm, .oTalkOrei #okimochi_price_confirm, .oTalkOrei #comment_to_hasunoha_confirm {
  display: none;
  border-top: 1px solid #ebebeb;
  padding: 20px 0;
  margin: 20px 0 0;
}
.oTalkOrei #confirm_text {
  display: none;
}
.oTalkOrei .buttons {
  margin-top: 30px;
}
.oTalkOrei .buttons .button {
  width: 50%;
  margin-right: 10px;
}
@media screen and (min-width: 769px), print {
  .oTalkOrei {
    padding: 20px 50px 30px;
  }
  .oTalkOrei .button {
    width: 300px;
  }
}

.oTalkPanel {
  position: relative;
  padding: 25px 15px 0px;
  background: #fff;
  border-top: 1px solid #ebebeb;
}
.oTalkPanel .under_line {
  font-style: initial !important;
  border-bottom: 5px solid #fff2cc;
  font-weight: bold;
}
.oTalkPanel .aUserPhoto img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin: 10px 8px 10px 0;
}
@media screen and (min-width: 769px), print {
  .oTalkPanel .aUserPhoto img {
    width: 80px;
    height: 80px;
    margin: 15px 10px;
  }
}
@media screen and (max-width: 320px) {
  .oTalkPanel .aUserPhoto img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    margin: 10px 5px 10px 0;
  }
}

.oAdmin {
  width: 100%;
  margin: 100px 0 10px;
}
.oAdmin .header {
  background-color: green;
  color: white;
  margin: 0 20px;
  padding: 8px 20px 0;
}
.oAdmin .content {
  padding: 20px;
  margin: 0 20px 20px;
  box-sizing: border-box;
  border: 5px solid green;
}

.oArticle {
  background-color: white;
  margin-bottom: 10px;
}

.oArticleHeader {
  background-color: white;
}
.oArticleHeader img {
  width: 100%;
  display: block;
  padding: 10px 0 20px;
}

.oNotice, .oError {
  position: absolute;
  top: 50px;
}
@media screen and (min-width: 769px), print {
  .oNotice, .oError {
    top: 0;
  }
}
.oNotice, .oError {
  z-index: 9999;
  top: 20px;
  left: 0;
  width: 100%;
  padding: 10px;
  color: white;
  max-width: 300px;
}
.oNotice p, .oError p {
  border-radius: 5px;
  padding: 10px 20px;
  width: 100%;
  background-color: #bbe265;
}

.oError p {
  background-color: #ffadad;
}

.oInnerBanners #video-end-image {
  width: 300px;
  height: 300px;
  margin-bottom: 8px;
}
.oInnerBanners .aBanner img, .oInnerBanners .aBannerSallia img {
  width: 100%;
  height: auto;
}
.oInnerBanners .column [class*=column] + [class*=column]:last-child {
  float: none;
}
.oInnerBanners .column {
  margin: 0 0 20px;
  position: relative;
}
.oInnerBanners .column a.title_bar {
  font-size: 14px;
  display: block;
  background: #5d6a4d;
  padding: 15px 10px 2px;
}
.oInnerBanners .column a.title_bar img {
  width: 208px;
  height: 40px;
  margin-bottom: 5px;
}
.oInnerBanners .column .mihotoke {
  position: absolute;
  right: 0;
  top: -10px;
  width: 103px;
  height: 40px;
}
.oInnerBanners .column .mihotoke img.mihotokeFace {
  height: 78px;
  width: 103px;
}
.oInnerBanners .column .column_list {
  display: flex;
  display: -webkit-flex;
  border-bottom: 1px solid #ccc;
  background: #fff;
  padding: 5px 0 5px;
}
.oInnerBanners .column .column_list img {
  width: 100px;
  height: 80px;
  flex-grow: 2;
}
@media screen and (min-width: 769px), print {
  .oInnerBanners .column .column_list img {
    margin: 4px;
    width: 50px;
    height: 40px;
  }
}
.oInnerBanners .column .column_list .title {
  flex-grow: 1;
  margin: 0;
  width: 100%;
  padding: 4px 0 0 10px;
  font-size: 14px;
  line-height: 1;
}
.oInnerBanners .column .column_list .title .link {
  text-decoration: none;
}
.oInnerBanners .column .column_list .title .link span, .oInnerBanners .column .column_list .title .link strong {
  font-size: 15px;
  display: inline-block;
  line-height: 1.4;
}
@media screen and (min-width: 769px), print {
  .oInnerBanners .column .column_list .title .link span, .oInnerBanners .column .column_list .title .link strong {
    font-size: 14px;
  }
}
.oInnerBanners .column .column_list .title .catch_copy, .oInnerBanners .column .column_list .title .num, .oInnerBanners .column .column_list .title .master {
  font-size: 15px;
  color: #333;
}
@media screen and (min-width: 769px), print {
  .oInnerBanners .column .column_list .title .catch_copy, .oInnerBanners .column .column_list .title .num, .oInnerBanners .column .column_list .title .master {
    font-size: 14px;
  }
}
.oInnerBanners .column .column_list .title .master {
  margin: 5px 0 0 0;
}
.oInnerBanners .column .column_list .title .num {
  width: 38px;
  margin: 5px 10px 0 0;
  vertical-align: top;
}
@media screen and (min-width: 769px), print {
  .oInnerBanners .column .column_list .title .num {
    display: none !important;
  }
}
.oInnerBanners .column .column_list .title .catch_copy {
  padding-left: 45px;
  display: block;
  line-height: 1.4;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (min-width: 769px), print {
  .oInnerBanners .column .column_list .title .catch_copy {
    padding-left: 0;
  }
}
.oInnerBanners .column .column_list .title .br {
  line-height: 1;
}
.oInnerBanners .column .column_list .title .link_text {
  font-size: 15px;
  line-height: 1 !important;
}
.oInnerBanners .column .column_list .title .small {
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 150px;
  font-size: 14px !important;
  margin-top: 5px;
}

.oMihotokeColumns a {
  text-decoration: none;
}
.oMihotokeColumns [class*=column] + [class*=column]:last-child {
  float: none;
}
.oMihotokeColumns {
  margin: 25px 0 12px;
  position: relative;
}
.oMihotokeColumns .title_bar {
  display: block;
  background: #5d6a4d;
  padding: 10px 10px;
}
.oMihotokeColumns .title_bar .img {
  width: 208px;
  height: 40px;
}
.oMihotokeColumns .banner {
  height: 60px;
  width: 100%;
}
.oMihotokeColumns .mihotokeImg {
  position: absolute;
  height: 78px;
  width: 103px;
  top: -18px;
  right: 0;
}
.oMihotokeColumns .columnRow {
  display: flex;
  display: -webkit-flex;
  border-bottom: 1px solid #ccc;
  background: #fff;
}
.oMihotokeColumns .columnRow .num {
  font-size: 14px;
  margin-right: 4px;
}
.oMihotokeColumns .columnRow .img {
  width: 100px;
  height: 80px;
}
.oMihotokeColumns .columnRow .title {
  padding-top: 2px;
  margin-left: 16px;
  width: 100%;
}
.oMihotokeColumns .columnRow .catch_copy, .oMihotokeColumns .columnRow .num, .oMihotokeColumns .columnRow .temple {
  color: #000;
  line-height: 12px;
  display: teble-cell;
  box-shadow: none;
  font-size: 14px;
}
.oMihotokeColumns .columnRow .catch_copy {
  margin-top: 2px;
  font-size: 14px;
  padding-left: 39px;
}
.oMihotokeColumns .columnRow .catch_copy .br {
  line-height: 22px;
}

.oPrefecturesList .children {
  display: none;
}
.oPrefecturesList .arrow {
  padding: 7px 20px;
  height: 40px;
}

.oBrowserAlert {
  border: 1px solid #f57474;
  height: 100px;
  margin: 100px 20px 0;
  padding: 20px;
  color: #f57474;
}

@media screen and (min-width: 769px), print {
  .oOkimochi .okimochi_container {
    margin: 0 25px;
  }
}
.oOkimochi .okimochi_container #okimochi_form_container {
  max-width: 500px;
}
.oOkimochi .okimochi_container #okimochi_form_container input[type=radio] {
  margin-right: 10px;
}
.oOkimochi .okimochi_container .circles {
  justify-content: center;
}
.oOkimochi .okimochi_container #button_container {
  max-width: 300px;
  margin: 0 auto;
}
.oOkimochi .okimochi_container .w500 {
  max-width: 500px;
  margin: 10px auto 0;
}
.oOkimochi .buttonsContainer .alert {
  display: none;
  color: hsl(348, 100%, 61%);
}
.oOkimochi .oThanks {
  padding: 0;
}
.oOkimochi .step2 {
  display: none;
}
.oOkimochi .step2 > div form .aResponsiveButton {
  width: 100%;
}
.oOkimochi .step2 .card-form {
  background-color: #f6f6f6;
  display: none;
  padding: 20px;
  margin-bottom: 20px;
}
.oOkimochi .bank-transfer {
  display: none;
}
.oOkimochi .button-credit-card .button-credit-card-flex {
  justify-content: center;
  display: flex;
}
.oOkimochi .button-credit-card .button-credit-card-flex img {
  margin-top: 8px;
  width: 150px;
  height: 19px;
}
.oOkimochi .button-credit-card .button-credit-card-flex p {
  margin: 4px 0 0 7px;
}
.oOkimochi .paypay-button {
  text-align: center;
}
.oOkimochi .paypay-button .paypay-button-flex {
  justify-content: center;
  display: flex;
}
.oOkimochi .paypay-button .paypay-button-flex img {
  margin-top: 15px;
  width: 40px;
  height: 40px;
}
.oOkimochi .paypay-button .paypay-button-flex p {
  line-height: 73px;
}
.oTalkPayment {
  background-color: white;
  padding: 0 20px 20px;
}
.oTalkPayment .detail {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin: 20px 0;
}
.oTalkPayment .detail .caption {
  width: 100px;
  font-weight: bold;
  display: inline-block;
}
.oTalkPayment .detail .conf_value {
  display: inline-block;
}
.oTalkPayment .cardError {
  color: red;
  margin: 10px 0;
}
.oTalkPayment h3 {
  font-weight: bold;
  font-size: 17px;
  margin: 20px 0;
}
@media screen and (min-width: 769px), print {
  .oTalkPayment {
    padding: 20px 50px 30px;
  }
}

.oStripe {
  background-color: white;
  padding: 0 0;
}
.oStripe .cards {
  margin-bottom: -7px;
}
.oStripe #card-element {
  width: 500px;
  max-width: 100%;
}
.oStripe .or {
  padding: 30px 0;
}
.oStripe button, .oStripe input[type=submit] {
  width: 350px;
}
.oStripe #card-errors {
  color: red;
}

.oAdHeartfull .imgContainer {
  background-color: white;
  padding-bottom: 20px;
}
.oAdHeartfull .imgContainer img {
  display: block;
  margin: 0 auto;
}
.oAdHeartfull {
  margin-bottom: 10px;
}

.oTalksList {
  background-color: white;
  padding: 0 20px 20px;
  margin: 0 0 20px;
}
.oTalksList > p {
  color: gray;
  font-size: small;
}
.oTalksList .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
  display: flex;
  flex-direction: column;
}
.oTalksList .row .label {
  width: 95px;
}
.oTalksList .row .message {
  padding-top: 10px;
}
.oTalksList .row .message p {
  font-size: small;
  color: red;
  line-height: 1.2rem;
}
.oTalksList .row .date {
  margin-left: 15px;
  word-break: break-word;
}
.oTalksList .row .date a {
  color: #f57474;
  text-decoration: none;
}
.oTalksList .row:last-child {
  border-bottom: none !important;
}

.oOkimochiLink {
  background-color: white;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.oOkimochiLink a {
  color: #f57474;
  font-size: 14px;
}
.oOkimochiLink {
  padding-bottom: 10px;
}

.oCustomOkimochiPanel {
  padding: 70px 20px 0;
  background-color: white;
  text-align: center;
}
.oCustomOkimochiPanel h1 {
  color: #97BC3F;
  font-size: 30px;
  margin: 20px;
}
.oCustomOkimochiPanel .subtitle {
  font-size: 20px;
  margin: 0 auto 20px;
}
.oCustomOkimochiPanel .description {
  margin: 0 auto;
  max-width: 450px;
  font-size: 16px;
}

.oErrors {
  border: 2px solid #ffadad;
  padding: 10px 0;
  margin-bottom: 20px;
}
.oErrors li {
  padding: 0 20px;
  color: #f57474;
}

.oTempleTagSelection .mH2 {
  margin-bottom: 0;
}
.oTempleTagSelection table {
  border-collapse: collapse;
  margin-top: -10px;
}
.oTempleTagSelection table th {
  text-align: left;
}
.oTempleTagSelection table td {
  padding: 4px 10px;
  border: 1px solid lightgray;
}

.oHeadAd .fullBanner {
  padding: 0 20px;
}
.oHeadAd .fullBanner img {
  margin: 0 auto;
  max-width: 100%;
  display: block;
}
.oHeadAd {
  padding-top: 10px;
  background-color: white;
  margin-top: 122px;
}
.oHeadAd .oAdBannerWithText {
  margin-top: 10px;
}

.oDialogueRow .dialogue-banner img {
  width: 100%;
}
.oDialogueRow:first-child {
  border-top: 1px solid #ebebeb;
}
.oDialogueRow {
  border-top: 2px solid #e8e8e8;
  margin-bottom: 3px;
  padding: 20px 20px 25px;
  background: white;
  background: linear-gradient(0deg, #ECF2DD, #FFF);
  background-size: 100vw 10000px;
}
.oDialogueRow .master-name, .oDialogueRow .user-name {
  display: flex;
  justify-content: space-between;
}
.oDialogueRow .user_name {
  font-size: 15px;
  color: #b4b4b4;
}
.oDialogueRow .user-info {
  font-size: 13px;
  color: #b4b4b4 !important;
}
.oDialogueRow p {
  margin: 10px 0 20px;
  font-size: 18px;
  padding: 0;
  line-height: 1.7;
}
.oDialogueRow .mDialogueMasterReply {
  margin: 20px 0;
  position: relative;
  padding: 20px 20px 0;
  border-radius: 5px;
  border: 1px solid #d5e6b1;
  background-color: white;
  box-sizing: border-box;
}
.oDialogueRow .mDialogueMasterReply .master {
  display: flex;
}
.oDialogueRow .mDialogueMasterReply:before {
  content: "";
  position: absolute;
  top: -19px;
  border: 10px solid transparent;
  border-bottom: 10px solid white;
  z-index: 2;
}
.oDialogueRow .mDialogueMasterReply:after {
  content: "";
  position: absolute;
  top: -20px;
  border: 10px solid transparent;
  border-bottom: 10px solid #d5e6b1;
  z-index: 1;
}
.oDialogueRow .mDialogueMasterReply p a {
  text-decoration: underline !important;
}
.oDialogueRow .aPlainButton {
  font-weight: bold;
}
.oDialogueRow .gasshoContainer {
  height: 30px;
  display: flex;
  justify-content: space-between;
}
.oDialogueRow .gasshoContainer button {
  height: 30px;
}
.oDialogueRow .gasshoContainer .likesCountContainer {
  width: 60px;
}
.oDialogueRow .gasshoContainer .gasshoButtonContainer {
  display: flex;
  justify-content: flex-end;
  width: 62px;
}
.oDialogueRow .gasshoContainer .gasshoButtonContainer .aIconThanks {
  margin-top: -4px;
}

.oDoubleButtons {
  width: 100%;
  display: flex;
  gap: 20px;
}
.oDoubleButtons div {
  width: 100%;
}

.oCheckMarkList {
  background-color: #f8f8f8;
  width: 100%;
}

.oAnswerDialogueForm .open-answers {
  margin: 0 auto;
  text-aligh: center;
  width: 100%;
  font-size: 14px;
}

.reportContainer .reportContainerBG {
  background-color: rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 100vh;
  top: 0;
  position: absolute;
}
.reportContainer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  height: 100vh;
  width: 100%;
}
.reportContainer .report .title {
  font-weight: bold;
}
.reportContainer .report .flexbox {
  flex-direction: column;
  justify-content: space-between;
}
.reportContainer .report .flexbox .pink {
  margin-top: 20px;
}
.reportContainer .report {
  position: absolute;
  padding: 20px;
  background-color: #eee;
  width: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.reportContainer .gray {
  background-color: #f8f8f8;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}
.reportContainer .gray .mCheckMarkList {
  margin: 0 auto;
}

.oTextAd {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #f57474;
  padding: 10px;
  line-height: 22px;
}

.oGoogleAdSpQuestions300x250 {
  height: 282px;
}

.oMessageH2 {
  position: relative;
  max-width: 360px;
  margin: 0 auto;
  line-height: 0.8;
  letter-spacing: -0.9px;
}
.oMessageH2 strong {
  font-size: 16px;
}
.oMessageH2 h2 {
  font-size: 30px !important;
  font-weight: bold;
  text-align: center;
  line-height: 0.8;
  letter-spacing: -1px;
}
.oMessageH2 h2:before, .oMessageH2 h2:after {
  content: "";
  display: block;
  width: 1px;
  height: 50px;
  background-color: #b4b4b4;
  position: absolute;
  top: 0;
}
.oMessageH2 h2:before {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(158deg);
  transform: rotate(158deg);
  left: 4px;
}
.oMessageH2 h2:after {
  -webkit-transform: rotate(-150deg);
  -ms-transform: rotate(-150deg);
  transform: rotate(-150deg);
  right: 10px;
}
@media screen and (max-width: 320px) {
  .oMessageH2 h2 {
    font-size: 26px !important;
  }
}
@media screen and (min-width: 769px), print {
  .oMessageH2 {
    font-size: 36px !important;
  }
}

.oBasicContainer {
  background-color: white;
  padding: 0 20px 50px;
}

.oDocs h2 {
  text-align: left !important;
}

.oMembersMainPanel {
  text-align: center;
  padding-top: 65px;
}
.oMembersMainPanel .panel {
  position: relative;
  border-bottom: solid 1px #ebebeb;
}
.oMembersMainPanel .panel .bg {
  width: 100%;
  height: auto;
}
.oMembersMainPanel .panel {
  align-items: flex-end;
}
.oMembersMainPanel .panel .masters {
  margin: 0 auto;
  display: flex;
  position: absolute;
  width: 100%;
  padding: 10px 0 5px;
  justify-content: center;
  bottom: 0;
}
@media screen and (min-width: 769px), print {
  .oMembersMainPanel .panel .masters {
    bottom: 30px;
    padding: 10px 0 10px;
  }
}
.oMembersMainPanel .panel .masters img {
  width: 62px;
  height: 62px;
  margin: 2px 4px;
  border-radius: 50%;
}
@media screen and (min-width: 769px), print {
  .oMembersMainPanel .panel .masters img {
    width: 115px;
    height: 115px;
    margin: 0 12px 0px;
  }
}
@media screen and (max-width: 320px) {
  .oMembersMainPanel .panel .masters img {
    width: 55px;
    height: 55px;
    margin: 0 3px;
  }
}
.oMembersMainPanel h2 {
  margin: 15px 20px 20px !important;
}
.oMembersMainPanel h2 span {
  font-size: 17px;
  font-weight: bold;
  border-bottom: 5px solid #f7bebf;
}
@media screen and (min-width: 769px), print {
  .oMembersMainPanel h2 {
    margin: 30px 0px !important;
  }
  .oMembersMainPanel h2 span {
    font-size: 22px;
  }
}
.oMembersMainPanel .responsive {
  padding: 0 20px !important;
}
.oMembersMainPanel .box_s {
  position: relative;
  text-align: center;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 12px 20px 8px;
  width: 100%;
  line-height: 1.1;
  font-size: 16px;
}
.oMembersMainPanel .box_s img {
  margin-top: 10px;
  height: 56px;
}
@media screen and (min-width: 769px), print {
  .oMembersMainPanel .box_s {
    margin: 0 10px 20px;
    width: 32%;
    font-size: 17px;
    padding: 20px;
  }
  .oMembersMainPanel .box_s img {
    height: 100px;
  }
  .oMembersMainPanel .box_s:nth-child(2) img {
    margin-top: 20px;
  }
}
.oMembersMainPanel button {
  width: 80%;
}
@media screen and (min-width: 769px), print {
  .oMembersMainPanel button {
    width: 440px;
  }
}
.oMembersMainPanel .aMessageLarge {
  margin-bottom: 20px !important;
}
.oMembersMainPanel .q {
  margin-top: 10px;
}
.oMembersMainPanel .q a {
  color: #f57474;
}

.oMemberImage {
  background-image: url(/assets/member/member_img_sp-8be7eee42953adf1cf5aa8c1d82e481bc3dfc3ef29825ce41c8f86499a3646a0.png);
  background-size: 350px;
  background-position: center center;
  height: 160px;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px), print {
  .oMemberImage {
    background-image: url(/assets/member/member_img_pc-199800a308f89683af406262e2ba299b77da652a2a4b50fe7119968a8ee037ec.png);
    background-size: 756px;
    height: 170px;
    margin: 0 auto 20px;
  }
}

.oMemberFlow .aStepArrow {
  margin-top: 20px !important;
}
.oMemberFlow {
  text-align: center;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 15px;
}
.oMemberFlow h3 {
  border-left: 6px solid #97BC3F;
  padding: 2px 0 2px 10px;
  font-weight: bold;
  text-align: left;
  margin: 10px 0;
}
.oMemberFlow .description, .oMemberFlow .sub_text {
  text-align: left;
}
.oMemberFlow .photo {
  margin-bottom: 20px;
}
.oMemberFlow .photo img {
  width: 100%;
}
.oMemberFlow .buttonContainer {
  width: 100%;
  margin: 10px 0 0;
}
@media screen and (min-width: 769px), print {
  .oMemberFlow .buttonContainer {
    margin: 20px auto 20px;
    width: 440px;
  }
}
.oMemberFlow .buttonContainer {
  text-align: center;
}

.oMemberTypes {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px), print {
  .oMemberTypes {
    flex-direction: row;
  }
  .oMemberTypes > div + div {
    margin-left: 20px;
  }
}
.oMemberTypes > div {
  position: relative;
  text-align: center;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin: 0 0 20px;
  padding: 20px 5px;
  width: 100%;
}
.oMemberTypes > div em {
  font-style: initial !important;
  font-size: 28px;
  color: #97BC3F;
  border-bottom: none;
  font-weight: bold;
}

.oTopDialogues .oDialogueRow p {
  margin-bottom: 0;
}

.oNotificationBox {
  background-color: #f3f3f3;
  border-radius: 4px;
  padding: 20px;
}

.oAppHeader {
  width: 100%;
  height: 50px;
  border: 1px solid red;
  line-height: 50px;
  padding-left: 20px;
}

.oAppMain {
  margin-bottom: 30px;
}
.oAppMain img {
  display: block;
  width: 100%;
}
.oAppMain a {
  color: #f57474;
}

.oAIQuestionList {
  background-color: #1D2147;
  padding: 20px 20px 100px;
}
.oAIQuestionList .buttonContainer {
  display: flex;
  justify-content: flex-end;
}
.oAIQuestionList .buttonContainer .button {
  border: 1px solid white;
  color: white;
  padding: 3px 10px;
  border-radius: 5px;
  font-size: 14px;
}
.oAIQuestionList .list {
  margin-top: 30px;
}
.oAIQuestionList h1 {
  color: white;
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0 0;
}
.oAIQuestionList .description {
  font-size: 14px;
  line-height: 22px;
  margin: 0;
}
.oAIQuestionList .description {
  color: white;
}
.oAIQuestionList .pagination {
  margin-top: 40px;
}
.oAIQuestionList .pagination span {
  border: 1px solid white;
  color: white;
  padding: 10px 8px;
  margin-right: 6px;
  font-size: 12px;
}
.oAIQuestionList .pagination a {
  color: white;
}
.oAIQuestionList .pagination .current {
  background-color: white;
  color: black;
}
.oAIQuestionList ul li a {
  color: white;
  text-decoration: underline;
}
.oAIQuestionList ul li .monk {
  text-align: right;
  color: white;
  font-size: 14px;
}
.oAIQuestionList ul li {
  margin-bottom: 20px;
}

.oAIQuestion {
  background-color: #1D2147;
  padding: 30px 20px 50px;
}
.oAIQuestion .outer-link {
  display: block;
  margin-top: 30px;
  color: white;
  text-decoration: underline;
}
.oAIQuestion .notice {
  background-color: white;
}
.oAIQuestion .mSocialButton {
  background-color: transparent;
  border: 1px dashed #fff;
  border-radius: 10px;
  padding: 20px;
  margin: 20px 0;
}
.oAIQuestion .mSocialButton .aLineWithTextL {
  color: white;
  font-size: 18px;
}
.oAIQuestion .mSocialButton .aLineWithTextL:after, .oAIQuestion .mSocialButton .aLineWithTextL:before {
  border-top: none !important;
}
.oAIQuestion .mSocialButton img {
  margin-top: 10px;
  border-radius: 100px;
  background-color: white;
}
.oAIQuestion .links {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-right: 10px;
}
.oAIQuestion .links a, .oAIQuestion .links input[type=submit] {
  color: white;
  display: block;
  text-decoration: underline;
}
.oAIQuestion .banner {
  width: 100%;
  border-radius: 10px;
}
.oAIQuestion p {
  color: white;
}
.oAIQuestion h1.q {
  color: white;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1.4px;
  margin: 20px 10px 0 0;
}
@media screen and (min-width: 769px), print {
  .oAIQuestion h1.q {
    font-size: 30px;
  }
}
.oAIQuestion h1.q .aIconReception {
  position: relative;
  top: -1px;
}
.oAIQuestion hr {
  border-color: #333;
  margin-top: 20px;
}
.oAIQuestion h2.a {
  color: white;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1.4px;
  margin: 20px 10px 10px 0;
}
@media screen and (min-width: 769px), print {
  .oAIQuestion h2.a {
    font-size: 30px;
  }
}

.oAIQuestionForm {
  background-color: #1D2147;
  padding-bottom: 30px;
}
.oAIQuestionForm .link {
  font-size: 14px;
  color: white;
  text-decoration: underline;
}
.oAIQuestionForm .release-link {
  margin-top: 30px;
  color: white;
  font-size: 13px;
}
.oAIQuestionForm .release-link a {
  color: white;
  text-decoration: underline;
}
.oAIQuestionForm .login {
  color: white;
  text-align: center;
}
.oAIQuestionForm label {
  color: white;
}
.oAIQuestionForm .notice {
  font-size: small;
  color: white;
  padding: 4px 2px;
}
.oAIQuestionForm .sub_text {
  color: white;
}
.oAIQuestionForm .form-container {
  padding: 20px;
}
.oAIQuestionForm .aTextArea {
  background-color: transparent;
  border-radius: 6px;
  color: white;
}
.oAIQuestionForm .aSelectBox {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid white;
  border-radius: 6px;
  padding-left: 10px;
  color: white;
  margin-bottom: 10px;
}
.oAIQuestionForm .aMainButton {
  margin-top: 10px;
}
.oAIQuestionForm #loading-message {
  padding: 20px;
  display: none;
}
.oAIQuestionForm #loading-message #message {
  color: white;
}

.new-ai-question {
  margin-top: 120px;
}
.new-ai-question .links {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
@media screen and (min-width: 1024px) {
  .new-ai-question {
    margin-top: 70px;
  }
}
.new-ai-question .modal-content .heading {
  font-size: 16px;
  color: green;
  text-align: center;
  margin: 10px 0;
}
.new-ai-question .modal-content a {
  display: block;
  margin: 10px 0 0;
}
.new-ai-question .ai-question-form #youtube-container {
  display: none;
  background-color: #1D2147;
}
.new-ai-question #waiting {
  background-color: transparent;
  margin-top: 30px;
  flex-direction: column;
  width: 100%;
  text-align: center;
  padding: 30px;
  justify-content: center;
}
.new-ai-question #waiting .message {
  color: white;
}
.new-ai-question #waiting img {
  margin: 0 auto;
  display: block;
}
.new-ai-question button {
  margin-top: 10px;
  border: 1px solid white;
  background-color: white;
  width: 100%;
  text-align: center;
  padding: 15px;
  font-weight: bold;
  border-radius: 2px;
}

.oHasunohaNotice {
  background-color: white;
  padding: 20px 20px 20px;
}
.oHasunohaNotice .under_line {
  margin-top: 10px;
  font-style: initial !important;
  border-bottom: 5px solid #fff2cc;
  font-size: 16px;
  line-height: 14px;
}
.oHasunohaNotice .center {
  display: flex;
  justify-content: center;
}
.oHasunohaNotice a {
  display: block;
  margin: 10px auto 0;
}
.oHasunohaNotice button.pink {
  background-color: #f57474;
  padding: 10px 20px;
  color: white !important;
  text-align: center;
}
.oHasunohaNotice button.disabled {
  border: 1px solid lightgray;
  padding: 10px 20px;
  color: #666;
  text-align: center;
}
.oHasunohaNotice h3 {
  text-align: center;
  margin: 20px auto 0;
  color: #808063;
  font-weight: bold;
}
.oHasunohaNotice h2 {
  font-size: 22px;
}

.oFloatingButtons {
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 14px;
  padding: 10px;
  display: flex;
  gap: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  .oFloatingButtons {
    gap: 32px;
  }
}
.oFloatingButtons a {
  display: block;
  width: 50%;
  max-width: 320px;
}
.oFloatingButtons .button1 {
  color: white;
  background-color: #F57374;
  height: 40px;
  line-height: 40px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .oFloatingButtons .button1 {
    font-size: 16px;
    height: 51px;
    line-height: 51px;
  }
}
.oFloatingButtons .button2 {
  color: white;
  background-color: #00B900;
  height: 40px;
  line-height: 40px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .oFloatingButtons .button2 {
    line-height: 51px;
    font-size: 16px;
    height: 51px;
  }
}

.liffTalkLp {
  max-width: 860px;
  margin: 0 auto 28px;
  padding: 20px 16px 8px;
  background: linear-gradient(180deg, #faf7ef 0%, #f5f2ea 18%, #f5f5f5 100%);
}
.liffTalkLp .intro {
  text-align: center;
}
.liffTalkLp .hero-stage {
  position: relative;
  max-width: 100%;
}
.liffTalkLp .hero-image {
  width: 100%;
  height: auto;
  display: block;
}
.liffTalkLp .hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 18px 14px 22px;
  text-align: center;
  pointer-events: none;
}
.liffTalkLp h1 {
  color: #476f4a;
  font-size: 31px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
}
.liffTalkLp .lead {
  text-align: center;
  margin: 0;
  color: #6c625a;
  font-size: 15px;
  line-height: 1.85;
}
.liffTalkLp .hero-cta-wrap {
  margin-top: 16px;
  pointer-events: auto;
  text-align: center;
}
.liffTalkLp .hero-copy {
  padding: 24px 0 0;
  max-width: 420px;
  margin: 0 auto;
}
.liffTalkLp .hero-overlay h1 {
  margin-bottom: 12px;
}
.liffTalkLp .hero-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 390px;
  box-sizing: border-box;
  min-height: 74px;
  padding: 17px 20px 17px 66px;
  border-radius: 9999px;
  background: #97BC3F;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  box-shadow: 0 10px 20px rgba(151, 188, 63, 0.18);
  text-align: center;
  white-space: normal;
}
.liffTalkLp .hero-cta-icon {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
  flex: 0 0 auto;
}
.liffTalkLp .hero-cta-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 0;
  padding-right: 8px;
  line-height: 1.1;
}
.liffTalkLp .hero-note {
  text-align: center;
  margin: 18px 0 0;
  color: #5e8a5d;
  font-size: 12px;
  line-height: 1.05;
  font-weight: 700;
}
.liffTalkLp .inner {
  padding: 42px 0 0;
}
.liffTalkLp .inner h2 {
  text-align: center;
  font-size: 29px;
  color: #476f4a;
  margin: 0;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.liffTalkLp .inner p.lead {
  text-align: center;
  margin: 10px 0 18px;
  color: #6c625a;
  font-size: 15px;
  line-height: 1.75;
}
.liffTalkLp .cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.liffTalkLp .card {
  background: #fff;
  border: 1px solid #efe7d6;
  border-radius: 12px;
  padding: 15px 10px 13px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(86, 77, 53, 0.1);
}
.liffTalkLp .face {
  width: 100px;
  height: 100px;
  border-radius: 9999px;
  object-fit: cover;
  display: block;
  margin: 0 auto 10px;
}
.liffTalkLp .name {
  font-size: 18px;
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
  word-break: break-word;
}
.liffTalkLp .school {
  margin: 6px 0 0;
  color: #555;
  font-size: 13px;
  line-height: 1.35;
}
.liffTalkLp .cta {
  padding: 20px 0 12px;
}
.liffTalkLp .cta .aMainButton {
  width: 100%;
  max-width: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: auto;
  min-height: 56px;
  line-height: 1.1;
  padding: 0 16px;
  background-color: #97BC3F;
  border: 0;
  border-radius: 9999px;
  font-size: 19px;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.liffTalkLp .cta .note {
  text-align: center;
  color: #5f895d;
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.65;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .liffTalkLp h1 {
    font-size: 26px;
  }
  .liffTalkLp .hero-overlay {
    padding: 4px 8px 0;
    height: 35%;
  }
  .liffTalkLp .hero-stage {
    display: block;
  }
  .liffTalkLp .hero-cta-wrap {
    margin-top: 12px;
  }
  .liffTalkLp .hero-copy {
    padding-top: 14px;
  }
  .liffTalkLp .hero-copy .lead {
    line-height: 1.45;
    margin-top: 10px;
  }
  .liffTalkLp .inner h2 {
    font-size: 24px;
  }
  .liffTalkLp .hero-cta {
    width: 100%;
    font-size: 16px;
    min-height: 68px;
    padding: 15px 16px 15px 58px;
    max-width: 100%;
    margin-bottom: 8px;
  }
  .liffTalkLp .hero-cta-label {
    padding-right: 4px;
    line-height: 1.1;
  }
  .liffTalkLp .hero-note {
    font-size: 11px;
    margin-top: 16px;
  }
  .liffTalkLp .cta .aMainButton {
    font-size: 17px;
    min-height: 52px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .liffTalkLp .name {
    font-size: 18px;
  }
  .liffTalkLp .face {
    width: 88px;
    height: 88px;
  }
}
@media screen and (min-width: 481px) {
  .liffTalkLp .intro {
    position: relative;
  }
  .liffTalkLp .hero-stage {
    position: relative;
    z-index: 1;
  }
  .liffTalkLp .hero-overlay {
    justify-content: flex-start;
    padding: 20px 24px 0;
    z-index: 2;
  }
  .liffTalkLp h1 {
    font-size: 35px;
    line-height: 1.2;
  }
  .liffTalkLp .hero-copy {
    position: absolute;
    left: 0;
    right: 0;
    top: 48%;
    z-index: 3;
    padding: 0;
    max-width: 460px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
    transform: translateY(-50%);
  }
  .liffTalkLp .hero-copy .lead {
    margin-top: 0;
    font-size: 17px;
    line-height: 1.45;
  }
  .liffTalkLp .hero-cta-wrap {
    margin-top: 22px;
    pointer-events: auto;
  }
  .liffTalkLp .hero-cta {
    max-width: 470px;
    min-height: 76px;
    padding: 17px 22px 17px 66px;
    font-size: 18px;
    box-shadow: 0 12px 24px rgba(151, 188, 63, 0.2);
    margin-bottom: 10px;
  }
  .liffTalkLp .hero-cta-icon {
    top: 50%;
    left: 18px;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
  }
  .liffTalkLp .hero-cta-label {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    padding-right: 4px;
  }
  .liffTalkLp .hero-note {
    font-size: 13px;
    margin-top: 14px;
    line-height: 1.05;
  }
}

.oTalksSlider {
  margin: 0 -10px;
}
.oTalksSlider .more {
  text-align: center;
  margin: 20px 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.oTalksSlider .more a {
  background-color: #f3f3f3;
  padding: 10px 20px;
  color: #f57474;
  border-radius: 10px;
}
.oTalksSlider .slick-track {
  display: flex;
}
.oTalksSlider .slick-slide {
  height: auto !important;
}
.oTalksSlider .card {
  min-width: 300px;
  margin-left: 10px;
  margin-bottom: 10px;
  height: 100%;
  background-color: #fff;
  border: 1px solid #d0dcb5;
  padding: 20px 20px;
  border-radius: 10px;
  width: 240px;
  display: flex;
  flex-direction: column;
}
.oTalksSlider .card .faceImage {
  display: block;
  margin: 0 auto;
  width: 80px;
  height: 80px;
  border-radius: 100px;
}
.oTalksSlider .card .school {
  margin: 10px 0 0;
  font-size: 14px;
  text-align: center;
}
.oTalksSlider .card .name {
  text-decoration: underline;
  font-size: 16px;
  color: #f57474;
  text-align: center;
  margin: 3px 0 0;
}
.oTalksSlider .card .heading {
  padding-right: 10px;
  margin-top: 10px;
  font-size: 14px;
  font-weight: bold;
  color: #97BC3F;
}
.oTalksSlider .card p {
  font-size: 12px;
  line-height: 16px;
}
.oTalksSlider .card p + p {
  margin-top: 4px;
}
.oTalksSlider .card a {
  display: block;
}
.oTalksSlider .card a button {
  margin: 20px 0 0;
}
.oTalksSlider .card .description {
  margin: 10px 0;
  color: #333;
  font-size: 14px;
  line-height: 20px;
  flex-grow: 2;
}
.oTalksSlider .card .content {
  border: 1px solid green;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.oTalksSlider .card .apply-button {
  background-color: #f57474;
  text-align: center;
  border-radius: 100px;
  color: white;
  line-height: 40px;
  display: block;
  margin: 10px 0 0;
}
.oTalksSlider .slick-prev,
.oTalksSlider .slick-next {
  z-index: 100;
}
.oTalksSlider .slick-prev {
  left: 0;
}
.oTalksSlider .slick-next {
  right: 0;
}
.oTalksSlider .slick-prev:before,
.oTalksSlider .slick-next:before {
  color: black;
}
.oTalksSlider .slick-dots li {
  width: 15px;
  margin: 0;
}

.oQorTalkPanel {
  background-color: white;
  width: 100%;
}
.oQorTalkPanel .panels {
  padding: 60px 0;
  margin: 40px auto 20px;
  display: flex;
  width: 100%;
  max-width: 1024px;
  gap: 10px;
}
@media screen and (min-width: 769px), print {
  .oQorTalkPanel .panels {
    margin: 0 auto 20px;
    padding: 0 10px;
    gap: 20px;
  }
}
@media screen and (min-width: 769px), print {
  .oQorTalkPanel {
    margin: 100px 0 0;
  }
}
.oQorTalkPanel .panel {
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 50%;
  background-color: #F5F9EC;
  padding: 10px 10px 20px;
}
@media screen and (min-width: 769px), print {
  .oQorTalkPanel .panel {
    padding: 10px 20px 20px;
  }
  .oQorTalkPanel .panel a br {
    display: none;
  }
}
.oQorTalkPanel .panel img {
  display: block;
  width: 96px;
  height: 96px;
  margin: 0 auto;
}
.oQorTalkPanel .panel .title {
  font-weight: bold;
  margin-bottom: 10px;
}
.oQorTalkPanel .panel a {
  padding: 10px 20px;
  color: white;
  background-color: #96BC3F;
  display: inline-block;
  border-radius: 4px;
  line-height: 24px;
}

.oTalksLp {
  margin: 0;
}
.oTalksLp .express-notice {
  background-color: #f57474;
  padding: 18px 20px;
  margin: 0;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  color: white;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 2px 0 #de6a70, 0 4px 10px rgba(0, 0, 0, 0.08);
}
.oTalksLp .merits {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.oTalksLp .merits .merit {
  border: 3px solid #e0e0e0;
  border-radius: 10px;
}
.oTalksLp .merits .merit h3 {
  font-weight: bold;
  font-size: 16px;
  margin: 0 0 4px;
}
.oTalksLp .merits .merit p {
  line-height: 1.5;
}
.oTalksLp .merits .merit1 {
  padding: 16px 14px 0;
}
.oTalksLp .merits .merit1 img {
  width: 68px;
}
.oTalksLp .merits .merit2, .oTalksLp .merits .merit3 {
  padding: 16px 14px 14px;
}
.oTalksLp .merits .merit2 div, .oTalksLp .merits .merit3 div {
  text-align: center;
}
.oTalksLp .merits .merit2 img, .oTalksLp .merits .merit3 img {
  width: 100px;
}
.oTalksLp a {
  margin-top: 10px;
  color: #f57474;
  text-decoration: none;
}
.oTalksLp h1 {
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
}
.oTalksLp .talks-hero-title {
  color: #6f6558 !important;
}
.oTalksLp .main-image {
  width: 100vw;
  margin: 16px calc(50% - 50vw) 20px;
}
@media screen and (min-width: 1024px) {
  .oTalksLp .main-image {
    width: 100%;
    max-width: 980px;
    margin: 16px auto 20px;
  }
}
.oTalksLp .main-image img {
  display: block;
  width: 100%;
  margin: 0 auto;
  height: auto;
}
.oTalksLp h2.copy {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 20px;
}
.oTalksLp h2.copy-soft {
  display: block;
  width: fit-content;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #3d3d44;
  margin: 16px auto 20px;
  margin-inline: auto;
  padding: 0 8px 10px;
  border-bottom: 4px dotted #edc7cb;
}
@media screen and (min-width: 1024px) {
  .oTalksLp h2.copy-soft {
    font-size: 32px;
  }
}
.oTalksLp .sub-title {
  height: 32px;
  line-height: 32px;
  background-color: #EAF2D9;
  text-align: center;
}
.oTalksLp .express-notice-link {
  display: flow-root;
  margin-top: 0;
  margin-bottom: 28px;
}
.oTalksLp .boxes {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 1024px) {
  .oTalksLp .boxes {
    flex-direction: row;
  }
}
.oTalksLp .boxes .box {
  padding: 5px;
  border: 2px solid #97BC3F;
  border-radius: 6px;
}
.oTalksLp .image-container {
  width: 80px;
  height: 80px;
}
.oTalksLp .talks-lp-flex {
  padding: 4px 0;
  display: flex;
  gap: 10px;
}
.oTalksLp ul {
  font-size: 14px;
  padding: 10px 0 0;
}
.oTalksLp ul li {
  line-height: 1.5em;
  list-style: disc;
}

.oTalkExpress {
  position: relative;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}
.oTalkExpress p {
  margin: 0;
  line-height: 1.8;
  color: #4d463f;
}
.oTalkExpress a {
  color: inherit;
}
.oTalkExpress .express-hero {
  text-align: center;
}
.oTalkExpress h1 {
  margin-bottom: 14px;
  color: #314738;
  font-size: clamp(28px, 5.6vw, 42px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
.oTalkExpress .express-lead,
.oTalkExpress .express-lead-sub {
  font-size: 16px;
  line-height: 1.9;
}
.oTalkExpress .express-lead-sub {
  margin-top: 2px;
  color: #534c45;
}
.oTalkExpress .express-cta-shell {
  display: flex;
  justify-content: center;
  margin: 24px auto 16px;
}
.oTalkExpress .express-line-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 88px;
  padding: 18px 18px 18px 14px;
  border-radius: 12px;
  background: #02B902;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 16px 28px rgba(27, 141, 51, 0.24);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}
.oTalkExpress .express-line-cta:hover, .oTalkExpress .express-line-cta:focus-visible {
  transform: translateY(-1px);
  filter: saturate(1.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 18px 32px rgba(27, 141, 51, 0.3);
}
.oTalkExpress .express-line-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
}
.oTalkExpress .express-line-cta-text {
  font-size: clamp(18px, 3.8vw, 26px);
  letter-spacing: 0.06em;
  color: #fff;
}
.oTalkExpress .express-line-arrow {
  font-size: 22px;
  line-height: 1;
  color: #fff;
}
.oTalkExpress .express-note {
  margin-top: 4px;
  font-size: 14px;
  color: #655c54;
}
.oTalkExpress .express-points {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.oTalkExpress .express-points li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 0 2px;
  font-size: 14px;
  line-height: 1.45;
  color: #2f7f2f;
}
.oTalkExpress .express-points li span {
  color: #2f7f2f;
}
.oTalkExpress .express-point-check {
  flex: 0 0 auto;
  color: #02B902;
  font-weight: 700;
  line-height: 1.45;
}
.oTalkExpress .express-chat-panel {
  max-width: 660px;
  margin: 24px auto 0;
}
.oTalkExpress .express-chat-sample {
  display: block;
  width: 100%;
  max-width: 472px;
  height: auto;
  margin: 0 auto;
}
.oTalkExpress .express-back-link {
  display: inline-block;
  margin-top: 22px;
  color: #de6c6f !important;
  font-weight: 600;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .oTalkExpress {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 18px 28px;
    background: linear-gradient(180deg, #fffdf7 0%, #f7f4ec 100%);
    border: 1px solid rgba(112, 101, 88, 0.16);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(68, 59, 47, 0.08);
    overflow: hidden;
  }
  .oTalkExpress::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(156, 193, 64, 0.12), transparent 34%), radial-gradient(circle at bottom right, rgba(255, 188, 96, 0.12), transparent 30%);
    pointer-events: none;
  }
  .oTalkExpress > * {
    position: relative;
  }
  .oTalkExpress .express-points {
    max-width: 760px;
  }
  .oTalkExpress .express-line-cta {
    max-width: 620px;
    min-width: 560px;
  }
  .oTalkExpress .express-points,
  .oTalkExpress .express-back-link {
    width: min(620px, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .oTalkExpress .express-back-link {
    display: block;
  }
}

.oQuestion {
  background-color: white;
}
.oQuestion .date {
  color: #4a4a4a;
  font-size: 14px;
  margin: 10px 0 20px;
}

.oAnswers.wrapper {
  padding: 30px 10px 10px;
  background-color: #e2f0bf;
}
.oAnswers.wrapper .notice {
  padding: 0 0 20px;
  font-size: 17px;
  color: gray;
}
.oAnswers.wrapper .caption, .oAnswers.wrapper h2 {
  font-weight: bold;
  font-size: 17px;
}
@media screen and (min-width: 769px), print {
  .oAnswers.wrapper .caption, .oAnswers.wrapper h2 {
    font-size: 20px;
  }
}
.oAnswers.wrapper p {
  font-size: 14px;
  margin: 0 10px 15px;
}
.oAnswers.wrapper .sub_text {
  font-size: 12px;
}
.oAnswers.wrapper h2 {
  margin-bottom: 20px;
}
.oAnswers.wrapper .liked {
  font-size: 14px;
  border: 1px solid #97BC3F;
  color: #97BC3F;
  margin-bottom: 20px;
  padding: 5px 10px;
  border-radius: 4px;
}
.oAnswers.wrapper .buttons .aMainButton {
  font-size: 13px;
}
.oAnswers.wrapper .answer p {
  font-size: 17px;
}
.oAnswers.wrapper .okimochiText {
  font-size: 17px !important;
  text-decoration: underline;
}

.oQuestionDetail .title .aIconReception {
  position: relative;
  top: -1px;
}

.oAnswers .box {
  background-color: white;
  margin: 0 0 30px;
  padding: 10px;
  border-radius: 4px;
}
.oAnswers .box p {
  margin: 0 0 20px 0;
}
@media screen and (max-width: 320px) {
  .oAnswers .flexbox {
    flex-wrap: wrap;
  }
  .oAnswers .flexbox .aOkimochiButton {
    margin: 0 30px 20px auto;
  }
}
.oAnswers .buttons {
  display: flex;
}
.oAnswers .buttons .div2 {
  margin-left: 10px;
  flex: 1;
}
.oAnswers .buttons .div1 {
  margin-right: 10px;
  flex: 1;
}
.oAnswers .buttons .aMainButton + .aMainButton {
  margin-left: 20px;
}
.oAnswers .buttons {
  margin-bottom: 20px;
}

.oQuestionThanks {
  background-color: #e2f0bf;
  position: relative;
}
.oQuestionThanks .question-thanks-container {
  border-radius: 10px;
  padding: 50px 40px 40px;
  background-color: white;
  margin-bottom: 10px;
}
.oQuestionThanks .thank p {
  margin: 10px 0;
}
.oQuestionThanks .thank + .thank {
  border-top: 1px dashed lightgray;
}
.oQuestionThanks .triangle {
  margin: auto;
  width: 30px;
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 0;
  border-style: solid;
  border-width: 0 15px 30px 15px;
  border-color: transparent transparent #ffffff transparent;
}
.oQuestionThanks {
  position: relative;
  padding: 10px 20px 30px;
  margin-bottom: 20px;
}
.oQuestionThanks .title {
  font-weight: bold;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px), print {
  .oQuestionThanks .title {
    font-size: 20px;
  }
}
.oQuestionThanks p {
  margin: 0 0 20px 0;
}
.oQuestionThanks .box {
  border: 1px solid #97BC3F;
  padding: 20px;
  background-color: white;
  border-radius: 5px;
}
.oQuestionThanks .okimochiDisplay h3 {
  padding: 20px 20px 0;
  font-weight: bold;
}
.oQuestionThanks .okimochiDisplay > p {
  padding: 10px 20px 0;
  line-height: 1.5rem;
}
.oQuestionThanks .okimochiDisplay {
  border-radius: 5px;
  margin: 30px -10px 10px;
  border: 1px solid #97BC3F;
}
.oQuestionThanks .okimochiDisplay .hasuImage {
  width: 100%;
  display: block;
}
.oQuestionThanks .okimochiDisplay .buttons {
  justify-content: center;
  display: flex;
  flex-direction: column;
}
.oQuestionThanks .okimochiDisplay .buttons .heading {
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  .oQuestionThanks .okimochiDisplay .buttons {
    text-align: center;
    flex-direction: row;
  }
}
.oQuestionThanks .okimochiDisplay .buttons > div a {
  display: blocK;
  margin: 0 auto;
}
.oQuestionThanks .okimochiDisplay .buttons .mataha {
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  .oQuestionThanks .okimochiDisplay .buttons .mataha {
    margin: 0 20px;
  }
}

.oThanksForm {
  background-color: white;
  padding: 30px 20px 40px 20px;
}
.oThanksForm h3, .oThanksForm h4 {
  font-weight: bold;
}
.oThanksForm .aMainButton {
  margin: 0 0 20px;
}
.oThanksForm .box {
  border: none;
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oThanksForm .box .attention_text {
  font-size: 15px;
}

.oThanksConfirm {
  background-color: #e2f0bf;
  padding: 20px 10px 40px 10px;
}
.oThanksConfirm h3, .oThanksConfirm h4 {
  font-weight: bold;
}
.oThanksConfirm .box {
  padding: 20px;
  background-color: white;
  border-radius: 5px;
  margin: 20px 0;
}
.oThanksConfirm .flexbox {
  margin: 0 -5px;
}
.oThanksConfirm .flexbox .left, .oThanksConfirm .flexbox .right {
  flex-basis: 50%;
  margin: 5px;
}
.oThanksConfirm .flexbox .aMainButton {
  width: 100%;
}

.oAnswerClosed {
  background-color: #e2f0bf;
  padding: 20px 10px 10px 10px;
}
.oAnswerClosed .box {
  padding: 20px;
  background-color: white;
  border-radius: 5px;
}
.oAnswerClosed .box h4 {
  margin-bottom: 5px;
}
.oAnswerClosed .box p {
  font-size: 15px;
  line-height: 1.5;
}

.oAnswerForm {
  background-color: #e2f0bf;
  padding: 20px 10px 20px;
}
.oAnswerForm .banner {
  padding: 5px;
}
.oAnswerForm .banner img {
  width: 345px;
}
.oAnswerForm .answerTextArea {
  height: 300px;
}
.oAnswerForm .alert {
  color: red;
  font-size: 13px;
}
.oAnswerForm .buttons {
  display: flex;
}
.oAnswerForm .buttons .aMainButton + .aMainButton {
  margin-left: 20px;
}
.oAnswerForm .buttons .left {
  flex: 1;
  margin-right: 10px;
}
.oAnswerForm .buttons .right {
  flex: 1;
  margin-left: 10px;
}
.oAnswerForm .fields {
  padding: 0 5px;
}
.oAnswerForm .fields .aTextField {
  margin-top: 15px;
}
.oAnswerForm .fields .aTextArea {
  margin-top: 15px;
}
.oAnswerForm .fields .aMainButton {
  margin-top: 15px;
}
.oAnswerForm .sub_text {
  font-size: 12px;
  line-height: 18px;
}
.oAnswerForm .sub_text br {
  line-height: 18px;
}
.oAnswerForm h3 {
  margin: 0 0 10px 10px;
  font-weight: bold;
}
.oAnswerForm h4 {
  margin: 0 0 15px;
}
.oAnswerForm p {
  margin-left: 5px;
}
.oAnswerForm .box {
  padding: 20px;
  background-color: white;
  border-radius: 5px;
  margin: 30px 0 20px;
}
.oAnswerForm .box p {
  margin: 0 0 15px;
  font-size: 15px;
}
.oAnswerForm .box .check_list li, .oAnswerForm .box .mCheckMarkList ul li, .mCheckMarkList .oAnswerForm .box ul li {
  font-weight: bold;
}
.oAnswerForm .box_check {
  padding: 20px;
  background-color: white;
  border-radius: 5px;
  margin: 20px 0;
}
.oAnswerForm .box_check a {
  font-size: 15px;
  color: #f57474;
  text-decoration: underline;
}
.oAnswerForm button:disabled {
  color: lightgray;
}

.oQuestionForm .private-option {
  width: 100%;
  margin-bottom: 30px;
}
.oQuestionForm .private-option .heading {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: 8px;
  text-decoration-color: #FFFF99;
  text-underline-offset: -4px;
}
.oQuestionForm .private-option p {
  font-size: 14px;
}
.oQuestionForm .private-option .border {
  border: 1px solid #B4B4B4;
  border-radius: 6px;
  padding: 10px 18px;
}
.oQuestionForm .private-option .border.checked {
  background-color: #F6F9EC;
}
.oQuestionForm .private-option .border.checked input {
  accent-color: #7E9D34;
  color: white;
}
.oQuestionForm .private-option .border .private-option-flex {
  display: flex;
  gap: 14px;
}
.oQuestionForm .private-option .border .private-option-flex .check-box-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.oQuestionForm .private-option .border .private-option-flex .check-box-container input[type=checkbox] {
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 2;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  opacity: 1;
  margin: 0;
  padding: 0;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
.oQuestionForm .private-option .border .private-option-flex p {
  line-height: 1.4em;
}
.oQuestionForm .private-option .border .private-option-flex .option-title {
  font-size: 16px;
  font-weight: bold;
}
.oQuestionForm .private-option .border .private-option-flex .price {
  text-align: right;
  font-weight: 14px;
  font-weight: bold;
}
.oQuestionForm {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.oQuestionForm .check_list_container p {
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
  margin-top: 5px;
}
.oQuestionForm .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin: 10px 0 20px;
}
.oQuestionForm .box .caption {
  margin-left: 20px;
  width: 90px;
  font-weight: bold;
}
.oQuestionForm .box .caption, .oQuestionForm .box .user_info, .oQuestionForm .box li, .oQuestionForm .box li strong {
  font-size: 15px;
}
.oQuestionForm .box button {
  margin: 10px 0 0 20px;
}
.oQuestionForm .box:first-child {
  margin-top: 0;
}
.oQuestionForm .cousion_box {
  border: 1px solid #f57474;
  color: #f57474;
  font-size: 15px;
  padding: 15px;
}

.oQuestionConfirm {
  background-color: white;
  padding: 5px 20px 20px 20px;
}
.oQuestionConfirm .card {
  margin-left: 10px;
}
.oQuestionConfirm .private-notice {
  margin-top: 14px;
  font-size: 14px;
  font-weight: bolder;
  text-decoration: underline;
  line-height: 1.3rem;
  text-decoration-thickness: 8px;
  text-decoration-color: #FFFF99;
  text-underline-offset: -4px;
}
.oQuestionConfirm ul.alert {
  margin: 10px 0 0;
  padding: 14px;
  background-color: #f57474;
  color: white;
}
.oQuestionConfirm ul.alert li {
  position: relative;
  padding-left: 1.5em;
  color: white;
}
.oQuestionConfirm ul.alert li::before {
  content: "✔"; /* チェックマーク */
  position: absolute;
  left: 0;
  color: white;
  font-size: 1em; /* サイズ調整できるで */
}
.oQuestionConfirm .cousion_box {
  border: 1px solid #f57474;
  padding: 15px 15px 0 15px;
  margin-bottom: 15px;
}
.oQuestionConfirm h3 {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 10px;
}
.oQuestionConfirm .row:first-child {
  padding-top: 0;
}
.oQuestionConfirm .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
}
.oQuestionConfirm .row .confirm_description {
  line-height: 22px;
}
.oQuestionConfirm .row .name {
  font-size: 17px;
  margin-top: 20px;
}
.oQuestionConfirm .row .name span {
  margin-left: 10px;
}
.oQuestionConfirm .cousion_text {
  margin-top: 20px;
  font-size: 15px;
}
.oQuestionConfirm .attention_text, .oQuestionConfirm .check_list li, .oQuestionConfirm .mCheckMarkList ul li, .mCheckMarkList .oQuestionConfirm ul li {
  font-size: 15px;
}
.oQuestionConfirm .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin: 20px 0;
}
.oQuestionConfirm .box h3 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}
.oQuestionConfirm .buttonsContainer {
  margin: 20px -10px;
}
.oQuestionConfirm .buttonsContainer > div {
  flex: 1;
  margin: 0 10px;
}
.oQuestionConfirm .option_list {
  margin-left: 20px;
  margin-right: 20px;
}
.oQuestionConfirm .option_list li {
  font-size: 15px;
  margin-bottom: 10px;
  font-size: 17px;
}
.oQuestionConfirm #card-element {
  margin-bottom: 20px;
}
.oQuestionConfirm .private-stripe {
  border: 1px solid #f57474;
  padding: 20px 10px 10px;
}

.oQuestionComplete {
  background-color: white;
  padding: 0 20px 20px 20px;
  margin-bottom: 10px;
}
.oQuestionComplete .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
}
.oQuestionComplete .box li, .oQuestionComplete .box .attention_text {
  font-size: 15px;
}
.oQuestionComplete p {
  margin-bottom: 20px;
}

.questions_new_entry {
  padding: 50px 0;
  background: white;
}

.waitForAnswer {
  margin: 50px 20px;
  padding: 50px 30px;
  border: 1px solid gray;
  padding: 10px;
}
.waitForAnswer .heading {
  font-weight: bold;
}
.waitForAnswer .img {
  width: 100%;
}
.waitForAnswer p {
  margin: 20px 0;
}
.waitForAnswer p a {
  color: #f57474;
  text-decoration: none;
}

.oQuestionsAllList {
  background-color: white;
}
.oQuestionsAllList .mSearchForm {
  margin: 0 20px 20px 20px;
}
.oQuestionsAllList .search_result {
  font-size: 16px;
  color: #97BC3F;
  margin: 0 20px 20px;
}

.oOkimochi {
  background-color: white;
  padding: 0 20px 30px;
}
.oOkimochi h3 {
  font-weight: bold;
  padding: 20px 0;
}
.oOkimochi h3:first-child {
  padding-top: 0;
}
.oOkimochi .box {
  padding: 20px;
  background-color: #f8f8f8;
  border-radius: 5px;
  margin-bottom: 30px;
}
.oOkimochi .hidden {
  display: none;
}
.oOkimochi .okimochi_toha {
  margin-top: 15px;
}
.oOkimochi .okimochi_toha a {
  color: #4e87a9;
}
.oOkimochi .link-to-thanks {
  color: #f57474;
  font-size: 14px;
  font-weight: bold;
}
.oOkimochi .circles li {
  text-align: center;
}
.oOkimochi .circles strong {
  font-size: 14px;
  margin-right: 10px;
}
.oOkimochi .circles .circle {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 5px 15px 30px 0;
  border-radius: 50%;
  background: #e2f0bf;
}
.oOkimochi .circles .circle span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
}
.oOkimochi .circles .circle span br {
  line-height: 1;
}
.oOkimochi .master_face {
  border-radius: 50%;
  width: 80px;
  height: 80px;
}
.oOkimochi .okimochi_container {
  margin-bottom: 30px;
  position: relative;
}
.oOkimochi .okimochi_container .loading {
  margin: 0 auto;
  width: 33px;
  height: 33px;
  display: block;
}
.oOkimochi .okimochi_container .bold {
  font-weight: bold;
}
.oOkimochi .okimochi_container #confirmOldCard {
  margin-top: 40px;
}
.oOkimochi .okimochi_container #button_pay {
  margin: 0 auto;
}
.oOkimochi .okimochi_container #confirm table, .oOkimochi .okimochi_container #confirmOldCard table {
  margin: 0 auto;
}
.oOkimochi .okimochi_container #confirm table th, .oOkimochi .okimochi_container #confirmOldCard table th {
  padding-right: 20px;
}
.oOkimochi .okimochi_container #alert_cardno, .oOkimochi .okimochi_container #alert_cardtype, .oOkimochi .okimochi_container #alert_name, .oOkimochi .okimochi_container #alert_expire, .oOkimochi .okimochi_container #alert_securitycode {
  margin-bottom: 5px;
  color: #D0021B;
  line-height: 1.5;
}
.oOkimochi .okimochi_container .okimochi_notice {
  text-align: center;
  margin: 20px 0;
}
.oOkimochi .okimochi_container #okimochi_display {
  border: 2px solid #dfc2d2;
  width: 200px;
  height: 87px;
  border-radius: 4px;
  margin: 0 auto;
}
.oOkimochi .okimochi_container #okimochi_display .price_title {
  margin: 10px auto;
  text-align: center;
  line-height: 1;
}
.oOkimochi .okimochi_container #okimochi_display .price_jp {
  line-height: 1;
  font-family: serif;
  color: #b57b9a;
  font-size: 24px;
  text-align: center;
  margin: 0;
}
.oOkimochi .okimochi_container #okimochi_display .price_number {
  line-height: 1;
  color: #b57b9a;
  text-align: center;
  margin: 7px auto 0;
  font-family: serif;
}
.oOkimochi .okimochi_container #okimochi_form_container {
  border: 1px solid #cccccc;
  border-radius: 5px;
  width: 95%;
  margin: 40px auto 10px auto;
  padding: 22px;
}
.oOkimochi .okimochi_container #okimochi_form_container h3 {
  margin: 0;
}
.oOkimochi .okimochi_container #name, .oOkimochi .okimochi_container #cardno {
  width: 300px;
}
.oOkimochi .okimochi_container #securitycode {
  width: 70px;
}
.oOkimochi .okimochi_container #month, .oOkimochi .okimochi_container #year {
  width: 80px;
}
.oOkimochi .okimochi_container .month_label {
  padding: 0 12px 0 8px;
  font-weight: bold;
  padding-top: 4px;
}
.oOkimochi .okimochi_container .year_label {
  padding-left: 8px;
  font-weight: bold;
  padding-top: 4px;
}
.oOkimochi .okimochi_container label {
  font-weight: bold;
}
.oOkimochi .okimochi_container select {
  margin-bottom: 16px;
}
.oOkimochi .okimochi_container .card_fields {
  position: relative;
}
.oOkimochi .okimochi_container .card_fields select {
  width: 85px;
}
.oOkimochi .okimochi_container .card_fields .security {
  width: 100px;
}
.oOkimochi .okimochi_container .okimochi_cards {
  position: absolute;
}
.oOkimochi .okimochi_container .okimochi_howto .howto {
  display: none;
}
.oOkimochi .okimochi_container .okimochi_howto {
  border: 1px solid #ebebeb;
  padding: 15px 5px;
  border-left: none;
  margin-bottom: 30px;
  border-right: none;
}
.oOkimochi .okimochi_container .okimochi_howto ul {
  list-style-type: decimal;
  margin: 15px 0 20px 30px;
}
.oOkimochi .okimochi_container .okimochi_howto h3 {
  padding-bottom: 0;
}
.oOkimochi .okimochi_container .okimochi_howto span {
  margin-left: 10px;
  color: #4e87a9;
  font-size: 15px;
}
.oOkimochi .okimochi_container .okimochi_thankyou {
  width: 325px;
  height: 49px;
  margin: 0 auto 20px;
  display: block;
}
.oOkimochi .okimochi_container .select_okimochi {
  display: block;
  margin: 20px auto;
}
.oOkimochi .okimochi_container input[type=range] {
  -webkit-appearance: none;
  width: 300px;
}
.oOkimochi .okimochi_container {
  /* Chrome */
}
.oOkimochi .okimochi_container input[type=range]::-webkit-slider-runnable-track {
  height: 8px;
}
.oOkimochi .okimochi_container input[type=range]::-webkit-slider-thumb {
  border: none;
  -webkit-appearance: none;
  width: 40px;
  height: 40px;
  margin-top: -18px;
  background: url(/assets/okimochi/circle.png) no-repeat 0 0;
}
.oOkimochi .okimochi_container input[type=range] {
  -webkit-appearance: none;
  -moz-apperance: none;
  border-radius: 8px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0.1, #B57B9A), color-stop(0.1, #CCCCCC));
}
.oOkimochi .okimochi_container {
  /* Firefox */
}
.oOkimochi .okimochi_container input[type=range]::-moz-range-track {
  height: 8px;
  background: #cccccc;
}
.oOkimochi .okimochi_container input[type=range]::-moz-range-thumb {
  border: none;
  width: 48px;
  height: 48px;
  margin-top: -18px;
  background: url(/assets/okimochi/circle.png) no-repeat 0 0;
}
.oOkimochi .okimochi_container {
  /* IE */
}
.oOkimochi .okimochi_container input[type=range]::-ms-track {
  height: 8px;
  background: #cccccc;
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent;
}
.oOkimochi .okimochi_container input[type=range]::-ms-fill-lower {
  background: #777;
  border-radius: 10px;
}
.oOkimochi .okimochi_container input[type=range]::-ms-fill-upper {
  background: #ddd;
  border-radius: 10px;
}
.oOkimochi .okimochi_container input[type=range]::-ms-thumb {
  border: none;
  height: 48px;
  width: 48px;
  margin-top: 2px;
  background: url(/assets/okimochi/circle.png) no-repeat 0 0;
}
.oOkimochi .okimochi_container input[type=range]:focus::-ms-fill-lower {
  height: 8px;
  background: #888;
}
.oOkimochi .okimochi_container input[type=range]:focus::-ms-fill-upper {
  height: 8px;
  background: #ccc;
}
.oOkimochi .okimochi_container input[type=range]::-ms-tooltip {
  display: none;
}
.oOkimochi .okimochi_container .okimochi_price {
  margin: 35px auto 40px;
  display: block;
}
@media all and (-ms-high-contrast: none) {
  .oOkimochi .okimochi_container input[type=range] {
    height: 48px;
  }
}
.oOkimochi .okimochi_container .row:first-child {
  padding-top: 0;
}
.oOkimochi .okimochi_container .row {
  border-bottom: 1px solid #ebebeb;
  padding: 15px 0;
}
.oOkimochi .okimochi_container .row h3 {
  font-weight: bold;
  margin-bottom: 10px;
}
.oOkimochi .okimochi_container #remember_card {
  margin-right: 10px;
}
.oOkimochi .okimochi_container .buttonsContainer {
  margin: 20px 0;
}
.oOkimochi .okimochi_container .buttonsContainer > div {
  flex: 1;
}
.oOkimochi .okimochi_container .buttonsContainer > div:first-child {
  margin-right: 10px;
}
.oOkimochi .okimochi_container_sp #cardno, .oOkimochi .okimochi_container_sp #name {
  width: 90%;
}
.oOkimochi .okimochi_container_sp #cardno input, .oOkimochi .okimochi_container_sp #name input {
  width: 100%;
}
.oOkimochi .okimochi_container_sp #okimochi_description {
  width: 100%;
  padding: 20px;
}
.oOkimochi .okimochi_container_sp #okimochi_description h2 {
  text-align: left;
}
.oOkimochi .okimochi_container_sp #okimochi_description ul {
  margin: 0 auto;
}
.oOkimochi .okimochi_container_sp .okimochi_notice {
  margin: 0 30px;
}
.oOkimochi .okimochi_container_sp .loading {
  margin: 0 auto;
  width: 33px;
  height: 33px;
  display: block;
}
.oOkimochi .okimochi_price:focus {
  outline: none;
}
.oOkimochi .okimochi_comment_form_container {
  margin: 40px auto 30px;
}
.oOkimochi .okimochi_comment_form_container h3 {
  font-weight: bold;
  margin: 0 0 15px;
}
.oOkimochi .okimochi_comment_form_container .comment_done {
  font-size: 16px;
  display: none;
  margin: 50px 0;
}

.pTrueTop #topHeader {
  padding-top: 10px;
  background-color: white;
  z-index: 999;
  width: 100%;
  position: fixed;
}
.pTrueTop .oMenu {
  margin-top: 70px;
}
.pTrueTop .manaka_text_ad {
  font-size: 12px;
  text-align: center;
  width: 100%;
  background-color: white;
}
.pTrueTop .adContainer {
  text-align: center;
  background-color: white;
}
.pTrueTop .oPlainButton {
  padding: 20px 0 30px;
}
.pTrueTop .oPlainButton a {
  text-decoration: none;
  font-weight: bold;
}
.pTrueTop .oPlainButton a button {
  height: 54px;
}
.pTrueTop .oNavi {
  padding: 25px 0 15px;
  margin: 0 auto;
  position: relative;
}

textarea.aTextArea {
  background: white;
  width: 100%;
  height: 120px;
  padding: 5px;
  border: 1px solid #b4b4b4;
  border-radius: 0px;
  -webkit-appearance: none;
}

.aTextArea textarea {
  background: white;
  width: 100%;
  height: 120px;
  padding: 5px;
  border: 1px solid #b4b4b4;
  border-radius: 0px;
  -webkit-appearance: none;
}

.aTextField input {
  background: white;
  width: 100%;
  margin: 0 0 5px;
  padding: 5px 10px;
  border: 1px solid #b4b4b4;
  border-radius: 0px;
  -webkit-appearance: none;
}

input.aTextField {
  background: white;
  width: 100%;
  margin: 0 0 5px;
  padding: 5px 10px;
  border: 1px solid #b4b4b4;
  border-radius: 0px;
  -webkit-appearance: none;
}

.aCheckBox input[type=checkbox] {
  pointer-events: auto;
  cursor: pointer;
  transform: scale(1.5);
  border: 1px solid #b4b4b4;
  margin: 0 10px 10px 5px;
  padding: 5px;
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  opacity: 1;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

.aRadioButton {
  margin-bottom: 10px;
}
.aRadioButton input {
  padding: 5px;
  width: 15px;
  height: 15px;
}
.aRadioButton label {
  margin: 0 10px 0 0;
  padding-left: 6px;
}

.aSelectBox {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .aSelectBox {
    width: 250px;
  }
}
.aSelectBox select {
  width: 100%;
  border: 1px solid #b4b4b4;
  background: white;
  padding: 5px;
  border-radius: 0px;
  margin-bottom: 15px;
}
.aSelectBox:before {
  position: absolute;
  top: 40%;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #b4b4b4;
  pointer-events: none;
}

.m-form-panel {
  padding: 20px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
}
.m-form-panel .title {
  font-size: 20px;
}

.m-field-group-title {
  font-size: 20px;
  font-weight: bold;
}

.mFieldTitle {
  font-size: 17px;
  margin: 20px 0 10px;
}
.mFieldTitle:first-child {
  margin-top: 0;
}
.mFieldTitle > label {
  font-weight: bold;
}
.mFieldTitle .right_text {
  margin-top: 6px;
  font-size: 14px;
  color: #666;
  float: right;
}
.mFieldTitle .sub_text {
  margin-top: 6px;
}

.m-radio-button-container {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .m-radio-button-container {
    flex-direction: row;
  }
}

.oH1, .oH1WithLabel .main {
  background-color: white;
  color: #97BC3F;
  line-height: 1.5;
  padding: 20px;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 1px;
}

.oH1WithLabel {
  display: flex;
  width: 100%;
  background-color: white;
}
.oH1WithLabel .aLabelAttention {
  margin-top: 20px;
}

.oH2Spaced, .oH2WithText {
  background-color: white;
  color: #97BC3F;
  line-height: 1.5;
  padding: 20px;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 1px;
  position: relative;
}
.oH2Spaced span, .oH2WithText span {
  margin-left: 15px;
  font-size: 13px;
}
@media screen and (min-width: 769px), print {
  .oH2Spaced, .oH2WithText {
    font-size: 18px;
  }
}
