@charset "utf-8";

/* oshiken top header --------------- */
.oshiken-top-header {
  background-color: var(--oshiken-pink);
  padding-top: 80px;
}
@media only screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-top-header { padding-top: 90px; }
}
@media screen and (min-width: 1367px) {
.oshiken-top-header { padding-top: 110px; }
}

.oshiken-top-header.page_top { padding-top: 0; }

.oshiken-top-header-inner {
  background-image: url(/oshiken/assets/images/top/mv_sp.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100%;
  margin: 0 auto;
  padding-bottom: calc(353/542*100%);
  position: relative;
  width: 100%;
}
@media only screen and (min-width: 768px) {
.oshiken-top-header-inner {
  background-image: url(/oshiken/assets/images/top/mv_pc.png);
  background-position: right bottom;
  padding-bottom: 0;
}
}
@media only screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-top-header-inner {
  background-size: 55%;
  min-height: 100%;
  width: 80%;
}
}
@media screen and (min-width: 1367px) {
.oshiken-top-header-inner {
  background-image: url(/oshiken/assets/images/top/mv_pc.png);
  background-size: 542px 378px;
  min-height: 378px;
  padding-bottom: 0;
  width: 963px;
}
}

.oshiken-top-header-inner h2 { padding: 25px 0 0; }
@media only screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-top-header-inner h2 { padding-top: 0; }
}
@media screen and (min-width: 1367px) {
.oshiken-top-header-inner h2 { padding-top: 50px; }
}

.oshiken-top-header-inner img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 85%;
}
@media screen and (min-width: 768px) {
.oshiken-top-header-inner img { margin: 0; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-top-header-inner img { max-width: 45%; }
}
@media screen and (min-width: 1367px) {
.oshiken-top-header-inner img { max-width: 100%; }
}

.oshiken-top-header-inner p {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  margin: 1.6em 0 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
.oshiken-top-header-inner p {
  line-height: 1.6;
  text-align: left;
}
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.oshiken-top-header-inner p {
  font-size: 15px;
  padding-bottom: 1em;
}
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
.oshiken-top-header-inner p {
  font-size: 20px;
  padding-bottom: 1em;
}
}
@media screen and (min-width: 1367px) {
.oshiken-top-header-inner p { font-size: 22px; }
}

.about-oshiken-researcher {
  bottom: 10px;
  display: block;
  position: absolute;
  right: 1.3em;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
.about-oshiken-researcher { right: 0; }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.about-oshiken-researcher { bottom: -.1em; }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
.about-oshiken-researcher { bottom: 0; }
}

.about-oshiken-researcher a {
  align-items: center;
  background-color: #fff;
  border-radius: .9em;
  color: var(--oshiken-pink);
  display: flex;
  height: 1.73em;
  justify-content: center;
  padding: 0 0 0 1em;
  position: relative;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
.about-oshiken-researcher a {
  background-color: var(--oshiken-pink);
  border-radius: 0;
  color: #fff;
  height: 1.85em;
  mask-image: url(/oshiken/assets/images/top/button_about-oshiken.png);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
}
@media screen and (min-width: 1367px) {
.about-oshiken-researcher a { transition: .3s; }
.about-oshiken-researcher a:hover { background-color: #000; }
}

.about-oshiken-researcher a span {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 2em 0 0;
  position: relative;
}
@media screen and (min-width: 1367px) {
.about-oshiken-researcher a span { padding-left: .2em; }
}

.about-oshiken-researcher a span:after {
  content: '\f107';
  font-family: 'Font Awesome 5 Free';
  font-size: .8em;
  font-weight: 900;
  position: absolute;
  right: .9em;
  top: 50%;
  transform: translateY(-50%);
}



/* oshiken top menu --------------- */
.oshiken-top-menu {
  align-items: center;
  background-color: #ffebf3;
  display: flex;
  padding: .5em 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.oshiken-top-menu {
  height: 60px;
  padding: 0;
}
}

.oshiken-top-menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin: 0 auto;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiken-top-menu ul { gap: 3em; }
}

.oshiken-top-menu li {
  display: inline-block;
  width: 45%;
}
@media screen and (min-width: 768px) {
.oshiken-top-menu li { width: auto; }
}

.oshiken-top-menu a {
  color: #ff4b91;
  display: block;
  font-size: 16px;
  font-weight: 600;
  display: block;
  padding-right: 1em;
  position: relative;
  text-decoration: none;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.oshiken-top-menu a {
  font-size: 18px;
  transition: .3s;
}
.oshiken-top-menu a:hover {
  opacity: .7;
  text-decoration: none;
}
.oshiken-top-menu a:hover,
.oshiken-top-menu a:active,
.oshiken-top-menu a:visited {
  color: var(--oshiken-pink);
  text-decoration: none;
}
}

.oshiken-top-menu a:after {
  content: '\f107';
  font-family: 'Font Awesome 5 Free';
  font-size: .8em;
  font-weight: 900;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}



/* oshiken contents section --------------- */
.oshiken-contents-section { margin-top: 50px; }
@media screen and (min-width: 1367px) {
.oshiken-contents-section { margin-top: 100px; }
}

.oshiken-contents-section.header-bg_whatis {
  background-image: url(/oshiken/assets/images/top/title-bg_whatis.png);
  background-position: center top 1em;
  background-repeat: no-repeat;
  background-size: 90%;
  padding-top: 7em;
}
@media screen and (min-width: 768px) {
.oshiken-contents-section.header-bg_whatis { background-size: 70%; }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.oshiken-contents-section.header-bg_whatis { padding-top: 13em; }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
.oshiken-contents-section.header-bg_whatis { padding-top: 16em; }
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section.header-bg_whatis {
  background-position: center top;
  background-size: 26%;
  padding-top: 13em;
}
}

.oshiken-contents-section-header { text-align: center; }

.oshiken-contents-section-header.header-bg_product {
  background-image: url(/oshiken/assets/images/top/title-bg_product.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding: 2em 0 1.5em;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header.header-bg_product {
  background-size: 26%;
  padding: 95px 0 34px;
}
}

.oshiken-contents-section-header.header-bg_column {
  background-image: url(/oshiken/assets/images/top/title-bg_column.png);
  background-position: center top 3em;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding: 5em 0 0;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header.header-bg_column {
  background-position: center top;
  background-size: 31%;
  padding: 80px 0 40px;
}
}

.oshiken-contents-section-header.header-bg_service {
  background-image: url(/oshiken/assets/images/top/title-bg_service.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding: 2.5em 0 0;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header.header-bg_service {
  background-size: 21%;
  padding: 70px 0 53px;
}
}

.oshiken-contents-section-header.header-bg_recommend {
  background-image: url(/oshiken/assets/images/top/title-bg_recommend.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding: 2.5em 0 0;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header.header-bg_recommend {
  background-size: 26%;
  padding: 70px 0 40px;
}
}

.oshiken-contents-section-subtitle {
  color: #333;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  padding: 0 0 .5em;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-subtitle {
  font-size: 16px;
  margin: 0 auto;
  width: 716px;
}
}

.oshiken-contents-section-header h2 {
  color: var(--oshiken-pink);
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header h2 { font-size: 42px; }
}

.oshiken-contents-section-header h2 a { color: var(--oshiken-pink); }
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header h2 a { transition: .3s; }
.oshiken-contents-section-header h2 a:hover { opacity: .7; }
}

.oshiken-contents-section-header h2 {
  font-size: 26px;
  line-height: 1.45;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header h2 { font-size: 42px; }
}

.oshiken-contents-section-header h2 img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 90%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-contents-section-header h2 img { width: 70%; }
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-header h2 img {
  margin-bottom: 30px;
  max-width: 100%;
}
}

.oshiken-contents-section-introduction {
  color: #333;
  font-size: 14px;
  line-height: 1.4;
  margin: 2.5em 0 0;
  padding: 0 0 .6em;
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section-introduction {
  font-size: 15px;
  margin: 0;
}
}

.oshiken-contents-section-header .oshiken-contents-section-introduction { margin-top: 1em; }
.oshiken-contents-section-header .oshiken-contents-section-introduction:last-child { padding-bottom: 0; }

.supplement-text {
  color: var(--oshiken-pink);
  display: inline-block;
  font-size: 12px;
  line-height: 1.7;
  margin: 1em 0 0;
  padding-left: 1em;
  position: relative;
}
@media screen and (min-width: 1367px) {
.supplement-text {
  font-size: 13px;
  margin: 0;
}
}

.supplement-text:before {
  content: '※';
  left: 0;
  position: absolute;
  top: 0;
}



/* about oshiken --------------- */
.about-oshiken {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin: 1em auto 0;
  width: 95%;
}
@media screen and (min-width: 1367px) {
.about-oshiken { width: 90%; }
}

.about-oshiken video {
  max-width: 90%;
  padding-bottom: 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.about-oshiken video {
  max-width: 370px;
  width: 41%;
}
}

.about-oshiken div {
  margin: 1.5em 0 0;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshiken div {
  margin: 1.5em auto 0;
  width: 90%;
}
}
@media screen and (min-width: 1367px) {
.about-oshiken div {
  margin-top: 0;
  width: 56%;
}
}

.about-oshiken p {
  color: #000;
  font-size: 15px;
  line-height: 2;
  padding: 0 0 1em;
}
.about-oshiken span { color: var(--oshiken-pink); }


@media screen and (max-width: 767px) {
.show-more-sentence-wrap {
  position: relative;
  width: 100%;
}
.show-more-sentence-hide {
  height: 312px;
  overflow: hidden;
}
.show-more {
  background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 70%);
  bottom: 0;
  height: 30px;
  left: 0;
  line-height: 30px;
  padding-top: 90px;
  position: absolute;
  text-align: center;
  transition: bottom .2s;
  width: 100%;
}
.show-more-inner {
  color: var(--oshiken-pink);
  display: inline-block;
  font-size: 15px;
  line-height: 1;
  text-decoration: underline;
}
}
@media screen and (min-width: 768px) {
.show-more { display: none; }
}



/* oshiken product --------------- */
@media screen and (min-width: 1367px) {
.oshiken-products { width: 1200px; }
}



/* oshiken download --------------- */
.oshiken-download {
  margin-top: 55px;
  padding: 0;
  text-align: center;
}
@media screen and (min-width: 1367px) {
.oshiken-download { padding-bottom: 4em; }
}

.oshiken-download a {
  display: inline-block;
  text-decoration: none;
  transition: .3s;
}

.oshiken-download a:hover { opacity: .7; }

.oshiken-download img {
  height: auto;
  margin: 0 auto;
  max-width: 90%;
}
@media screen and (min-width: 668px) and (max-width: 1024px) {
.oshiken-download img { max-width: 90% !important; }
}



/* archive column --------------- */
.bg-stripe {
  background: repeating-linear-gradient(45deg, rgba(255, 235, 243, 1), rgba(255, 235, 243, 1) 5px, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 10px);
  padding: 0 0 50px;
}
@media screen and (min-width: 1367px) {
.bg-stripe { padding-top: 80px; }
}

.archive_wrap {
  margin: 0 auto;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.archive_wrap {
  gap: 3.18em;
  width: 1200px;
}
}

.archive_heading { font-size: 13px; }
@media screen and (min-width: 1367px) {
.archive_heading { font-size: 15px; }
}

.archive_list {
  background-color: #fff;
  border-radius: 10px;
  padding: 5px;
  width: 47%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.archive_list { width: 31.6%; }
}
@media screen and (min-width: 1367px) {
.archive_list {
  background-color: #fff;
  padding: 15px;
  width: 366px;
}
}



/* oshiken cta button --------------- */
.column-cta-button { margin-top: 45px; }
@media screen and (min-width: 1367px) {}

.column-cta-button.icon-more { position: relative; }
@media screen and (min-width: 1367px) {}

.column-cta-button.icon-more:before {
  background-image: url(/oshiken/assets/images/top/icon_more.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 54px;
  left: .5em;
  position: absolute;
  top: -1.3em;
  width: 102px;
}



/* oshiservice --------------- */
.oshiservice_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  margin: 0 auto;
  width: 90%;
}
@media screen and (min-width: 1367px) {
.oshiservice_wrap {
  gap: 3.16em;
  width: 1200px;
}
}

.oshiservice_list {
  display: block;
  margin: 0 auto;
  text-decoration: none;
  width: 88%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiservice_list { width: 47%; }
}
@media screen and (min-width: 1367px) {
.oshiservice_list { width: 262px; }
}

.oshiservice_list_header {
  color: var(--oshiken-pink);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.38;
  padding: 1em 0;
  text-align: center;
}
@media screen and (min-width: 1367px) {}

.oshiservice_list figure {
  border-radius: 20px;
  display: block;
  overflow: hidden;
  marign: 0;
  width: 100%;
}

.oshiservice_list figure img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.oshiservice_list figure img { transition: .3s; }
.oshiservice_list:hover figure img { transform: scale(1.1); }
}

.oshiservice_list_text {
  color: #000;
  font-size: 13px;
  line-height: 1.53;
  margin: 1em 0 0;
}
@media screen and (min-width: 1367px) {
.oshiservice_list:active .oshiservice_list_text,
.oshiservice_list:visited .oshiservice_list_text {
  color: #000;
  text-decoration: none;
}
}

@media screen and (min-width: 1367px) {
.oshiservice_list:hover .oshiken-button.ver_light-pink {
  background-color: var(--oshiken-pink);
  color: #fff !important;
  text-decoration: none;
}
.oshiservice_list:active .oshiken-button.ver_light-pink,
.oshiservice_list:visited .oshiken-button.ver_light-pink {
  color: var(--oshiken-pink);
  text-decoration: none;
}
}

@media screen and (min-width: 1367px) {
.oshiservice_list:hover .oshiken-button.ver_light-pink:after { color: var(--oshiken-pink) !important; }
}



/* about oshikatsu --------------- */
.oshiken-contents-section_frame {
  background-color: var(--oshiken-pink-light);
  padding: 3em 1em 2em;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-contents-section_frame { padding: 5em 2em 2em; }
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section_frame {
  border-radius: 30px;
  margin: 0 auto;
  padding: 120px 100px 110px;
  width: 1200px;
}
}

.oshiken-contents-section_frame h2 {
  left: 50%;
  margin: 0 auto;
  position: absolute;
  top: -1.5em;
  transform: translateX(-50%);
  width: 80%;
}
@media screen and (min-width: 768px) {
.oshiken-contents-section_frame h2 { top: -3.5em; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-contents-section_frame h2 { width: 50%; }
}
@media screen and (min-width: 1367px) {
.oshiken-contents-section_frame h2 { width: auto; }
}

.oshiken-contents-section_frame h2 img {
  display: block;
  height: auto;
  max-width: 100%;
}

.about-oshikatsu {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.about-oshikatsu { padding: 0; }
}

.about-oshikatsu figure {
  display: block;
  margin: 0 auto;
  width: 70%;
}
@media screen and (min-width: 768px) {
.about-oshikatsu figure {
  margin: 0;
  width: 30%;
}
}

.about-oshikatsu figure img {
  display: block;
  height: auto;
  width: 100%;
}

.about-oshikatsu-body { width: 100%; }
@media screen and (min-width: 768px) {
.about-oshikatsu-body { width: 65%; }
}

.about-oshikatsu-body-heading {
  display: block;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.75;
  text-align: center;
}
@media screen and (min-width: 768px) {
.about-oshikatsu-body-heading { text-align: left; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshikatsu-body-heading { font-size: 26px; }
}
@media screen and (min-width: 1367px) {
.about-oshikatsu-body-heading { font-size: 32px; }
}

.about-oshikatsu-body-heading span {
  background: radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), #fff 10px, transparent 100px) ,
              radial-gradient(circle at 10px calc(100% - 10px), #fff 10px, transparent 100px) ,
              linear-gradient(to bottom, #fff calc(100% - 20px), transparent calc(100% - 20px)) ,
              linear-gradient(to right, transparent 10px, #fff 10px, #fff calc(100% - 10px), transparent calc(100% - 10px));
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: var(--oshiken-pink);
  display: inline;
  padding: .1em .4em;
}

.about-oshikatsu-body-heading + p {
  font-size: 15px;
  line-height: 1.66;
  margin: 1em 0 0;
}

@media screen and (min-width: 768px) {
.about-oshikatsu .oshiken-button {
  margin-left: 0;
  width: 320px;
}
}

.about-oshikatsu_contents {
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents { padding: 30px; }
}

.about-oshikatsu_contents { margin-top: 1em; }
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents { margin-top: 30px; }
}

.about-oshikatsu + .about-oshikatsu_contents { margin-top: 2em; }
@media screen and (min-width: 1367px) {
.about-oshikatsu + .about-oshikatsu_contents { margin-top: 80px; }
}

.about-oshikatsu_contents h3 {
  align-items: center;
  background-image: url(/oshiken/assets/images/top/icon_question.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 54px 57px;
  display: flex;
  padding-left: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshikatsu_contents h3 { min-height: 57px; }
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents h3 {
  background-position: left center;
  background-size: 66px 70px;
  height: 70px;
  padding-left: 76px;
}
}

.about-oshikatsu_contents h3 span {
  border-bottom: 2px solid var(--oshiken-pink);
  color: var(--oshiken-pink);
  display: block;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  padding-bottom: .4em;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents h3 span { padding-bottom: 0; }
}

.about-oshikatsu_contents h4 {
  align-items: center;
  background-image: url(/oshiken/assets/images/top/icon_answer.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 54px 57px;
  display: flex;
  line-height: 1.4375;
  margin-top: 1em;
  padding-left: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshikatsu_contents h4 { min-height: 57px; }
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents h4 {
  background-position: left center;
  background-size: 66px 70px;
  height: 70px;
  padding-left: 76px;
}
}

.about-oshikatsu_contents h4 span {
  color: var(--oshiken-pink);
  display: block;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents h4 span { font-size: 24px; }
}

.about-oshikatsu_contents_body { margin-top: 1em; }

.about-oshikatsu_contents figure {
  display: block;
  margin: 0;
}
@media screen and (min-width: 768px) {
.about-oshikatsu_contents figure {
  float: right;
  margin: -5em 0 20px 30px;
  position: relative;
}
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshikatsu_contents figure { width: 40%; }
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents figure { width: 400px; }
}

.about-oshikatsu_contents figure img {
  display: block;
  height: auto;
  width: 100%;
}

.about-oshikatsu_contents p {
  font-size: 15px;
  line-height: 1.6;
  padding: 0 0 1.5em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.about-oshikatsu_contents p { padding-left: 60px; }
}
@media screen and (min-width: 1367px) {
.about-oshikatsu_contents p { padding-left: 76px; }
}

.about-oshikatsu_contents p:nth-of-type(1) { margin-top: 1em; }
.about-oshikatsu_contents p:last-child { padding-bottom: 0; }

@media screen and (min-width: 768px) {
.about-oshikatsu_contents .oshiken-button { width: 320px; }
}

.heading_ribon_contents {
  margin: 50px auto 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.heading_ribon_contents {
  margin-top: 80px;
  width: 1000px;
}
}

.heading_ribon_wrap { text-align: center; }

.heading_ribon {
  align-items: center;
  background-color: var(--oshiken-pink);
  display: flex;
  height: 80px;
  justify-content: center;
  margin: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
.heading_ribon {
  display: inline-block;
  padding: 0 3em;
}
}

.heading_ribon:before,
.heading_ribon:after {
  content: '';
  height: 0;
  position: absolute;
  top: 0;
  width: 0;
}

.heading_ribon:before {
  border-bottom: 40px solid transparent;
  border-left: 30px solid var(--oshiken-pink-light);
  border-right: 0;
  border-style: solid;
  border-top: 40px solid transparent;
  left: 0;
}

.heading_ribon:after {
  border-bottom: 40px solid transparent;
  border-left: 0;
  border-right: 30px solid var(--oshiken-pink-light);
  border-style: solid;
  border-top: 40px solid transparent;
  right: 0;
}

.heading_ribon span {
  color: #fff;
  display: block;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
.heading_ribon span { line-height: 80px; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.heading_ribon span { font-size: 22px; }
}
@media screen and (min-width: 1367px) {
.heading_ribon span { font-size: 32px; }
}

.heading_ribon_contents p {
  font-size: 15px;
  line-height: 1.66;
  margin: 1em auto 0;
}
@media screen and (min-width: 1367px) {
.heading_ribon_contents p { margin-top: 2em; }
}

.heading_ribon_contents p a { color: var(--oshiken-pink); }
@media screen and (min-width: 1367px) {
.heading_ribon_contents p a { transition: .3s; }
.heading_ribon_contents p a:hover {
  color: var(--oshiken-pink);
  text-decoration: none;
  transition: .3s;
}
.heading_ribon_contents p a:active,
.heading_ribon_contents p a:visited { color: var(--oshiken-pink); }
}

@media screen and (min-width: 768px) {
.heading_ribon_contents .oshiken-button { width: 320px; }
}


.oshiken-feeling {
  display: flex;
  flex-wrap: wrap;
  margin: 2em auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
.oshiken-feeling { justify-content: space-between; }
}
@media screen and (min-width: 1367px) {
.oshiken-feeling { width: 1000px; }
}

.oshiken-feeling_contents { width: 100%; }
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-feeling_contents { width: 47%; }
}
@media screen and (min-width: 1367px) {
.oshiken-feeling_contents { width: 450px; }
}

.oshiken-feeling_contents:nth-of-type(n+2) { margin-top: 2em; }
@media screen and (min-width: 768px) {
.oshiken-feeling_contents:nth-of-type(n+2) { margin-top: 0; }
}

.oshiken-feeling_contents figure {
  display: block;
  margin: 0;
  width: 100%;
}

.oshiken-feeling_contents figure img {
  display: block;
  height: auto;
  width: 100%;
}

.oshiken-feeling_contents h4 {
  display: block;
  text-align: center;
}

.oshiken-feeling_contents h4 span {
  background: radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), #fff 10px, transparent 100px) ,
              radial-gradient(circle at 10px calc(100% - 10px), #fff 10px, transparent 100px) ,
              linear-gradient(to bottom, #fff calc(100% - 20px), transparent calc(100% - 20px)) ,
              linear-gradient(to right, transparent 10px, #fff 10px, #fff calc(100% - 10px), transparent calc(100% - 10px));
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: var(--oshiken-pink);
  display: inline;
  font-size: 21px;
  font-weight: 600;
  line-height: 2;
  padding: .1em .4em;
  text-align: center;
}
@media screen and (min-width: 1367px) {
.oshiken-feeling_contents h4 span {
  font-size: 32px;
  line-height: 1.75;
}
}

.oshiken-feeling_contents p {
  font-size: 15px;
  line-height: 1.66;
  margin: 1em auto 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.oshiken-feeling_contents p { margin-top: 2em; }
}

@media screen and (min-width: 1367px) {
.oshiken-feeling_contents .oshiken-button { width: 320px; }
}

.oshiken-age-group {
  display: flex;
  flex-wrap: wrap;
  gap: 3em;
  margin: 2em auto 0;
  width: 90%;
}
@media screen and (min-width: 768px) {
.oshiken-age-group { justify-content: space-between; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-age-group {
  gap: 1em;
  width: 100%;
}
}
@media screen and (min-width: 1367px) {
.oshiken-age-group { width: 1000px; }
}

.oshiken-age-group_contents { width: 100%; }
@media screen and (min-width: 768px) and (max-width: 1366px) {
.oshiken-age-group_contents { width: 31%; }
}
@media screen and (min-width: 1367px) {
.oshiken-age-group_contents { width: 300px; }
}

.oshiken-age-group_contents figure {
  display: block;
  margin: 0;
  width: 100%;
}

.oshiken-age-group_contents figure img {
  display: block;
  height: auto;
  width: 100%;
}

@media screen and (min-width: 768px) {
.oshiken-age-group + .oshiken-button { width: 320px; }
}



/* page recommend --------------- */
@media screen and (min-width: 1367px) {
.archive_wrap.categorized-column_oshiken { gap: 1.9em; }
}

.archive_wrap.categorized-column_oshiken .archive_list { padding: 0; }
@media screen and (min-width: 1367px) {
.archive_wrap.categorized-column_oshiken .archive_list { width: 277px; }
}



/* hidden view --------------- */
.hidden-list { display: none; }
.hidden-list.open {
  display: flex;
  flex-wrap: wrap;
  gap: 1.9em;
}

.categorized-column_oshiken + .oshiken-button {
  margin-top: 2em;
  width: 70%;
}
@media screen and (min-width: 768px) {
.categorized-column_oshiken + .oshiken-button { width: 262px; }
}

.showmore-open-close:before { content: 'もっと見る'; }
.showmore-open-close.open:before { content: '閉じる'; }
.showmore-open-close:after { content: '＋'; }
.showmore-open-close.open:after{ content: '−'; }



/* page consultation --------------- */
@media screen and (min-width: 1367px) {
.page_consultation { margin-bottom: 200px; }
}