@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Allison-Regular";
  src: url("../fonts/Allison-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Regular";
  src: url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Medium";
  src: url("../fonts/NotoSansCJKjp-Medium.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Bold";
  src: url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Black";
  src: url("../fonts/NotoSansCJKjp-Black.woff2") format("woff2");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Allison-Regular";
  src: url("../fonts/Allison-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Regular";
  src: url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Medium";
  src: url("../fonts/NotoSansCJKjp-Medium.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Bold";
  src: url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Black";
  src: url("../fonts/NotoSansCJKjp-Black.woff2") format("woff2");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/*	cmn parts  SP
------------------------------------ */
.com-inner {
  padding: 50px 15px;
}

.com-md-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.com-ib {
  display: inline-block;
}

.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}

.anchor-mp {
  margin: -70px auto 0;
  padding-top: 70px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 15px;
}

/*  共通パーツ
------------------------------------ */
.com-tel {
  padding-left: 30px;
  background-size: 20px;
  font-size: 2.5rem;
}

.com-dot {
  background-size: 8px;
}

.news-post-item {
  width: calc(100% - 15px);
}
.news-post-item:nth-of-type(2n-1) {
  margin-left: 0;
}
.news-post-item:nth-of-type(2n) {
  margin-right: 0;
}
.news-post-link {
  padding: 15px 20px;
}
.news-post-ttl {
  margin-top: 5px;
}
.news-post-tag {
  border-width: 1px;
  margin-left: 3px;
  padding-left: 3px;
}

.com-tag {
  flex-direction: column;
  align-items: center;
}
.com-tag-item {
  width: 100%;
}
.com-tag-item:nth-of-type(n+2) {
  margin-top: 20px;
}
.com-tag-link {
  padding: 20px 10px;
}

/* =========================================

  main  SP

========================================= */
/*  top-news  SP
------------------------------------ */
#top-news .news-inner {
  padding-top: 20px;
}
#top-news .news-flx {
  width: 100%;
  align-items: flex-end;
}
#top-news .news-ttl {
  flex-direction: column;
  align-items: flex-start;
}
#top-news .news-ttl-ja {
  margin: 10px 0 0;
}
#top-news .news-btn {
  margin-right: 0;
}
#top-news .news-post {
  margin: 25px auto 0;
}

/*  top-about  SP
------------------------------------ */
#top-about {
  background-position: left bottom, right 50px;
  background-size: 60%, 85%;
}
#top-about::before {
  width: 89%;
  padding-top: 70%;
  top: 25px;
  background-size: 8px;
}
#top-about .about-inner {
  padding-top: 90%;
}
#top-about .about-ttl-en {
  top: -66px;
  left: -10px;
}
#top-about .about-ttl-ja {
  font-size: 2.2rem;
}
#top-about .about-txt-box {
  margin-top: 20px;
}
#top-about .about-btn {
  margin-top: 30px;
}
#top-about .about-img {
  width: 90%;
  margin: 15px -15px 0 auto;
  position: static;
}

/*  top-check  SP
------------------------------------ */
#top-check::before {
  background-size: 8px;
}
#top-check .check-inner {
  padding: 80px 15px;
}
#top-check .check-fuki {
  width: 172px;
  top: -53px;
  left: -8px;
}
#top-check .check-ttl {
  text-shadow: rgb(31, 31, 31) 1px 0px 0px, rgb(31, 31, 31) 0.540302px 0.841471px 0px, rgb(31, 31, 31) -0.416147px 0.909297px 0px, rgb(31, 31, 31) -0.989992px 0.14112px 0px, rgb(31, 31, 31) -0.653644px -0.756802px 0px, rgb(31, 31, 31) 0.283662px -0.958924px 0px, rgb(31, 31, 31) 0.96017px -0.279415px 0px, 3.716px 3.346px 0px rgb(31, 31, 31);
}
#top-check .check-box {
  padding: 5px;
}
#top-check .check-box::before {
  width: 109px;
  height: 81px;
}
#top-check .check-box-border {
  padding: 47px 15px 85px;
  background-size: 40px;
}
#top-check .check-btn {
  border-width: 1px;
}

/*  top-menu  SP
------------------------------------ */
#top-menu .menu-ttl-en {
  top: -52px;
  left: calc(50% - 163px);
}
#top-menu .menu-list {
  margin-top: 62px;
  flex-direction: column;
  align-items: center;
}
#top-menu .menu-list-item:nth-of-type(n+2) {
  margin: 60px auto 0;
}
#top-menu .menu-list-link {
  padding: 53px 0 30px;
}
#top-menu .menu-list-link::after {
  width: 80px;
  height: 80px;
  top: -40px;
}
#top-menu .menu-list-ttl {
  font-size: 1.8rem;
}
#top-menu .menu-list-txt {
  margin-top: 30px;
}
#top-menu .menu-btn {
  margin-top: 30px;
}

/*  top-works  SP
------------------------------------ */
#top-works .works-bg {
  background-size: 100px;
}
#top-works .works-inner {
  padding: 50px 0;
}
#top-works .works-ttl-en {
  top: -47px;
  left: calc(50% - 86px);
}
#top-works .works-wrap {
  padding: 35px 5px;
}
#top-works .works-btn {
  max-width: 250px;
  margin-top: 40px;
}

.com-works {
  padding: 0 50px;
}
.com-works-prev, .com-works-next {
  width: 40px;
  height: 40px;
  background-size: 7px;
}
.com-works-ttl {
  height: 27px;
  font-size: 1.3rem;
  line-height: 27px;
}
.com-works-ttl-before {
  bottom: -37px;
}
.com-works-ttl-after {
  top: -37px;
}

/*  com-contact  SP
------------------------------------ */
.com-contact .contact-bg {
  background-size: 50%, 70%, cover;
  background-position: left top, right bottom, center;
}
.com-contact .contact-inner {
  padding-top: 80px;
}
.com-contact .contact-ttl {
  height: 80px;
}
.com-contact .contact-ttl-en {
  left: 1px;
  top: -24px;
}
.com-contact .contact-contents {
  margin-top: 20px;
  padding: 50px 15px;
}
.com-contact .contact-contents::before {
  width: 112px;
  height: 100px;
  top: -87px;
}
.com-contact .contact-contents-sub {
  margin-top: 92px;
  padding: 26px 15px;
}
.com-contact .contact-contents-sub::before {
  top: -77px;
}
.com-contact .contact-box {
  padding: 20px 15px;
  flex-direction: column;
  align-items: center;
}
.com-contact .contact-con {
  margin: 20px auto 0;
  text-align: center;
}
.com-contact .contact-txt-dot {
  padding-top: 3px;
  background-size: 18px;
}
.com-contact .contact-btn-wrap {
  margin-top: 20px;
  flex-direction: column;
  align-items: center;
}
.com-contact .contact-btn-wrap a:nth-of-type(n+2) {
  margin: 20px auto 0;
}

/* =========================================

sub layout  SP

========================================= */
/*  reform  SP
------------------------------------ */
#reform .course .inbox {
  padding: 50px 15px;
}
#reform .q-icon {
  padding-top: 23px;
  font-size: 1.5rem;
}
#reform .q-icon-num {
  font-size: 2.6rem;
}
#reform .title {
  padding: 57.5px 15px 20px;
}
#reform .chart_btn_list {
  margin-top: 20px;
}
#reform .chart_btn_list li {
  width: 48%;
}
#reform .answer_btn {
  height: 60px;
  line-height: 60px;
}
#reform .btn_wrp {
  margin-top: 20px;
}
#reform .result_title-icon {
  font-size: 2.6rem;
  height: 60px;
  line-height: 60px;
}
#reform .result_btn-list {
  display: block;
  margin-top: 20px;
}
#reform .result_btn-list li {
  width: 100%;
}
#reform .result_btn-list li:nth-of-type(n+2) {
  margin: 20px auto 0;
}
#reform .sub {
  font-size: 1.8rem;
  margin-top: 30px;
}
#reform .main {
  font-size: 1.8rem;
}
#reform .price_info {
  margin-top: 20px;
  padding: 30px 15px;
}
#reform .price_info dt {
  font-size: 1.8rem;
}
#reform .price_info dt::after {
  width: 20px;
  height: 2px;
}

/*  menu  SP
------------------------------------ */
#menu .com-tag {
  flex-direction: column;
  align-items: center;
}
#menu .com-tag-link {
  padding: 0;
}
#menu .about-bg::before {
  width: 98%;
}
#menu .about-bg::after {
  background-size: 8px;
}
#menu .about-inner02 {
  padding: 30px 15px;
}
#menu .about-txt-box {
  margin-top: 20px;
}
#menu .com-list-bg01, #menu .com-list-bg03 {
  background-size: 100px;
}
#menu .com-list-bg01 .com-list-inner, #menu .com-list-bg03 .com-list-inner {
  padding-bottom: 120px;
}
#menu .com-list-bg02 {
  background-size: 8px;
}
#menu .com-list-flx {
  flex-direction: column;
  align-items: center;
}
#menu .com-list-flx-img {
  width: calc(100% - 30px);
}
#menu .com-list-flx-img::before {
  width: 50px;
  height: 50px;
  right: -15px;
  top: -15px;
}
#menu .com-list-flx-contents {
  margin: 20px auto 0;
}
#menu .com-list-ttl {
  text-align: center;
}
#menu .com-list-txt-box {
  margin-top: 15px;
}
#menu .com-list-solution {
  margin-top: 30px;
}
#menu .com-list-solution-list {
  flex-direction: column;
  align-items: center;
}
#menu .com-list-solution-list li:nth-of-type(n+2) {
  margin: 20px auto 0;
}
#menu .com-list-solution-list-ttl-sm {
  font-size: 1.4rem;
}
#menu .com-list-note {
  margin-top: 60px;
  padding: 20px 0;
  background-size: 8px;
}

/*  works  SP
------------------------------------ */
#works .com-works-item {
  background-size: 8px;
}
#works .com-works-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#works .com-works-link {
  padding: 30px 15px;
}
#works .works-box {
  padding: 30px 20px;
  background-size: 8px;
}
#works .works-flx {
  margin-top: 20px;
  flex-direction: column;
  align-items: center;
}
#works .works-flx-lg {
  margin-top: 20px;
}
#works .works-txt {
  margin-top: 20px;
  padding: 20px 15px;
}
#works .detail-inner {
  padding: 20px 0 50px;
}
#works .detail-before {
  width: 55%;
  margin-right: auto;
  padding-top: 36%;
}
#works .detail-after {
  width: 100%;
  margin: 50px auto 0;
  padding-top: 66%;
}
#works .com-works-after-lg {
  margin-top: 0;
}
#works .pagenation-inner {
  padding: 0 15px;
}

/*  information  SP
------------------------------------ */
#information .message {
  padding: 20px 0 0;
}
#information .message-bg {
  padding: 50px 0;
}
#information .message-bg::before {
  background-size: 8px;
}
#information .message-txt-wrap {
  margin-top: 20px;
}
#information .message-txt-wrap::before {
  width: 96%;
}
#information .message-inner {
  padding: 30px 30px 170px 15px;
}
#information .message-img {
  width: 280px;
}
#information .features {
  padding-bottom: 50px;
  background-size: 130px;
}
#information .features-list {
  margin-top: 30px;
}
#information .features-list-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#information .features-list-contents {
  margin: 15px auto 0;
}
#information .features-list-ttl-num {
  font-size: 3rem;
}
#information .features-list-ttl-num::after {
  width: 30px;
}
#information .features-list-ttl-ja {
  margin-top: 10px;
  font-size: 2rem;
}
#information .information-box {
  margin-top: 30px;
  padding: 20px;
}

/*  news  SP
------------------------------------ */
#news .com-ttl02 {
  font-size: 1.8rem;
}
#news .com-tag-link {
  padding: 13px 34px;
}/*# sourceMappingURL=style_sp.css.map */