@charset "UTF-8";
@import "sp_redesign/ress.css";
@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;
  }
}

.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, .mPickupRow 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, .mMasterBox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.flexbox.aMainButton:first-child, .aMainButton.mMasterBox: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, .responsive.mMasterBox {
  display: block !important;
}
.flexbox.responsive .box, .responsive.mMasterBox .box {
  text-align: left;
}
.flexbox.responsive .box:first-child, .responsive.mMasterBox .box:first-child {
  margin-right: 0px;
}
@media screen and (min-width: 769px), print {
  .flexbox.responsive, .responsive.mMasterBox {
    display: flex !important;
  }
  .flexbox.responsive .box:first-child, .responsive.mMasterBox .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 .contents {
    padding: 0 50px;
  }
}
.pMembers .contents .content {
  padding: 0 20px;
}
@media screen and (min-width: 769px), print {
  .pMembers .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;
}

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

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

.aUserFace img {
  border-radius: 50%;
  width: 40px;
  height: 40px;
}

.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;
  }
}

.aTabCol2, .aTabCol3, .aTabCol3Users, .aTabCol4 {
  background-color: white;
  padding: 0 20px 20px 20px;
}
.aTabCol2 ul, .aTabCol3 ul, .aTabCol3Users ul, .aTabCol4 ul {
  border-radius: 5px;
  display: flex;
  width: 100%;
  border: 1px solid #97BC3F;
  list-style-type: none;
  text-align: center;
}
.aTabCol2 ul li, .aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
  position: relative;
  padding: 8px;
  width: 50%;
}
.aTabCol2 ul li a, .aTabCol3 ul li a, .aTabCol3Users ul li a, .aTabCol4 ul li a {
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #97BC3F;
}
.aTabCol2 ul li span, .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;
}
.aTabCol2 ul li.active0, .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;
}
.aTabCol2 ul li.active0 a, .aTabCol3 ul li.active0 a, .aTabCol3Users ul li.active0 a, .aTabCol4 ul li.active0 a {
  color: white;
}
.aTabCol2 ul li.active1, .aTabCol2 ul li.active3, .aTabCol2 ul li.active2, .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;
}
.aTabCol2 ul li.active1 a, .aTabCol2 ul li.active3 a, .aTabCol2 ul li.active2 a, .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;
}
.aTabCol2 ul li, .aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
  border-right: 1px solid #97BC3F;
}
.aTabCol2 ul li:last-child, .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) {
  .aTabCol2 ul li, .aTabCol3 ul li, .aTabCol3Users ul li, .aTabCol4 ul li {
    padding: 8px 4px;
  }
  .aTabCol2 ul li a, .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;
}

.aAttentionBoxStrong {
  border: 1px solid #f57474;
  padding: 15px;
  margin: 0 0 20px 0;
}
.aAttentionBoxStrong .title {
  font-weight: bold;
}
.aAttentionBoxStrong p {
  color: #f57474;
  font-size: 12px;
}

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

.aLineBalloon {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #ebebeb;
  position: relative;
}

.aLineBalloon:before,
.aLineBalloon:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.aLineBalloon:before {
  border: solid 9px transparent;
  border-top: solid 9px #ebebeb;
}

.aLineBalloon:after {
  border: solid 13px transparent;
  border-top: solid 13px #fff;
  margin-top: -5px;
}

.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;
}

.aBorderBox {
  padding: 4px 8px;
  margin: 0 0px 0 10px;
  font-size: 14px;
  color: #4a4a4a;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.aBordeBoxLink {
  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;
}

.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;
}

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

.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;
}

.aIconThanks {
  width: 20px;
  padding-right: 6px;
  vertical-align: middle;
}

.aIconAnswers {
  padding-right: 6px;
  vertical-align: middle;
}

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

.aIconAdress {
  width: 16px;
  height: 18px;
  left: -2px;
  position: absolute;
}

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

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

.aIconTel {
  left: 0px;
  position: absolute;
}

.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;
}

.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: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;
  }
}

.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;
}

.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;
}

.mQuestionAllRow {
  border-top: 1px solid #ebebeb;
  padding: 20px 20px 15px;
  background-color: white;
}
.mQuestionAllRow a {
  text-decoration: none;
}
.mQuestionAllRow a .date {
  font-size: 14px;
  color: #4a4a4a;
  margin-right: 10px;
}
.mQuestionAllRow a h2 {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #333;
  margin: 8px 0 0 0;
  line-height: 1.5;
}
.mQuestionAllRow a p {
  color: #4a4a4a;
  font-size: 15px;
  line-height: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0;
  margin-top: 10px;
}

.mQuestionAllRow: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;
}

.mSearchForm > .box {
  display: flex;
}
.mSearchForm > .box input[type=text] {
  width: 100%;
  height: 40px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  background-color: #ffffff;
  border: solid 1px #97bc3f;
  padding-left: 10px;
  flex-grow: 0;
  font-size: 15px;
}
.mSearchForm > .box input[type=submit] {
  height: 40px;
  width: 64px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border: 1px solid #97bc3f;
  border-left: none;
  background-color: #c8df92;
  color: #417505;
  font-size: 14px;
}
.mSearchForm .by_nick_name {
  align-items: center;
  margin-top: 5px;
  margin-left: 5px;
  display: flex;
}
.mSearchForm .by_nick_name label {
  margin-left: 5px;
  font-size: 15px;
}

.mMasterBox {
  margin: 25px 0 0 0;
  line-height: 1;
}
.mMasterBox img {
  width: 73px;
  height: 73px;
  border-radius: 50%;
}
.mMasterBox p {
  margin: 0 0 0 15px;
  font-size: 15px;
}
.mMasterBox a {
  font-size: 17px;
}

.mTempleRow {
  padding-left: 15px;
  border-top: 1px solid #ebebeb;
  background-color: white;
}
.mTempleRow a {
  text-decoration: none !important;
}
.mTempleRow .aTempleNoImg, .mTempleRow .templeImage {
  margin-bottom: 10px;
}
.mTempleRow .mThanksCountStrong span, .mTempleRow .mThanksCountStrong .count, .mTempleRow .mAnswersCountStrong span, .mTempleRow .mAnswersCountStrong .count {
  color: black !important;
}
.mTempleRow {
  display: inherit;
  text-decoration: none;
}
.mTempleRow h3 {
  font-size: 20px;
  font-weight: bold;
  padding: 12px 1px 8px;
  line-height: 1.2;
}
.mTempleRow h4 {
  padding: 3px 5px;
  width: 100%;
  background-color: #f8f8f8;
  font-size: 10px;
  color: #4a4a4a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mTempleRow .rubi {
  display: block;
  font-size: 10px;
  color: #4a4a4a;
}
.mTempleRow .aTempleNoImg {
  margin: 3px 10px 15px 0;
}
.mTempleRow .mThanksCountStrong, .mTempleRow .description {
  margin: 0 10px 0 0;
}
.mTempleRow .catch_copy {
  margin: 0px 10px 5px 0;
  font-size: 15px;
  line-height: 1.4rem;
}
.mTempleRow .description .flexbox, .mTempleRow .description .mMasterBox {
  flex-wrap: wrap;
}
.mTempleRow .tag_area {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 5px 0 15px 0;
}
.mTempleRow .tag_area a {
  line-height: 1.3rem;
}
.mTempleRow .tag_area a.aTagLink {
  margin-right: 10px;
}
.mTempleRow .address, .mTempleRow .phone {
  margin-bottom: 5px;
  padding: 0 15px 0 20px;
  font-size: 15px;
  line-height: 1.5;
  position: relative;
}
.mTempleRow .editButtonContainer .aButtonSmall {
  display: inline;
}
.mTempleRow .editButtonContainer {
  margin-bottom: 20px;
}

.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, .mProfileUnansweredRow .mMasterBox {
  justify-content: flex-end;
  margin-top: 5px;
}
.mProfileUnansweredRow .flexbox a + a, .mProfileUnansweredRow .mMasterBox 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, .mProfileAnswerdRow .mMasterBox div {
  font-size: 13px;
}
.mProfileAnswerdRow .flexbox .thanks_count_container, .mProfileAnswerdRow .mMasterBox .thanks_count_container {
  flex: 1;
}
.mProfileAnswerdRow .flexbox .thanks_state, .mProfileAnswerdRow .mMasterBox .thanks_state {
  flex: 1;
  margin: 5px 10px 0;
}

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

.mPickupRow {
  padding: 15px 20px 15px 10px;
  background-color: white;
}
.mPickupRow a {
  text-decoration: none;
}
.mPickupRow h3 {
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1.3px;
  margin: 0 0 15px 15px;
}
.mPickupRow .aQuote {
  margin-left: 10px;
}
.mPickupRow > .master {
  margin: 0 0 0 50px;
}
.mPickupRow > .master .flexbox, .mPickupRow > .master .mMasterBox {
  -webkit-flex-wrap: wrap;
}
.mPickupRow > .master .flexbox .name, .mPickupRow > .master .mMasterBox .name {
  margin: 5px 0 0 10px;
}
.mPickupRow > .master .flexbox .name a, .mPickupRow > .master .mMasterBox .name a {
  font-size: 15px;
  color: #f57474;
}
.mPickupRow > .master .flexbox .temple, .mPickupRow > .master .mMasterBox .temple {
  line-height: 20px;
  margin: 7px 0 0 10px;
}

.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, .mPickupAllRow .master .mMasterBox {
  width: 100%;
  flex-wrap: wrap;
}
.mPickupAllRow .master .flexbox .name, .mPickupAllRow .master .mMasterBox .name {
  margin: 5px 0 8px 10px;
}
.mPickupAllRow .master .flexbox .name a, .mPickupAllRow .master .mMasterBox .name a {
  text-decoration: underline;
  font-size: 15px;
  color: #f57474;
}
.mPickupAllRow .master .flexbox .temple, .mPickupAllRow .master .mMasterBox .temple {
  margin: 7px 0 0 10px;
}
.mPickupAllRow .master .flexbox .thanks, .mPickupAllRow .master .mMasterBox .thanks {
  margin-left: auto;
  margin-top: 8px;
}

.mThanksCountStrong, .mAnswersCountStrong {
  font-size: 14px;
  line-height: 30px;
}
.mThanksCountStrong .aIconThanks, .mAnswersCountStrong .aIconThanks {
  margin-top: -6px;
}
.mThanksCountStrong span, .mAnswersCountStrong span {
  color: #f57474;
  font-size: 14px;
  display: inline-block;
  margin-left: 3px;
}
.mThanksCountStrong .count, .mAnswersCountStrong .count {
  font-size: 14px;
  margin-left: 3px;
}

.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;
}

.mAnswerCount {
  letter-spacing: 0.2px;
  font-size: 14px;
  margin: 5px 10px 0 0;
  color: #4a4a4a;
}

.mThanksCount {
  letter-spacing: 0.2px;
  font-size: 14px;
  margin: 5px 10px 0 0;
  color: #4a4a4a;
  width: 120px;
  height: 50px;
}

.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;
}

.mH1 {
  background-color: white;
  color: #97BC3F;
  line-height: 1.5;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 1px;
}

.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 {
  margin-top: 16px;
  line-height: 1;
}
.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 .flex {
  display: flex;
}
.mColumnRow .flex .imageContainer img {
  display: block;
  width: 100px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .flex .imageContainer img {
    width: 50px;
    height: auto;
  }
}
.mColumnRow .flex .info {
  margin-left: 10px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .flex .info {
    margin-left: 14px;
    margin-top: 4px;
  }
}
.mColumnRow .flex .info .title .num {
  margin-right: 10px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .flex .info .title .num {
    display: none;
  }
}
.mColumnRow .flex .info .title {
  line-height: 27px;
  text-decoration: none;
  font-size: 15px;
  font-weight: bold;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .flex .info .title {
    font-size: 14px;
    line-height: 19.6px;
    margin-bottom: 1px;
  }
}
.mColumnRow .flex .info p {
  font-size: 15px;
}
@media screen and (min-width: 769px), print {
  .mColumnRow .flex .info p {
    font-size: 14px;
    line-height: 19.6px;
  }
}

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

.mTempleSocialIcons img {
  width: 34px;
  height: 34px;
  margin-top: 14px;
  margin-right: 6px;
  margin-left: 6px;
  margin-bottom: -11px;
}

.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, .oTopHeader .mMasterBox {
  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;
}

.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), .oPickup .mMasterBox:nth-child(2n) {
  padding: 0px 25px 0 25px;
}
.oPickup .flexbox, .oPickup .mMasterBox {
  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, .oPickup .master_info .mMasterBox {
  -webkit-flex-wrap: wrap;
  padding: 0;
}
.oPickup .master_info .flexbox img, .oPickup .master_info .mMasterBox img {
  border-radius: 50%;
}
.oPickup .master_info .flexbox .name, .oPickup .master_info .mMasterBox .name {
  margin: 10px 10px 0;
}
.oPickup .master_info .flexbox .name a, .oPickup .master_info .mMasterBox .name a {
  font-size: 15px;
  color: #f57474;
}
.oPickup .master_info .flexbox .temple a, .oPickup .master_info .mMasterBox .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 .container {
  position: relative;
  padding: 28px 20px 20px 20px;
  background: white;
}
.oTempleMain .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 .container .circle ul li {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.6px;
  line-height: 1.3;
  color: white;
}
.oTempleMain .container .circle ul li.count {
  font-size: 20px;
}
.oTempleMain .container .circle ul li.kaito {
  margin-top: 4px;
}
.oTempleMain .container .rubi {
  font-size: 10px;
  color: #4a4a4a;
}
.oTempleMain .container h1 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.oTempleMain .container h4 a {
  color: #f57474;
}
.oTempleMain .container .catch_copy {
  color: #4a4a4a;
  margin-bottom: 18px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 1.1px;
}
.oTempleMain .container .flexbox strong, .oTempleMain .container .mMasterBox strong {
  word-break: keep-all;
}
.oTempleMain .container .flexbox.master, .oTempleMain .container .master.mMasterBox {
  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, .oProfileMasterInfo .master_info .mMasterBox {
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .oProfileMasterInfo .master_info .flexbox, .oProfileMasterInfo .master_info .mMasterBox {
    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, .oDocs a > .mMasterBox > 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, .oDocs .mMasterBox {
  justify-content: space-between;
}
.oDocs .flexbox p, .oDocs .mMasterBox p {
  margin-right: 10px;
  font-size: 14px;
}
.oDocs .flexbox img, .oDocs .mMasterBox img {
  width: 120px;
  height: 120px;
  flex-grow: 0;
  flex-shrink: 0;
  margin-left: auto;
}
.oDocs .flexbox iframe, .oDocs .mMasterBox 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, .oTalks .mMasterBox {
  justify-content: space-between;
}
.oTalks .row.flexbox, .oTalks .row.mMasterBox {
  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 .flex {
  justify-content: center;
  display: flex;
}
.oOkimochi .button-credit-card .flex img {
  margin-top: 8px;
  width: 150px;
  height: 19px;
}
.oOkimochi .button-credit-card .flex p {
  margin: 4px 0 0 7px;
}
.oOkimochi .paypay-button {
  text-align: center;
}
.oOkimochi .paypay-button .flex {
  justify-content: center;
  display: flex;
}
.oOkimochi .paypay-button .flex img {
  margin-top: 15px;
  width: 40px;
  height: 40px;
}
.oOkimochi .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, .reportContainer .report .mMasterBox {
  flex-direction: column;
  justify-content: space-between;
}
.reportContainer .report .flexbox .pink, .reportContainer .report .mMasterBox .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;
  }
}

.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: 20px;
  margin: 20px 0;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
}
.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: 26px;
  font-weight: bold;
  text-align: center;
}
.oTalksLp .main-image img {
  display: block;
  margin: 30px auto 20px;
}
.oTalksLp h2.copy {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 20px;
}
.oTalksLp .sub-title {
  height: 32px;
  line-height: 32px;
  background-color: #EAF2D9;
  text-align: center;
}
.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 .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 {
  background-color: white;
  padding: 20px 20px 20px;
}
.oTalkExpress .link {
  display: flex;
  color: green;
  font-weight: bold;
  gap: 10px;
  align-items: center;
}
.oTalkExpress .link .line iframe {
  height: 50px;
}
.oTalkExpress .link .line {
  height: 50px;
  display: flex;
  align-items: center;
}
.oTalkExpress a {
  color: #f57474;
}
.oTalkExpress li {
  font-size: 15px;
}
.oTalkExpress p {
  margin: 0 4px 10px;
  line-height: 1.6rem;
}
.oTalkExpress .box {
  border-radius: 4px;
  border: 1px solid #97BC3F;
  margin-bottom: 20px;
  padding: 14px;
}
.oTalkExpress ul {
  margin: 10px;
}
.oTalkExpress h2 {
  line-height: 1.6rem;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #f57474;
}

.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 {
  padding: 30px 20px;
}
.oQuestionDetail .titleSpan {
  margin-right: 10px;
}
.oQuestionDetail .title {
  margin-bottom: 30px;
}
.oQuestionDetail .title strong {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1.4px;
  margin: 0 10px 0 0;
}
@media screen and (min-width: 769px), print {
  .oQuestionDetail .title strong {
    font-size: 30px;
  }
}
.oQuestionDetail .title .aIconReception {
  position: relative;
  top: -1px;
}
.oQuestionDetail .user_profile div, .oQuestionDetail .user_profile p, .oQuestionDetail .user_profile span {
  font-size: 14px;
  color: #4a4a4a;
}
.oQuestionDetail .user_profile .flexbox, .oQuestionDetail .user_profile .mMasterBox {
  margin-bottom: 15px;
  flex-wrap: wrap;
}
.oQuestionDetail .user_profile .user_info {
  line-height: 20px;
  margin-right: auto;
  padding-top: 4px;
}
.oQuestionDetail .user_profile .user_info a {
  font-size: 15px;
  font-weight: bold;
  color: #f57474;
  text-decoration: underline;
  margin-right: 10px;
}
.oQuestionDetail .user_profile .user_info span {
  color: #999;
  font-size: 13px;
  margin-top: 2px;
  display: block;
}
@media screen and (min-width: 769px), print {
  .oQuestionDetail .user_profile .user_info span {
    display: inline-block !important;
  }
}
.oQuestionDetail .user_profile .q_num {
  line-height: 30px;
}
.oQuestionDetail .user_profile .num {
  line-height: 30px;
  font-weight: bold;
}
.oQuestionDetail .user_profile .profile, .oQuestionDetail .user_profile .problem {
  margin-bottom: 15px;
  overflow: hidden;
  width: 100%;
}
.oQuestionDetail .user_profile .profile .caption, .oQuestionDetail .user_profile .problem .caption {
  font-weight: bold;
}
.oQuestionDetail .user_profile .profile p, .oQuestionDetail .user_profile .problem p {
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  word-break: break-all;
}
.oQuestionDetail .tag {
  margin: 5px 0 0;
}
.oQuestionDetail .tag .aTagLink {
  font-size: 14px;
}
.oQuestionDetail .body {
  margin: 20px 0 10px;
}
.oQuestionDetail .body p {
  font-size: 17px;
  margin: 0 0 20px;
}

.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, .oAnswers .mMasterBox {
    flex-wrap: wrap;
  }
  .oAnswers .flexbox .aOkimochiButton, .oAnswers .mMasterBox .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 .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, .oThanksConfirm .mMasterBox {
  margin: 0 -5px;
}
.oThanksConfirm .flexbox .left, .oThanksConfirm .mMasterBox .left, .oThanksConfirm .flexbox .right, .oThanksConfirm .mMasterBox .right {
  flex-basis: 50%;
  margin: 5px;
}
.oThanksConfirm .flexbox .aMainButton, .oThanksConfirm .mMasterBox .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 .flex {
  display: flex;
  gap: 14px;
}
.oQuestionForm .private-option .border .flex .check-box-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.oQuestionForm .private-option .border .flex p {
  line-height: 1.4em;
}
.oQuestionForm .private-option .border .flex .option-title {
  font-size: 16px;
  font-weight: bold;
}
.oQuestionForm .private-option .border .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 {
  transform: scale(1.5);
  border: 1px solid #b4b4b4;
  margin: 0 10px 10px 5px;
  padding: 5px;
  width: 15px;
  height: 15px;
}

.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;
  }
}
