/**
 * フロントとエディタの両方に適応するスタイル
 */

@charset "UTF-8";

/*共通*/
body * {
  font-feature-settings: "palt";
}

a {
  text-decoration: none !important;
}

@media (hover: hover) {
  a:hover,
  .ek-linked-block:hover {
    opacity: 0.7 !important;
    cursor: pointer;
  }
  }
  /* :hoverが使えない端末を想定 */
  @media (hover: none) {
    a:active,
  .ek-linked-block:active {
    opacity: 0.7 !important;
  }
  }

/*リンクカラーリセット*/
.link-color-unset>a {
  color: unset !important
}

sub,
sup {
  font-size: 10px;
  letter-spacing: .1em;
  display: block;
}

/*幅広オーバーライド from 1230px to 1200px*/
@media (min-width: 1238px) {
  .alignwide {
    left: -85px;
    width: calc(100% + 170px);
  }
}

/*リストスタイルnone*/
ul.list-style-none {
  list-style: none !important;
  padding-left: 0 !important;
}
/*リストスタイルnone*/

/*リストスタイル四角*/
ul.is-style-square {
  list-style: none;
}

ul.is-style-square li {
  position: relative;
}

ul.is-style-square li:before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  position: absolute;
  border: 1px solid var(--color_text);
  top: 0.4em;
  left: -1.5em;
}

/*リストスタイル四角*/

/*●付きアコーディオン
.beg-aq-aco summary:before {
  color: var(--color_list_good);
  content: "\ea56";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  border-radius: 0;
  display: block;
  font-family: icomoon;
  position: absolute;
  width: 1em;
  height: 1em;
  left: 35px;
  top: 40px;
}

.beg-aq-aco {
  font-size: 1.125rem;
}

.beg-aq-aco summary {
  background: #fff;
  padding: 35px 70px;

}

.beg-aq-aco .swell-block-accordion__body {
  background: #fff;
  padding: 0px 70px 35px;
}

.beg-aq-aco .icon-plus:before,
.beg-aq-aco .icon-minus:before {
  font-size: 40px;
  color: #FFD255;
}
*/

/*swellのリッチカラムセンター配置*/
.swell-rich-col-center .swell-block-columns__inner {
  justify-content: center !important;
}

/*swellのリッチカラムspace-around配置*/
.swell-rich-col-around .swell-block-columns__inner {
  justify-content: space-around !important;
}

/*swellのリッチカラムspace-between配置*/
.swell-rich-col-between .swell-block-columns__inner {
  justify-content: space-between !important;
}

/*swellのリッチカラム幅均等配置(リッチカラムの幅設定は効かなくなる)*/
.swell-rich-col-evenly .swell-block-columns__inner .swell-block-column {
  flex: 1 !important;
}

/* 投稿リストブロックのカード型とサムネイル型を4,5列表示にする */
@media (min-width: 960px) {

  .-col4 .-type-card.-pc-col3 .p-postList__item,
  .-col4 .-type-thumb.-pc-col3 .p-postList__item {
    width: calc(100% / 4);
  }

  .-col5 .-type-card.-pc-col3 .p-postList__item,
  .-col4 .-type-thumb.-pc-col3 .p-postList__item {
    width: calc(100% / 5);
  }
}

/*テキストの前後に＼/をつける*/
.text-decoration-slash {
  position: relative;
}

/*背景スタイル*/
/*台形*/
.trapezoid-left:before {
  content: "";
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  clip-path: polygon(0 48%, 100% 0, 100% 100%, 0% 100%);
}

.text-decoration-slash:before,
.text-decoration-slash:after {
  content: "";
  position: absolute;
  width: 19px;
  height: 1.4px;
  background-color: black;
  top: 7px;
}

.text-decoration-slash:before {
  transform: rotate(55deg) translate(-11px, 11px);
  transform-origin: 0 0;

}

.text-decoration-slash:after {
  transform: rotate(-55deg) translate(0px, -7px);
  transform-origin: 100% 0;
}

.f-before-btn a {
  width: 280px;
  padding: 23px 50px !important;
  border-radius: 34.5px !important;
}

/*丸角*/
.round-text {
    background: #fff;
    border-radius: 19px;
    padding: 8px 0px 9px;
}
.round-text.gray-title {
    border-radius: 19px;
    padding: 8px 0px 9px;
	width:194px;
	margin:0 auto;
}

/*共通*/


/*ユーティリティ*/
.width-100 {
  width: 100%;
}

.sec-child-width-100 :nth-child(n+2) {
  width: 100%;
}

.ps-relative {
  position: relative;
}

.pd-0 {
  padding: 0 !important;
}

.pd-04em {
  padding: .4em !important;
}

.pd-05em {
  padding: .5em !important;
}

.pd-l-04em {
  padding-left: .4em !important;
}

.pd-l-0 {
  padding-left: 0 !important;
}

.pd-r-0 {
  padding-right: 0 !important;
}

.mg-0 {
  margin: 0 !important;
}

.mg-b-0 {
  margin-bottom: 0 !important;
}

.mg-b-125em {
  margin-bottom: 1.25em !important;
}

.mg-b-08em {
  margin-bottom: .8em !important;
}

.mg-b-07em {
  margin-bottom: .7em !important;
}

.mg-l-auto {
  margin-left: auto !important;
}

.mg-auto {
  margin: 0 auto !important;
}

.fw-light {
  font-weight: 400;
}

.fw-normal {
  font-weight: 500;
}

.fw-bold {
  font-weight: 600;
}

.text-align-center {
  text-align: center;
}

.text-align-right {
  text-align: right;
}

.text-align-left {
  text-align: left;
}

.text-align-justify {
  text-align: justify;
}

.text-align-last-justify {
  text-align-last: justify;
  text-justify: inter-ideograph;
}

.align-item-cnt {
  display: flex !important;
  align-items: center !important;
}

.justify-content-cnt {
  display: flex !important;
  justify-content: center !important;
}

.justify-content-btw {
  display: flex !important;
  justify-content: space-between !important;
}

.w-article {
  width: var(--article_size);
}

.d-inline-block {
  display: inline-block;
}

.d-block {
  display: block;
}

.d-flex {
  display: flex;
}

.obj-fit-cover {
  object-fit: cover;
}

.text-narrow-08 {
  transform: scale(0.8, 1);
}

.zindex-1 {
  z-index: 1;
}

.border-bt-dotted {
  border-bottom: 1px dotted;
}

.ovf-visible,
.ovf-visible * {
  overflow: visible;
}

/*スクロールバー非表示*/
.scb-none::-webkit-scrollbar {
  display: none;
}

.scb-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/*改行禁止*/
.nowrap {
  white-space: nowrap !important;
}

/*縦書き*/
.is-style-vertical-text {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/*縦書き*/
.icon-posted:before {
  display: none;
}

.p-postList__meta :before {
  display: none;
}

/*テキスト波線*/
.text-with-wave {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--color_main);
  text-underline-offset: 6px;
}

/*破線*/
.dotted01-bottom {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.dotted01-top {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px;
  background-repeat: repeat-x;
  background-position: left top;
}

.dotted01-right {
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 1px 3.8px;
  background-repeat: repeat-y;
  background-position: right top;
}

.dotted01-left {
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 1px 3.8px;
  background-repeat: repeat-y;
  background-position: left top;
}

.dotted01-top-bottom {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px), linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px, 3.8px 0.8px;
  background-repeat: repeat-x, repeat-x;
  background-position: left top, left bottom;
}

/*ジグザグ境界線
 * backgroundの色は背景色によって変える
 * linera-gradientで角度変える*/
 .zigzag-under::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 100%;
  height: 20px;
  background: linear-gradient(30deg, transparent 75%, #5cb531 75%) 0 0, linear-gradient(150deg, #5cb531 25%, transparent 25%) 0 0;
  background-size: 40px 40px;
}

/*投稿リストの一個目を消す*/
.disp-none-first-post ul>li:first-child {
  display: none;
}

/*
 * 画像の上に文字を重ねる
 * 以下の構成でグループに指定
 * グループ
 *  -画像
 *  -テキスト
 * */

.is-style-overlay-text {
  position: relative;
}

.is-style-overlay-text div:nth-child(n+2) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.overlay-text-parent {
  position: relative;
}

.overlay-text-child-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*ユーティリティ*/

/*フルワイドのサイト幅を1200pxに*/
@media only screen and (min-width: 1201px) {
  .swell-block-fullWide__inner.l-container {
    width: 1200px;
    max-width: 1200px;
  }
}

/*swellで要素をフルワイド*/
.swl-custom-fullwide {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: calc((100vw - var(--container_size, 0px)) / -2);
}
/*max-widthはサイト幅設定によって変更する
*1030px + 64px = 1094px*/
@media (max-width: 1094px) {
  .swl-custom-fullwide {
    left: calc(var(--swl-pad_container, 0)*-1);
  }
}

/*ヘッダー*/
div:not(.top) header#header {
    background: url(https://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/06/page-header-bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    height: 26.1666vw;
    max-height: 400px;
}
div:not(.top) header#header:before {
    content: "";
    background: url(https://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/05/mv-title-pc-2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    width: min(597.0366px, 49.75vw);
    height: min(43.0151px, 3.58vw);
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-48%, 0%);
}

.l-header__logo {
    display: none!important;
}
@media(min-width:1200px){
	.l-header .l-container {
		max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
	}
}
.l-header__inner {
    padding-top: 50px;
}
.c-gnav{
	flex-wrap:wrap;
	height:auto;
	row-gap: 29px;
	width:240px;
}
.c-gnav>.menu-item {
    width: 50%;
    text-align: left;
}
.c-gnav>.menu-item>a{
	padding:0;
}
.c-gnav>.menu-item>a:after {
    bottom: -4px;
}
.c-gnav>.menu-item>a:hover:after {
  width: 85%; /* ホバー時の幅 */
}

img.gnav-item-icon {
    padding-right: 9.6px;
}
.c-gnav>.menu-item>a .ttl {
    font-size: 15px;
	font-weight:600;
}

/*TOP*/
@media screen and (min-width: 1200px) {
    .p-mainVisual__inner {
        max-height: 90vh;
    }
}
#main_visual:before {
    content: "";
    background: url(http://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/05/mv-title-pc-2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(49.75vw, 597.0366px);
	height: min(3.58vw, 43.0151px);
    transform: translate(-50%, -50%);
    z-index: 2;
}

.top-catch-wp {
    top: -45px;
}


@media(min-width: 960px){
	.top-catch-col-right{
		padding-left: 18px!important;
	}
	.top-catch-col-left-img img {
    margin-left: -37px;
	}
}

.request-btn {
    width: 204px;
    height: 204px;
    border-radius: 50%;
	z-index: 99;
}
.request-btn a {
    background: linear-gradient(-37.472deg, #005aff -89.6417%, #00b1ff 25.4583%, #005aff 89.6417%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
	padding-top: 20px;
}
#custom_html-3 {
    position: fixed;
    bottom: 5em;
    right: var(--swl-pad_container, 0);
    z-index: 98;
	transition: opacity 0.3s ease;
}
#custom_html-3.hidden {
  opacity: 0;
  pointer-events: none;
}
.top-menu-wp-top-wp{
	background: #fff;
	border-radius: 77.5614px 77.5614px 0 0;
}
.top-menu-wp-top > div {
    padding: 80px 141px 0;
}
.top-menu-service {
    border: 1px solid #d2d2d2;
    border-radius: 5px;
    padding: 7px;
}
.top-menu-exam {
    background-color: #d2d2d2;
    padding: 36.7px 10px 23.8px;
    width: 100%;
    border-radius: 7px;
}
.top-menu-exam-border{
	position:relative;
}
.top-menu-exam-border:before {
    content: "";
    background: #fff;
    height: 1px;
    width: 85.67%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.top-reason-wp {
   border-radius: 50%;
   width: 326px;
   height: 326px;
   display: flex;
   align-items: center;
   justify-content: center;
	border: 1px solid #000;
 }

/*.top-menu-exam-1 p {
    height: 78px;
    align-items: center;
    display: flex;
    justify-content: center;
	padding: 0 !important;
}
/*
/*.top-menu-dline{
    width: 493px;
    margin: 0 auto;
    padding: 21.7px 0 25.4px 0!important;
}*/

.top-menu-wp-btm-wp{
	background: var(--color_main);
    border-radius: 0 0 77.5614px 77.5614px;
}

.top-menu-wp-btm > div {
	padding: 0px 114px 42px;
}

.top-menu-btm-note {
    border-color: #fff!important;
    padding: 14px 0px 16.8px 0!important;
    width: 537px;
    margin: 0 auto;
}

.top-flow-wp {
    width: 790.4559px;
    margin: 0 auto;
	position:relative;
}

.top-flow-wp > div {
    background-color: var(--color_main);
}

.top-flow-wp:after {
    content: "";
    background: url(http://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/05/flow-arrow.webp);
    position: absolute!important;
    top: 75%;
    left: 50%;
    width: 82px;
    height: 64px;
    background-repeat: no-repeat;
    transform: translate(-50%, 0px);
}

.top-title-profile {
    align-items: baseline;
}

@media(min-width: 960px){
	.top-title-profile {
		padding-left: 14.6px;
	}
}

.top-profile-wp-all{
	background: var(--color_main);
    border-radius: 80.5517px;
}
.top-profile-wp > div {
    padding: 66px 100px 69px 81px;
}

.profile-photo > figure {
    margin: 0!important;
}

.top-sns-wp-all{
	background: #fff;
	border-radius: 80.5517px;
	top:-17.5px;
	position:relative;
}

.top-sns-wp > div {
    padding: 84px 120px 49px 136px;
	
}

.top-sns-title * {
    text-align: left!important;
}

.top-sns-icon {
    column-gap: 1.687em;
    align-items: center;
}

.top-sns-btn {
    --the-btn-radius: 10px;
    --the-solid-shadow: none;
    --the-btn-color2: #d2d2d2;
}
.top-sns-btn a {
    font-weight: 400;
    font-size: 0.875em;
	width: 478px;
}
.top-sns-btn a span {
    display: flex;
    align-items: center;
	justify-content:center;
}
.top-sns-btn .swl-inline-icon {
    width: 58.1891px;
    height: 40.7324px;
}
.swl-inline-icon:after {
    max-width: unset;
}
/*youtube*/
.yrc-item-adjacent .yrc-thumb {
    width: 47%!important;
}
.yrc-item-adjacent .yrc-item-meta {
    width: 53%!important;
}
li.yrc-video.yrc-item-large.yrc-item-adjacent.yrc-item.yrc-just-listed.yrc-full-scale {
    width: 100% !important;
}
.__grid .yrc-item.yrc-item-adjacent .yrc-item-title{
	white-space:wrap!important;
}
.yrc-item-title{
	font-size:1em!important;
    margin-bottom: 0.4em !important;
}
#yrc-shell-0 .yrc-section-action, #yrc-shell-0 .yrc-section-action, #yrc-shell-0 .yrc-load-more-button, .yrc-search button, .yrc-player-bar, .yrc-player-bar span, .yrc-search-form-top button {
    border-radius: 18px;
}

/*コンタクト*/
.contact-title {
    width: min(58.5vw, 642px);
    margin: 0 auto;
    border-radius: 54.4999px;
    padding: 34px 0 24.5px 0!important;
}
@media(min-width:960px){
	.contact-attention {
    width: 80%;
    margin: 0 auto;
	}
}
/*コンタクトフォーム*/
form.wpcf7-form.init {
    color: #000;
}

span.haifun {
    padding: 4px;
}

.contact-form-wp {
    margin-bottom: 3.375em;
}

.contact-form-row {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}

.contact-form-label {
    flex-basis: 33%;
    display: flex;
    justify-content: center;
    align-items: center;
	position:relative;
}

.contact-form-items {
    flex-basis: 67%;
    padding: 24px 117px 24px 7px;
    max-width: 67%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.file-field .contact-form-items {
    column-gap: 1em;
    padding-right: 0;
}
.contact-form-item.limit-text {
    width: 55%;
}
.contact-form-item.file {
    width: 45%;
}
span.wpcf7-list-item-label {
    line-height: 1;
}

span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item {
    margin-left: 0;
}

span.wpcf7-form-control.wpcf7-radio.matter {
    display: flex;
    flex-flow: column;
}

.matter-field .contact-form-items {
    padding-left: 27px;
}

span.wpcf7-form-control.wpcf7-radio.contact-kind .wpcf7-list-item.first {
    margin-left: 0;
}

.contact-kind .wpcf7-list-item {
    margin: 0 0 0 0em;
}

.contact-kind .wpcf7-list-item.last label {
    margin-right: 0px;
}

.contact-form-item label {
    margin-right: 7px;
}


.mail-field .contact-form-item {
    flex: 1;
}


.phone-field .contact-form-item p {
    display: flex;
}


.phone-field .contact-form-item p span.wpcf7-form-control-wrap input {
    width: 100%;
}

.address-field .contact-form-items {
    flex-flow: column;
    align-items: flex-start;
    gap: 0.5em;
}

.address-field .contact-form-item {
    width: 100%;
}

input.zipcode {
    width: 179px;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
    content: " ";
}

.contact-form-requred {
    color: #fff;
    background-color: #ff6e0a;
    border-radius: 5px;
    width: 42px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    font-size: 0.875em;
    position: absolute;
    right: 0;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.city,
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.address {
    width: 90%;
}

textarea.wpcf7-form-control.wpcf7-textarea.message {
    height: 117px;
    width: 393px;
}

.contact-form-under {
    text-align: center;
    margin-bottom: 2.8125em;
}

.contact-form-under a {
    color: #007DFF;
}

.contact-form-submit.confirm p {
    margin: 0 auto;
    flex-direction: row;
}

.contact-form-submit>p {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    flex-wrap: wrap;
}

div#wpcf7-f611-p612-o1 input.wpcf7-form-control.wpcf7-previous.return, input.wpcf7-form-control.wpcf7-submit {
    flex: 0 0 calc(50% - 20px);
}
input.wpcf7-form-control.wpcf7-submit {
    margin: 10px;
    box-sizing: border-box;
}
input.wpcf7-form-control.wpcf7-previous.return {
    flex: 0 0 40%;
}

.contact-form-submit input.wpcf7-form-control.wpcf7-submit, input.wpcf7-form-control.wpcf7-previous.return {
    color: #fff;
    border-radius: 5px;
    padding: 27.5px 60px;
    line-height: 1;
    background: #000;
}

.contact-form-submit input.wpcf7-form-control.wpcf7-submit:hover {
    opacity: .7;
}


.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
    padding-right: 1em;
}

.privacy-field.contact-form-row .contact-form-label {
    padding-left: 5px;
}

input.wpcf7-form-control.wpcf7-file {
    padding: 12px 8px;
    width: 100%;
}

/*フッター前*/
.w-beforeFooter{
	margin-top:0!important;
}
.f-before-contact-wp {
    padding: 49.6px 0 39px!important;
    border-radius: 43.7675px;
	width:725px;
	margin:0 auto;
}

.f-before-contact-btn {
    --the-btn-radius: 54.4999px;
}
.f-before-contact-btn a {
    padding: 33px 0 24px;
    width: 642px;
	box-shadow: 0px 0px 5.4121px 2px rgba(135, 135, 135, 0.7);
}
.f-before-contact-btn a sub{
	font-size:14px;
}

.f-before-contact-btn .swl-inline-icon:after {
    background: var(--color_main);
	margin-left: 1.4375rem;
}

.f-before-info-links {
    padding-right: 165px!important;
}
.f-before-info-nav {
    flex-wrap: wrap;
    gap: 1.6875em 0;
}
.f-before-info-nav li {
    width: 50%!important;
    margin: 0!important;
}
i.gnav-linkitem-icon {
    content: "";
    display: inline-block;
    background: url(http://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/05/nav-arrow.svg);
    width: 9.7px;
    height: 9.7px;
    background-repeat: no-repeat;
    background-size: contain;
	margin-right:9px;
}
.f-before-snsicon {
    align-items: center;
    column-gap: 1.6875em;
}
.f-before-info-company-inner {
    align-items: center;
    justify-content: flex-start;
    column-gap: 3.125em;
}
.f-before-info-company-content{
	position:relative;
}
.f-before-info-company-content:before {
    content: "";
    height: 100%;
    width: 2px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -0.635625em;
}
/* SwellのスマホとPC切り替わり */
@media (min-width: 960px) {}

@media (max-width: 959px) {

  /*text-align*/
  .sp-text-align-center {
    text-align: center !important;
  }

  .sp-text-align-justify {
    text-align: justify !important;
  }

  /*font-size*/
  .sp-fs-08em {
    font-size: 0.8em !important;
  }

  .sp-fs-085em {
    font-size: 0.85em !important;
  }

  .sp-fs-09em {
    font-size: 0.9em !important;
  }

  .sp-fs-095em {
    font-size: 0.95em !important;
  }

  .sp-fs-1em {
    font-size: 1em !important;
  }

  .sp-fs-11em {
    font-size: 1.1em !important;
  }

  .sp-fs-12em {
    font-size: 1.2em !important;
  }
	
  .sp-fs-125em {
    font-size: 1.25em !important;
  }

  .sp-fs-13em {
    font-size: 1.3em !important;
  }

  .sp-fs-135em {
    font-size: 1.35em !important;
  }

  .sp-fs-14em {
    font-size: 1.4em !important;
  }

  .sp-fs-15em {
    font-size: 1.5em !important;
  }

  .sp-fs-16em {
    font-size: 1.6em !important;
  }

  .sp-fs-17em {
    font-size: 1.7em !important;
  }

  .sp-fs-18em {
    font-size: 1.8em !important;
  }

  .sp-fs-19em {
    font-size: 1.9em !important;
  }

  .sp-fs-20em {
    font-size: 2.0em !important;
  }

  .sp-fs-21em {
    font-size: 2.1em !important;
  }

  .sp-fs-25em {
    font-size: 2.5em !important;
  }

  .sp-fs-29em {
    font-size: 2.9em !important;
  }

  .sp-fs-3em {
    font-size: 3em !important;
  }

  .sp-fs-48em {
    font-size: 4.8em !important;
  }

  .sp-fs-5em {
    font-size: 5em !important;
  }
	
  .sp-fs-08rem {
    font-size: 0.8rem !important;
  }

  .sp-fs-085rem {
    font-size: 0.85rem !important;
  }

  .sp-fs-09rem {
    font-size: 0.9rem !important;
  }

  .sp-fs-095rem {
    font-size: 0.95rem !important;
  }

  .sp-fs-1rem {
    font-size: 1rem !important;
  }

  .sp-fs-11rem {
    font-size: 1.1rem !important;
  }

  .sp-fs-12rem {
    font-size: 1.2rem !important;
  }
  
  .sp-fs-125rem {
    font-size: 1.25rem !important;
  }

  .sp-fs-13rem {
    font-size: 1.3rem !important;
  }

  .sp-fs-135rem {
    font-size: 1.35rem !important;
  }

  .sp-fs-14rem {
    font-size: 1.4rem !important;
  }

  .sp-fs-15rem {
    font-size: 1.5rem !important;
  }

  .sp-fs-16rem {
    font-size: 1.6rem !important;
  }

  .sp-fs-17rem {
    font-size: 1.7rem !important;
  }

  .sp-fs-18rem {
    font-size: 1.8rem !important;
  }

  .sp-fs-19rem {
    font-size: 1.9rem !important;
  }

  .sp-fs-20rem {
    font-size: 2.0rem !important;
  }

  .sp-fs-21rem {
    font-size: 2.1rem !important;
  }

  .sp-fs-25rem {
    font-size: 2.5rem !important;
  }

  .sp-fs-29rem {
    font-size: 2.9rem !important;
  }

  .sp-fs-3rem {
    font-size: 3rem !important;
  }

  .sp-fs-48rem {
    font-size: 4.8rem !important;
  }

  .sp-fs-5rem {
    font-size: 5rem !important;
  }
  /*margin*/
	
  .sp-margin-0{
		margin:0 !important;
  }
  .sp-margin-0-auto {
    margin: 0 auto !important;
  }

  .sp-mg-bt-0 {
    margin-bottom: 0 !important;
  }

  .sp-mg-bt-05em {
    margin-bottom: .5em !important;
  }

  .sp-mg-bt-1em {
    margin-bottom: 1em !important;
  }

  .sp-mg-bt-2em {
    margin-bottom: 2em !important;
  }

  .sp-mg-bt-3em {
    margin-bottom: 3em !important;
  }

  .sp-mg-bt-4em {
    margin-bottom: 4em !important;
  }

  .sp-mg-lf-0 {
    margin-left: 0 !important;
  }

  /*padding*/
  .sp-pd-0 {
    padding: 0 !important;
  }

  .sp-pd-05em {
    padding: 0.5em !important;
  }

  .sp-pd-1em {
    padding: 1em !important;
  }

  .sp-pd-l-04em {
    padding-left: 0.4em !important;
  }

  /*width*/
  .sp-width-91 {
    width: 91% !important;
  }

  .sp-width-90 {
    width: 90% !important;
  }

  .sp-width-80 {
    width: 80% !important;
  }

  /*height*/
  .sp-height-0 {
    height: 0 !important;
  }

  .sp-height-1em {
    height: 1em !important;
  }

  .sp-height-15em {
    height: 1.5em !important;
  }

  .sp-height-2em {
    height: 2em !important;
  }

  .sp-height-25em {
    height: 2.5em !important;
  }

  .sp-height-3em {
    height: 3em !important;
  }

  .sp-height-35em {
    height: 3.5em !important;
  }

  .sp-height-4em {
    height: 4em !important;
  }
	
  .sp-height-45em {
    height: 4.5em !important;
  }

  .sp-height-5em {
    height: 5em !important;
  }

  .sp-height-6em {
    height: 6em !important;
  }
	
  .sp-height-7em {
    height: 7em !important;
  }

  .sp-height-0 {
    height: 0 !important;
  }

  .sp-height-1rem {
    height: 1rem !important;
  }

  .sp-height-125rem {
    height: 1.25rem !important;
  }

  .sp-height-15rem {
    height: 1.5rem !important;
  }

  .sp-height-2rem {
    height: 2rem !important;
  }

  .sp-height-25rem {
    height: 2.5rem !important;
  }

  .sp-height-3rem {
    height: 3rem !important;
  }

  .sp-height-35rem {
    height: 3.5rem !important;
  }

  .sp-height-4rem {
    height: 4rem !important;
  }
	
  .sp-height-45rem {
    height: 4.5rem !important;
  }

  .sp-height-5rem {
    height: 5rem !important;
  }

  .sp-height-55rem {
    height: 5.5rem !important;
  }

  .sp-height-6rem {
    height: 6rem !important;
  }
	
  /*line-height*/
  .sp-lh-1 {
    line-height: 1.1 !important;
  }
  .sp-lh-12 {
    line-height: 1.2 !important;
  }
  .sp-lh-13 {
    line-height: 1.3 !important;
  }
  .sp-lh-14 {
    line-height: 1.4 !important;
  }
  .sp-lh-15 {
    line-height: 1.5 !important;
  }
  .sp-lh-2 {
    line-height: 2 !important;
  }

  /*letter-space*/
  .sp-ls-0 {
    letter-spacing: 0 !important;
  }
	.sp-ls-002{
		letter-spacing:0.02em!important;
	}
	.sp-ls-006em{
		letter-spacing:0.06em!important;
	}

  /*scale*/
  .sp-scale-x-09 {
    transform: scaleX(0.9) !important;
  }

  /*flex*/
  .sp-flex-wrap {
    flex-wrap: wrap !important;
  }

  .sp-flex-nowrap {
    flex-wrap: nowrap !important;
  }

  /*gap*/
  .sp-row-gap-2em {
    row-gap: 2em !important;
  }

  .sp-figure-width img {
    width: 70vw !important;
  }
	/*spでSwellのフルワイドのpadding取る*/
  .sp-swellfullwide-pd0 .swell-block-fullWide__inner.l-container {
    padding: 0 !important;
  }
	
  /*ヘッダー*/
  .l-header__inner {
		padding-top: 20px;
		padding-right: 16px;
  }
	
   .request-btn {
    width: min(30vw, 125px);
    height: min(30vw, 125px);
	   font-size:1em!important;
   }
	#custom_html-3 {
    bottom: 12em;
    transition: bottom 0.5s ease, opacity 0.3s ease;
	}
	
   .top-menu-wp-top-wp {
       border-radius: 56.3468px 56.3468px 0 0;
   }
	.top-menu-wp-btm-wp{
    border-radius: 0 0 56.3468px 56.3468px;
	}
  .top-menu-wp-top > div {
	  padding: 2.5em 8.2vw 0;
  }
 /*
  .top-menu-new-right {
    text-align: center;
  }
	*/
	/*
	.top-menu-exam-1 {
		position:relative;
		top: -6px;
		margin-bottom: 24px !important;
	}
	.top-menu-exam-1 p {
    height: 14.35vw;
	}
	*/
	.top-menu-exam {
    padding-top: 27px;
		padding-bottom: 27px;
	}
	.top-menu-exam-border:before {
    width: 95%
	}
	/*
	.top-menu-exam-2 {
    margin-bottom: 8px!important;
	}
	.top-menu-dline {
    width: 100%;
	}
	*/
	.top-menu-wp-btm > div {
		padding: 0px 9.64vw 55px;
	}
	.top-menu-btm-note {
    padding: 20px 21px 16.8px !important;
    width: 100%;
    line-height: 1.6;
	}
	.text-round-col-wp {
    --swl-clmn-mrgn--x: 10px !important;
	}
	.round-text {
    font-size: 1.1875em !important;
	}
	.top-reason-wp {
     width: 60vw;
     height: 60vw;
	 margin: 0 auto;
     padding: 40px 15px 30px !important;
     position: relative;
	}
	.top-reason-border {
    width: 60vw;
	}
	
	.top-flow-wp {
    width: 100%;
	}
	.top-step {
    align-items: center;
    justify-content:center;
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    font-size: 0.85em !important;
	}
	.top-step .swl-fz{
		font-size:250%!important;
	}
	.top-flow-wp > div {
    padding: 20px 23px 26px;
	}
	.top-profile-wp > div {
    padding: 12.82vw 12.82vw 25.6vw;
	}
	.top-title-profile {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 1em;
	}
	.profile-photo img {
    width: 100% !important;
	}
	.top-flow-wp-right .has-subtext{
    display: flex;
    justify-content: flex-start;
    align-items: center;
	}
	.top-flow-wp-right .has-subtext .swl-fz{
		font-size: 1rem!important;
	}
	.top-flow-wp-right .has-subtext.has-pad .swl-fz {
        padding-left: 1.625em;
    }
	.top-flow-wp-right .has-subtext  > :first-child {
		white-space: nowrap;
	}
	.top-flow-wp-right {
		padding-left: 1rem!important;
	}
	.top-flow-wp:after {
		top: 79%;
	}
	.top-title-profile-img figure {
		margin: 0 !important;
	}
	.top-sns-wp-all .swell-rich-col-between > div{
		justify-content:center!important;
	}
	.top-sns-wp > div {
    padding: 67px 9.87vw 82px;
	}
	.top-sns-icon{
		justify-content:center;
	}
	.top-sns-icon a {
    align-items: center;
    display: flex;
	}
	.top-sns-btn a {
    width: 100%;
    padding: 1.625em 1.625em 1.2em 1.625em;
	}
	.top-sns-btn a span {
    flex-direction: column;
    row-gap: 0.3em;
	}
	
	.top-voice-col{
    padding: 1.625em 2.375em 1.1875em 2em;
	}
	
	/*フッター直前*/
	.f-before-contact-wp {
    padding: 38px 8.97vw 38px !important;
    width: 100%;
    }
	.f-before-contact-btn a {
    padding: 24px 0 24px;
    width: 100%;
    line-height: 1.1;
	}
	.f-before-contact-btn a sub {
    font-size: 14px;
    display: none;
	}
	.f-before-contact-btn .swl-inline-icon:after {
    margin-left: 0.4375rem;
	}
	.f-before-info-nav{
		display: none;
	}
	.f-before-info-links {
    padding-right: 0px !important;
    display: flex;
    justify-content: center;
		margin-bottom: 3.31em !important;
	}
	.f-before-info-company-inner {
    justify-content: center;
    column-gap: 0;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2.625em;
	}
	.f-before-info-company-content {
    width: 100%;
	}
	.f-before-info-company-content:before {
    height: 2px;
    width: 100%;
    top: -1.4em;
    left: 0;
	}
	/*ハンバーガー展開*/
	.l-header__inner {
    padding-top: 4px;
		padding-right:4px;
	}
	[data-scrolled=true] div.top [data-spfix="1"] .l-header__inner {
        color: #000;
    } 
	.p-spMenu__body {
    padding-top: 2em;
	}
	.c-widget__title.-spmenu {
    display: none;
	}
	.p-spMenu__nav .c-listMenu a:before {
		display: none;
	}
	[data-scrolled=true] .top [data-spfix="1"] .l-header__inner .l-header__logo{
        display:flex!important;
    }
	.p-spMenu__closeBtn{
		top:7px;
		right:10px!important;
	}
	
	/*コンタクト*/
	.contact-attention .cap_box_content {
		padding: 15px;
	}
	.contact-form-submit input.wpcf7-form-control.wpcf7-submit, input.wpcf7-form-control.wpcf7-previous.return {
        padding: 1.75em 1.8em;
        font-size: 0.875em;
    }
	.contact-title {
        padding: 1.4em 0 1.1em 0 !important;
	}
	.file-field .contact-form-items {
    flex-direction: column;
    align-items: flex-start;
	}
	.contact-form-item.file {
		width: 100%;
	}
	.contact-form-item.limit-text {
    width: 100%;
	}
}
/* SwellのスマホとPC切り替わり */

/*小デバイス*/
@media (max-width: 768px) {

  /*text-align*/
  .xs-text-align-center {
    text-align: center !important;
  }

  .xs-text-align-justify {
    text-align: justify !important;
  }

  /*font-size*/
  .xs-fs-06em {
    font-size: 0.6em !important;
  }

  .xs-fs-07em {
    font-size: 0.7em !important;
  }

  .xs-fs-08em {
    font-size: 0.8em !important;
  }

  .xs-fs-09em {
    font-size: 0.9em !important;
  }

  .xs-fs-095em {
    font-size: 0.95em !important;
  }

  .xs-fs-01em {
    font-size: 1em !important;
  }

  .xs-fs-12em {
    font-size: 1.2em !important;
  }

  .xs-fs-13em {
    font-size: 1.3em !important;
  }

  .xs-fs-17em {
    font-size: 1.7em !important;
  }

  .xs-fs-18em {
    font-size: 1.8em !important;
  }

  /*line-height*/
  .xs-lh-10 {
    line-height: 1;
  }

  .xs-lh-11 {
    line-height: 1.1;
  }

  .xs-lh-12 {
    line-height: 1.2;
  }

  .xs-lh-13 {
    line-height: 1.3;
  }

  .xs-lh-14 {
    line-height: 1.4;
  }

  .xs-lh-15 {
    line-height: 1.5;
  }

  .xs-lh-2 {
    line-height: 2;
  }

  .xs-lh-25 {
    line-height: 2.5;
  }

  /*margin*/
  .xs-mg-bt-0 {
    margin-bottom: 0 !important;
  }

  .xs-mg-bt-05em {
    margin-bottom: 0.5em !important;
  }

  .xs-mg-bt-1em {
    margin-bottom: 1em !important;
  }

  .xs-mg-bt-2em {
    margin-bottom: 2em !important;
  }

  .xs-mg-bt-3em {
    margin-bottom: 3em !important;
  }

  .xs-mg-bt-4em {
    margin-bottom: 4em !important;
  }

  /*height*/
  .xs-height-1em {
    height: 1em !important;
  }

  .xs-height-6em {
    height: 6em !important;
  }

  .xs-height-7em {
    height: 7em !important;
  }

  .xs-height-8em {
    height: 8em !important;
  }

  /*padding*/
  .xs-pd-0 {
    padding: 0 !important;
  }

  .xs-pd-15 {
    padding: 15px !important;
  }

  .xs-pd-lr-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .xs-pd-lr-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /*line-height*/
  .xs-lh-2 {
    line-height: 2 !important;
  }

  /*flex*/
  .xs-flex-wrap {
    flex-wrap: wrap !important;
  }
  
	#main_visual:before {
    content: "";
    background: url(http://xn--tfrz5simcn9a26s404anevijal58b.com/wp-content/uploads/2025/05/mv-title-sp.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(83.87vw, 327.1021px);
	height: min(19.31vw, 75.3403px);
    transform: translate(-50%, -50%);
    z-index: 2;
	}
	.top-catch-wp {
    top: -25px;
	}
	.top-catch img {
		width: min(326px, 83.58vw);
	}
	.top-reason-wp {
     width: 80vw;
     height: 80vw;
	}
	/*ヘッダー*/
	div:not(.top) header#header {
    height: 43px;
	}
	div:not(.top) header#header:before {
    top: 50%;
    transform: translate(-50%, -50%);
    }
	/*コンタクトフォーム*/
	.contact-title img {
    width: 80%;
	}
	.contact-form-wp {
        font-size: .93rem;
    }

    .contact-form-items {
        padding: 24px 4px 24px 9px;
    }

    input.wpcf7-form-control.wpcf7-text {
        width: 100%;
    }
	
	textarea.wpcf7-form-control.wpcf7-textarea.message {
    height: 117px;
    width: 100%;
	}
	
    .contact-form-under {
        font-size: 1rem !important;
    }

    .contact-tel-wp {
        width: 100%;
        gap: .5em !important;
        padding: 1.5em 0.5em !important;
    }

    input.zipcode {
        width: 60%;
    }

    span.wpcf7-list-item-label {
        top: -3px;
        position: relative;
        letter-spacing: 0px;
    }
	.contact-form-label {
    justify-content: flex-start;
	}
	.contact-form-requred {
    width: 2.6em;
    display: block;
    font-size: 0.875em;
    position: absolute;
    right: auto;
    text-align: center;
    }


}

/* WPカラム切り替わり*/
@media (min-width: 782px) {}

@media (max-width: 781px) {}

/* WPカラム切り替わり*/

/*swellの可変サイズブレイクポイント*/
@media (min-width: 600px) and (max-width: 959px){
}