/**********
general
**********/
:root {
    --base-color: #655872;
    --hover-color: #B9A5CD;
    --rb-color:#29A3DA;
    --bg-grad: linear-gradient(to right, #E04793 0%, #0E4D96 50%, #EF7D1C 100%);
}
html {scroll-behavior: smooth; overflow-x: hidden;}
body {
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    line-height: 1.5;
    color: var(--base-color) !important;
    position: relative;
    overflow-x: hidden;
}

.font-en, .header-menu-en, .midashi-en, .top-access_dl dd a strong {
    font-family: "EB Garamond", "Shippori Mincho", "Noto Serif JP", serif;
}
.photo-copyright{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 500; /* Medium */
}
main {position: relative;z-index:0;}
h1, h2, h3, h4, p {margin: 0;}

img {vertical-align: middle;}
dd,dl,dt,li,ol,ul {
list-style-type: none;
  border:0;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  padding: 0;
  margin: 0;
}
a{
    color: var(--base-color);
}
a:hover{
    color: var(--hover-color);
}
a {transition: 0.3s;}
a[href^="tel"] {cursor: default; color:var(--base-color);}
@media (min-width: 721px) and (min-height: 500px)  {
a[href^="tel"] {
pointer-events: none;
}
}
.disable-auto-tel a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}
.int {font-family: interstate-condensed, sans-serif;}
.flex {display: flex; flex-wrap: wrap;}
.ib {display: inline-block;}
span.indent {
    padding-left: 1em;
    text-indent: -1em;
    display: inline-block;
}
.inner1 {
    width: min(1240px, 80%);
    margin: 0 auto;
}
.inner2 {
    width: min(1366px, 85%);
    margin: 0 auto;
}
.elementor-element.e-con {padding: 0 !important;}
.elementor-element.elementor-widget {width: 100%;}
.e-con,
.e-con-inner {
    padding: 0;
    margin: initial !important;
    max-width:100% !important;
    padding-block-end: initial !important;
    padding-block-start: initial !important;
    text-align: initial !important;
}
.e-con>.e-con-inner {
gap:0 !important;
}
@media screen and (min-width: 1025px) {
    a[href^="tel"] {pointer-events: none;}
}
@media screen and (max-width: 720px) {
    .inner1, .inner2 {width: 90%;}
}
.rb{
    color: var(--rb-color);
}
.elementor-widget-text-editor{

}
pre,code{
font-family: "shippori-mincho", sans-serif;
}
/**********
fadein
**********/
.fadeswhich0340 {
    transition: .8s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.fadeswhich0340.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}
.fadeswhich0340_d {
    transition: .8s;
    transition-delay: .3s;
    opacity: 0;
    transform: translate(0px, 40px);
}

.fadeswhich0340_d.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich0380 {
    transition: .3s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich0380.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}

.fadeswhich0680 {
    transition: .6s;
    opacity: 0;
    transform: translate(0px, 80px);
}

.fadeswhich0680.fadeIn {
    opacity: 1;
    transform: translate(0px, 0);
}
.fadeswhich06 {
    transition: .8s;
    opacity: 0;
}

.fadeswhich06.fadeIn {
    opacity: 1;
}
.sub-midashi-jp,.sub-midashi-en {
animation: sub_midashi_ani 0.8s ease 0.5s 1 normal backwards;
}
@keyframes sub_midashi_ani {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*****************/
/***ヘッダー***/
/*****************/
header#site-header{
width:100%;
max-width:100%;
height: 125px;
background:#fff;
padding-block-end: 0rem;
padding-block-start: 0rem;
padding-inline-end: 0px;
padding-inline-start: 0px;
position: relative;
align-items: center;
    z-index: 999;
transition: background 0.4s ease-in-out; /* 0.4秒かけて滑らかに変化 */
}
header.site-header.fixed{
position: fixed !important;
}
.site-logo_inner.flex {
  position: relative;
}
.site-logo_inner.flex .span {
  position: absolute;
  font-size: 16px;
  width: 176px;
  right: 0;
  bottom: 12px;
  font-weight: 800;
}
.site-logo_outer{
}
@media screen and (min-width: 1921px) {
.site-logo_outer{
}
}
.site-header_wrapper {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 40px - 40px);
  margin: 0 auto;
}
.header-nav-wrapper {
width: 1117px;
  flex-wrap: nowrap;
}
.header-main-menu {
  display: flex;
  align-items: center;
  width:100%;
}
.header-main-menu-item {
  width: 980px;
  display: flex;
  justify-content: space-between;
  height:71px;
  align-items: center;
}
.header-main-menu-item:last-of-type{
}
.header-main-menu-item a{
font-size:16px;
font-weight:bold;
}
.header-main-menu_sns {
  display: flex;
  width: 84px;
  gap: 20px;
  align-items: center;
}
.header-main-menu_sns li {
  width: 32px;
}
.header-menu-jp {
  font-size: 18px;
  font-weight: 500;
  display: flex;
  height: 46px;
  align-items: flex-end;
  line-height: 1.2;
}
.header-menu-en {
  color: #B9A5CD;
  font-size: 16px;
  font-weight: 400;
}

@media screen and  (min-width: 1227px) and (max-width: 1720px) {
.site-header_wrapper {
width: calc(100% - 20px - 20px);
width: calc(100% - 1.63vw - 1.63vw);
}
.site-logo_inner.flex {
width: 348px;
width: 28.362vw;
}
.header-nav-wrapper {
  width: 80%;
}
.header-menu-jp {
  font-size: 16px;
  letter-spacing: -1px;
    font-size: 1.304vw;
  letter-spacing: -0.081vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.304vw, 18px);
}
.header-menu-en {
  font-size: 14px;
    font-size: 1.141vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(14px, 1.141vw, 16px);
}
.header-main-menu-item {
  width: 100%;
  justify-content: flex-end;
  height: 71px;
  gap: 10px;
    gap: 0.815vw;
}
.header-main-menu_sns {
  width: 80px;
  gap: 10px;
  margin-left: 20px;
  width: 6.52vw;
  gap: 0.815vw;
  margin-left: 1.63vw;
}
.header-main-menu_sns li {
  width: 28px;
    width: 2.282vw;
}




}
@media screen and  (min-width: 1025px) and (max-width: 1315px) {
}
@media screen and  (min-width: 721px) and (max-width: 925px) {
}
@media screen and (min-width: 721px) {
.header-nav_sp-wrapper{
display:none;
}
}
/*@media screen and (max-width: 720px) {*/
@media screen and (min-width: 1227px) {
#full-menu{
display:none;
}
}

@media screen and (max-width: 1226px) {
header#site-header {
    z-index: 999;
    
    /* ★超重要：ここにある transition が「閉じる時」のスムーズさを制御します */
    transition: background 0.4s ease-in-out; 
  }
	.site-header_wrapper {
		width: calc(100% - 16px - 16px);
		position: relative;
	}
	.site-logo_inner.flex {
		width: 312px;
		width: 280px;
	}
	.site-logo_inner.flex .span {
		font-size: 14px;
		width: auto;
		bottom: 0px;
	}
	.header-nav-wrapper{
		display:none;
	}
	header#site-header {
		height:100px;
		scroll-margin-top: 100px;
	}
	.header-nav_sp-wrapper{
		display: flex;
		position: absolute;
		justify-content: center;
		right: 0px;
		gap: 0 16px;
		width: 48px;
		height: 48px;
		border: 1px solid #B9A5CD;
		border-radius: 50%;
		background: #B9A5CD;
		align-items: center;
		top: 7px;
	}
	.header-mob-menu{
		width: 30px;
		cursor: pointer;
		position: relative;
		height: 30px;
		display: flex;
		justify-content: center;
	}
	.header-mob-menu span {
		width: 24px;
		height: 1px;
		background-color: #FFF;
		display: inline-block;
		transition: 0.4s;
		position: absolute;
	}
	.header-mob-menu span:nth-child(1) {
		top: 1px;
	}
	.header-mob-menu span:nth-child(2) {
		top: 6px;
	}
	.header-mob-menu span:nth-child(3) {
		top: 11px;
	}
	.header-mobmenu_text{
		font-size: 10px;
		position: absolute;
		bottom: 0;
		width: 100%;
		text-align: center;
		color:#fff;
		line-height:1;
	}
	.header-mob-menu .header-mobmenu_text::before {
		content: "MENU";
	}
	.header-nav_sp-wrapper.is-open {
		background: initial;
	}
	.header-mob-menu.is-active span{
		background-color: #B9A5CD;
	}
	.header-mob-menu.is-active .header-mobmenu_text {
		opacity: 0;
		visibility: hidden;
	}
	/* 通常時の11pxから14pxへ滑らかに移動しながら回転します */
	.header-mob-menu.is-active span:nth-child(1) {
		top: 14px; 
		transform: rotate(45deg);
	}
	.header-mob-menu.is-active span:nth-child(2) {
		opacity: 0; /* 真ん中の線は消す */
	}
	.header-mob-menu.is-active span:nth-child(3) {
		top: 14px; 
		transform: rotate(-45deg);
	}
	/* メニューが開いた時（bodyに .is-fixed クラスがついた時） ヘッダーの背景を完全に透明（transparent） */
	body.is-fixed header#site-header {
		background: transparent;
		background:#F0E7F8 !important;
		box-shadow: none;
		transition: background 0.4s ease-in-out;
	}
	/* JSで「is-active」クラスがついた時のスタイル（表示） */
	.full-menu.is-active {
		opacity: 1;
		visibility: visible;
		background: #F0E7F8;
	}
	.full-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh; /* 画面全体の高さをカバー */
		z-index: 900; 
		/* 初期状態（メニューが閉じている時）の隠す設定 */
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
overflow-y: auto;
    /* スマホ（iOS/Android）でのスクロールを慣性付きで滑らかにする */
    -webkit-overflow-scrolling: touch;
	}
#full-menu .header-mob-wrapper.flex {
width: calc(100% - 38px - 38px);
margin: 0 auto;
margin-top: 100px;
margin-bottom: 60px;
}
#full-menu .header-main-menu {
margin-top: 30px;
}
#full-menu .header-main-menu-item {
width:100%;
flex-direction: column;
align-items: flex-start;
gap: 35px;
height:auto;
}
#full-menu .header-main-menu-item a{
display:flex;
align-items: center;
height: 26px;
gap: 17px;
}
#full-menu .header-menu-jp {
align-items: center;
height: auto;
letter-spacing: -1px;
font-weight: 600;
}
#full-menu .header-menu-jp br.br{
display:none;
}
#full-menu .header-menu-en {
font-size:14px;
}
#full-menu .header-mob-menu_link,
#full-menu .header-mob-menu_sns {
  display: flex;
  flex-direction: column;
  width: 100%;
}
#full-menu .header-mob-menu_link{
margin-top: 50px;
gap: 20px;
}
.header-mob-menu_link li a {
  background-color: #655872;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius:40px;
}
.header-mob-menu_link li a strong{
font-size:16px;
font-weight:500;
  color: #fff;
}
.header-mob-menu_link li a {
  background-color: #655872;
}
.header-mob-menu_link li.menu-pamphlet a {
  background-color: #B9A5CD;
}
.header-mob-menu_link li.menu-pamphlet a strong {
padding-left:30px;
  position: relative;
}
.header-mob-menu_link li.menu-pamphlet a strong::before {
  width: 24px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/icon-pdf.svg);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.header-mob-menu_sns {
  margin-top: 64px;
  flex-direction: row !important;
  gap: 20px;
}



}
/*****************/
/***フッター***/
/*****************/

.footer-studio .footer-wrap {
  width: 998px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 0;
}
.footer-studio .footer-wrap::before {
  width: 292px;
  content: "";
  position: absolute;
  bottom: -55px;
  left: -98px;
  height: 100%;
  background-image: url(img/footer-logo_bg.svg);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.footer-studio {
  background: #F0E7F8;
  width:100%;
  height: 435px;
  display: flex;
  align-items: center;
}
.footer-studio_L.flex {
  width: 400px;
  align-items: center;
}
.footer-studio_R.flex {
  width: 462px;
  justify-content: center;
  gap: 35px;
}
.footer-name {
  text-align: center;
}
.footer-name_h3 {
  font-size: 40px;
  font-weight: 400;
}
.footer-name_jp {
  font-size: 20px;
  font-weight: 500;
}
.footer-studio_line img {
  width: 360px;
}
.footer-address {
  font-size: 21px;
  font-weight: 500;
  text-align: center;
}
.footer-contact {
width:100%;
height:497px;
  background-image: url(img/footer-contact_bg.webp);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.footer-contact .footer-wrap {
  width: 1000px;
  margin: 0 auto;
  display: flex;
flex-direction: column;
  justify-content: center;
  height: 100%;
}
.midashi {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.midashi-en {
  font-size: 40px;
  font-weight: 400;
}
.midashi-jp {
  font-size: 16px;
  font-weight: 500;
  margin-top: 23px;
}
.midashi-line {
  margin-top: 36px;
}
.footer-text {
  font-size: 21px;
  text-align: center;
  margin-top: 30px;
  font-weight: 500;
}

.footer-text {
  font-size: 21px;
  text-align: center;
  margin-top: 30px;
  font-weight: 500;
}
.footer-button {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 34px;
}
.footer-button li {
  width: 100%;
}
.footer-button li a {
  width: 100%;
  display: flex;
  height: 60px;
  background-color: rgba(101,88,114,0.74);
  align-items: center;
  justify-content: center;
  border-radius:40px;
}
.footer-button li a strong{
color:#fff;
font-size:18px;
font-weight:500;
}
.footer-button li.footer-pamphlet a strong{
padding-left:30px;
  position: relative;
}
.footer-button li.footer-pamphlet a strong::before {
  width: 24px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/icon-pdf.svg);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.footer-contact .photo-copyright {
  font-size: 12px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.footer-bottom {
width:100%;
background: #F0E7F8;
}
.footer-bottom .footer-wrap {
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  height: 100%;
  flex-direction: column;
  padding-top: 20px;
  padding-bottom: 15px;
}

.footer-sns {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.footer-menu {
  display: flex;
  justify-content: center;
  height: 40px;
  margin-top: 20px;
}
.footer-menu li a {
  border-left: 1px solid #655872;
  padding-left: 15px;
  padding-right: 15px;
  height: 100%;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 400;
}
.footer-menu li:last-of-type a {
  border-right: 1px solid #655872;
}
.copyright {
  margin-top: 35px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}
.footer-button li a strong br.br{
display:none;
}
@media screen and  (min-width: 721px) and (max-width: 1226px) {
.footer-studio {
height: 435px;
}
.footer-studio .footer-wrap::before {
width: 292px;
height:200px;
bottom: -55px;
left: -98px;
}
.footer-studio_L.flex {
  width: 400px;
}
.footer-studio_R.flex {
  width: 462px;
  gap: 35px;
}
.footer-name_h3 {
  font-size: 40px;
}
.footer-name_jp {
  font-size: 20px;
}
.footer-studio_line img {
  width: 360px;
}
.footer-address {
  font-size: 21px;
}
.footer-studio {
height: 35.481vw;
height: 38vw;
}
.footer-studio .footer-wrap {
  width: 81.403vw;
}
.footer-studio .footer-wrap::before {
width: 23.817vw;
height:16.313vw;
bottom: -4.486vw;
left: -7.993vw;
}
.footer-studio_L.flex {
  width: 32.626vw;
}
.footer-studio_R.flex {
  width: 37.684vw;
  gap: 2.855vw;
}
.footer-name_h3 {
  font-size: 3.263vw;
}
.footer-name_jp {
  font-size: 1.631vw;
  font-size: clamp(14px, 1.631vw, 20px);
}
.footer-studio_line img {
  width: 29.364vw;
}
.footer-address {
  font-size: 1.713vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(14px, 1.713vw, 21px);
}

.footer-contact .footer-wrap {
width: 81.403vw;
margin: 0 auto;
}
.footer-text {
  font-size: 21px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.713vw, 21px);
}
.footer-button li a strong {
font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.468vw, 18px);
}

.footer-bottom .footer-wrap {
width: 81.403vw;
}
.footer-menu {
flex-wrap: wrap;
width: 500px;
margin: 0 auto;
margin-top: 20px;
gap: 5px 0;
}
.footer-menu li a {
border-left: none;
border-right: 1px solid #655872;
}
.footer-menu li:first-of-type a {
border-left: 1px solid #655872;
}
.footer-menu li:nth-of-type(5) a {
border-left: 1px solid #655872;
}

}
@media screen and  (min-width: 721px) and (max-width: 983px) {
.footer-button li a strong br.br{
display:inline-block;
}
}
@media screen and (min-width: 721px) {
.footer-name_h3 br.spbr,
.footer-text br.spbr,
.footer-studio_R .footer-logo{
display:none;
}
}
@media screen and (max-width: 720px) {
.footer-studio_L.flex {
display:none;
}
.footer-studio {
height: auto;
position: relative;
}
.footer-studio .footer-wrap {
  width: calc(100% - 20px - 20px);
}
.footer-studio_R.flex {
  width: 100%;
  justify-content: space-between;
  gap: 17px 0;
  margin-top:40px;
  margin-bottom:40px;
}
.footer-logo {
  width: 38.647vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-name {
  text-align: right;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: center;
}
.footer-studio_line {
  width: 100%;
  text-align: center;
}
.footer-address {
  font-size: 4.348vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 4.348vw, 21px);
  text-align: center;
  width: 100%;
}
.footer-name_h3 {
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(28px, 6.763vw, 40px);
}
.footer-name_jp {
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(14px, 3.382vw, 20px);
}
.footer-studio .footer-wrap {
position: initial;
}
.footer-studio .footer-wrap::before {
  width: 292px;
  height:136.79px;
  width: 70.531vw;
  height:33.041vw;
  left:9px;
  bottom:8px;
}

.footer-contact {
width:100%;
height:auto;
  background-image: url(img/footer-contact_bg-sp.webp);
  padding-top: 40px;
  padding-bottom: 40px;
}
.footer-contact .footer-wrap {
  width: calc(100% - 20px - 20px);
}
.footer-button {
flex-direction: column;
}
.footer-button li.footer-pamphlet{
display:none;
}
.footer-button li a {
  width: 280px;
  height:48px;
  margin: 0 auto;
}
.midashi-en {
  font-size: 40px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(36px, 8.696vw, 40px);
}
.midashi-jp {
  font-size: 16px;
  font-size: clamp(16px, 8.696vw, 18px);
  margin-top: 3px;
}
.midashi-line {
  margin-top: 16px;
}
.footer-text {
  font-size: 21px;
  font-size: clamp(16px, 4.348vw, 18px);
  margin-top: 12px;
}
.footer-button {
margin-top:56px;
}
.footer-button li a strong {
font-size: 18px;
  font-size: clamp(16px, 3.865vw, 16px);
}
.footer-bottom .footer-wrap {
  width: 100%;
  height:auto;
padding-top: 40px;
  padding-bottom: 40px;
}
.footer-menu {
height: auto;
flex-direction: column;
margin-top: 60px;
gap: 15px;
}
.footer-menu li a {
  border-left: none;
  padding-left: 0px;
  padding-right: 0px;
  justify-content: center;
}
.footer-menu li.footer-menu_pamphlet{
display:none;
}
.copyright {
  margin-top: 60px;
}



}
@media screen and (max-width: 460px) {
.copyright {
font-size:14px;
}
}
@media screen and  (min-width: 645px) and (max-width: 720px) {
.footer-studio_R.flex {
  justify-content: space-around;
}
}
/*****************/
/*** T O P ***/
/*****************/
.top-mv {
display:flex;
width:100%;
height:1000px;
  background-image: url(img/top-mv.webp);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.top-mv_wrap{
  width: calc(100% - 80px - 80px);
  margin: 0 auto;
}
h2.top-mv_h2{
display:flex;
font-size:32px;
font-weight:500;
color:#F0E7F8;
margin-top:70px;
line-height: 1.8;
}
.top-mv .photo-copyright{
position: absolute;
bottom:10px;
right:10px;
font-size:12px;
color:#fff;
}
@media screen and  (min-width: 721px) and (max-width: 1226px) {
.top-mv {
height:1000px;
height:81.566vw;
}
.top-mv_wrap{
  width: calc(100% - 80px - 80px);
  width: calc(100% - 6.525vw - 6.525vw);
}
h2.top-mv_h2{
font-size:32px;
margin-top:70px;
font-size:2.61vw;
margin-top:5.71vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 2.61vw, 32px);
}


}
@media screen and (min-width: 721px) {
.top-mv_h2 br.spbr{
display:none;
}

}
@media screen and (max-width: 720px) {
.top-mv {
  background-image: url(img/top-mv_sp.webp);
height:740px;
}
.top-mv_wrap{
  width: calc(100% - 20px - 20px);
}
h2.top-mv_h2{
font-size:18px;
margin-top:37px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
}
.top-mv_h2 br.br{
display:none;
}

}
@media screen and (max-width: 480px) {
h2.top-mv_h2{
font-size:16px;
letter-spacing: -1px;
}

}
.b-contents{
display: flex;
  width: 100%;
  padding-top: 80px;
  position: relative;
}
.top-intro::before {
  width: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/gradation-bg_intro-ue.webp);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-intro {
  padding-bottom: 70px;
}
.b-contents_wrap{
  width: 1260px;
  margin:0 auto;
}
.top-intro_title {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.top-intro_title-en {
  font-size: 40px;
  font-weight: 400;
}
.top-intro_title-jp {
  font-size: 18px;
  font-weight: 500;
}
.b-contents_p {
  font-size: 21px;
  font-weight: 500;
  text-align: center;
  line-height: 2;
}
.top-intro_p {
  margin-top: 70px;
}
.top-intro .b-contents_wrap{
position: relative;
}
.top-intro_p::before {
  width: 350px;
  height: 240px;
  content: "";
  position: absolute;
  top: 25px;
  right: 0;
  background-image: url(img/top-intro_bg.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
@media screen and (min-width: 721px) {
.top-intro_title-en br.spbr{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.b-contents_wrap{
  width: calc(100% - 40px - 40px);
}
.top-intro_title-en {
  font-size: 40px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(30px, 2.857vw, 40px);
}
.top-intro_title-jp {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.286vw, 18px);
}
.b-contents_p {
  font-size: 21px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.5vw, 21px);
}
.top-intro_p::before {
  width: 350px;
  height: 240px;
  top: 25px;
  width: 25vw;
  height: 17.143vw;
  top: 1.786vw;
  top: initial;
  bottom:0;
}
.top-intro_p {
  margin-top: 70px;
  margin-top: 5vw;
  text-align:left;
}

}
@media screen and (min-width: 721px) {
.top-intro_title-en br.spbr{
display:none;
}
}
@media screen and (max-width: 720px) {
.b-contents_wrap{
  width: calc(100% - 20px - 20px);
}
.top-intro_title-en {
  font-size: 40px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(30px, 5.556vw, 40px);
  text-align:center;
}
.top-intro_title-jp {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
}
.b-contents_p {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.5vw, 18px);
  text-align:left;
}
.top-intro_p {
  margin-top: 40px;
  text-align:left;
}

.top-intro_p::before {
  width: 200px;
  height: 136.79px;
  top:45px;
  top:6.25vw;
}
.top-intro::before {
display:none;
}
.b-contents {
padding-top: 36px;
}

}
.top-concept{
background-color:#F6F0F8;
padding-top: 120px;
padding-bottom: 126px;
z-index: 0;
}
.top-concept::before {
  width: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/gradation-bg_concept-ue.webp);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-concept_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-concept_L {
  width: 630px;
}
.top-concept_R {
  width: 520px;
}
.top-concept::after {
  width: 100%;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  background-image: url(img/gradation-bg_concept-shita.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-concept_img {
  width: 100%;
  display: flex;
  position: relative;
  flex-direction: column;
  height: 400px;
  align-items: flex-end;
  justify-content: center;
}
.top-concept_img img{
width:440px;
}
.top-concept_img::before {
  width: 400px;
  height: 400px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(img/photo-frame.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-concept_img .span {
  position: relative;
  /*! display: inline-block; */
}
.top-concept_img .span .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}
.top-concept_p{
margin-top:30px;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.midashi-en {
  font-size: 40px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(30px, 2.857vw, 40px);
}
.top-concept {
padding-top: 120px;
padding-bottom: 126px;
padding-top: 8.571vw;
padding-bottom: 9vw;
}
.top-concept_L {
  width: 630px;
    width: 45vw;
}
.top-concept_R {
  width: 520px;
  width: 37.143vw;
}
.top-concept_img {
height: 400px;
height: 28.571vw;
}
.top-concept_img::before {
  width: 400px;
  height: 400px;
  width: 28.571vw;
  height: 28.571vw;
}
.top-concept_img img {
  width: 440px;
  width: 31.429vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 1000px) {
.top-concept_p {
text-align:left;
}
.top-concept_p br.br:first-of-type {
  display: none;
}
}
@media screen and (max-width: 720px) {
.top-intro {
  padding-bottom: 30px;
}
.top-concept {
padding-top: 90px;
padding-bottom: 99px;
}
.top-concept::before {
  background-image: url(img/gradation-bg_concept-ue_SP.webp);
}
.top-concept::after {
  background-image: url(img/gradation-bg_concept-shita_SP.webp);
}
.top-concept_L {
  width: 100%;
}
.top-concept_R {
  width: 100%;
}
.top-concept_box {
flex-direction: column;
gap: 30px;
}
.top-concept_img {
width:360px;
  height: 320px;
  margin: 0 auto;
}
.top-concept_img::before {
  width: 320px;
  height: 320px;
}
.top-concept_img img {
  width: 320px;
}
.top-concept_p {
  margin-top: 35px;
}
.top-concept_p br.br:first-of-type {
  display: none;
}

}
@media screen and (max-width: 425px) {
 .top-concept_img {
    width: 100%;
    height: 320px;
  }
  .top-concept_img::before {
    width: 320px;
    height: 320px;
  }
  .top-concept_img img {
    width: 300px;
  }
  
}
.b-contents.top-studio{
padding-top: 102px;
padding-bottom: 120px;
}
.top-studio_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 90px;
}
.top-studio_box li {
  width: calc(100% / 3 - 90px);
  width: 360px;
}
.top-studio_name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.top-studio_name-h3 {
  font-size: 26px;
}
.top-studio_name-h3.long {
  font-size: 25px;
letter-spacing: -1px;
}
.top-studio_name-line {
  height: 25px;
  display:flex;
}
.top-studio_name-line img {
  height: 25px;
  width: 100%;
}
.top-studio_photo {
  margin-top: 20px;
  width: 100%;
}
.top-studio_address {
  width: 100%;
  margin-top: 12px;
  font-size: 20px;
  text-align: center;
}
.top-studio_address .long {
  letter-spacing: -1px;
  font-size: 19px;
}
.top-studio_link {
  margin-top: 20px;
  width: 100%;
}
.top-studio_link a {
  display: flex;
  height: 60px;
  width: 200px;
  background-color: #B9A5CD;
  border-radius: 30px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.top-studio_link a strong{
  color: #fff;
  font-weight: 400;
  font-size: 18px;
}
@media screen and (min-width: 1401px) {
.top-studio_box br.spbr, .top-studio_box br.spbr2{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-studio_box br.spbr2{
display:none;
}
.top-studio_box br.spbr{
display:inline-block;
}
.b-contents.top-studio{
padding-top: 102px;
padding-bottom: 120px;
padding-top: 7.286vw;
padding-bottom: 8.571vw;
}
.top-studio_box {
  gap: 90px;
  gap: 6.429vw;
  justify-content: space-between;
}
.top-studio_box li {
  width: 360px;
  width: 25.714vw;
}
.top-studio_box li:nth-of-type(4) {
margin-left:auto;
}
.top-studio_box li:nth-of-type(5) {
margin-right:auto;
}
.top-studio_name {
  gap: 14px;
  gap: 1vw;
}
.top-studio_name-h3 {
  font-size: 26px;
  font-size: 1.857vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 1.857vw, 26px);
  height: 60px;
height: 5vw;
    align-items: center;
    text-align: center;
    display: flex;
}
.top-studio_name-h3.long {
  font-size: 25px;
  font-size: 1.786vw;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 1.786vw, 25px);
}
.top-studio_name-line img {
  height: 25px;
height: 1.786vw;
}
.top-studio_name-line {
  height: 25px;
height: 1.786vw;
}

.top-studio_photo {
  margin-top: 20px;
  margin-top: 1.429vw;
}
.top-studio_address {
  margin-top: 12px;
  font-size: 20px;
margin-top: 0.857vw;
  font-size: 1.429vw;
  font-size: clamp(16px, 1.429vw, 20px);
}
.top-studio_address .long {
  font-size: 19px;
  font-size: 1.357vw;
  font-size: clamp(16px, 1.357vw, 19px);
}
.top-studio_link {
  margin-top: 20px;
  margin-top: 1.429vw;
}
.top-studio_link a {
  height: 60px;
  width: 200px;
  height: 4.286vw;
  width: 14.286vw;
}
.top-studio_link a strong{
  font-size: 18px;
  font-size: 1.286vw;
  font-size: clamp(16px, 1.286vw, 18px);
}

}
@media screen and  (min-width: 721px) and (max-width: 800px) {
.top-studio_box {
gap: 5vw;
}
.top-studio_box li {
width: 26vw;
}
}
@media screen and (max-width: 720px) {
.top-studio_box br.spbr {
  display: none;
}
.top-studio_box br.spbr2{
  display: none;
}

.b-contents.top-studio {
  padding-top: 60px;
  padding-bottom: 80px;
}
  .top-studio_box {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .top-studio_box li {
    width: 100%;
    display: grid;
    /* 左側を160px固定に変更 */
    grid-template-columns: 160px 1fr;
    column-gap: 16px;
    row-gap: 12px;
  }

  /* 160pxの正方形に固定 */
  .top-studio_photo {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin-top: 0 !important;
    width: 160px;
    height: 160px;
    overflow: hidden; /* 枠外にはみ出た画像を隠す */
  }
  .top-studio_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 比率を保ったまま160px正方形にトリミング */
    display: block;
  }

  .top-studio_name {
    grid-column: 2;
    grid-row: 1;
    align-items: flex-start;
    gap: 25px;
  }

  .top-studio_address {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0 !important;
    font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.5;
    text-align: left;
  }
.top-studio_address .long {
    font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
}
  .top-studio_link {
    grid-column: 1 / span 2;
    grid-row: 3;
    width: 100%;
    margin-top: 4px !important;
  }
  
  .top-studio_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
  }

  .top-studio_box li:nth-of-type(4) { margin-left: 0; }
  .top-studio_box li:nth-of-type(5) { margin-right: 0; }
  .top-studio_name-h3 {
    height: auto;
    font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
    display: block;
    text-align: left;
  }
  .top-studio_name-h3.long {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
  }
  .top-studio_name-line {
  height: 13px;
  }
  .top-studio_name-line img {
  height: 13px;
  }
}
@media screen and (max-width: 550px) {
.top-studio_box .hokk{
display:none;
}
.top-studio_box br.spbr2{
display:inline-block;
}

  .top-studio_box li {
    grid-template-columns: 160px 1fr;
    /*grid-template-columns: 29.091vw 1fr;*/
  }

  /* 160pxの正方形に固定 */
  .top-studio_photo {
    width: 160px;
    height: 160px;
    /*width: 29.091vw;
    height: 29.091vw;*/
  }
 /*.top-studio_address {
 font-size:16px;
 }
   .top-studio_address .long {
    font-size: 16px;
  }*/
}
@media screen and (max-width: 390px) {
  .top-studio_box li {
    grid-template-columns: 150px 1fr;
    /*grid-template-columns: 29.091vw 1fr;*/
  }

  /* 160pxの正方形に固定 */
  .top-studio_photo {
    width: 150px;
    height: 150px;
    /*width: 29.091vw;
    height: 29.091vw;*/
  }

}

.b-contents.top-info {
  background-color: #F0E7F8;
  padding-top: 50px;
  padding-bottom: 60px;
}
.top-info .midashi-jp {
font-size:18px;
}
.top-info .midashi-line {
  margin-top: 18px;
}
.top-info_L {
  width: 630px;
}
.top-info_R {
  width: 560px;
}
.top-info_box {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-top: 40px;
}
.top-info_date {
  font-size: 23px;
  font-weight: 500;
}
.top-info_title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.6;
  margin-top: 8px;
}
.top-info_p {
  font-size: 20px;
  text-align: left;
  font-weight: 500;
  margin-top: 26px;
  line-height: 1.5;
}
.top-info_link{
margin-top:90px;
}
.top-info_link a {
  display: flex;
  height: 60px;
  width: 320px;
  background-color: #B9A5CD;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.top-info_link a strong {
  color: #fff;
  font-weight: 400;
  font-size: 18px;
}
.top-info_img .span {
  position: relative;
}
.top-info_img .span .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-info_L {
  width: 630px;
  width: 45vw;
}
.top-info_R {
  width: 560px;
  width: 40vw;
}
.top-info_date {
  font-size: 23px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 1.643vw, 23px);
}
.top-info_title {
  font-size: 24px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 1.714vw, 24px);
}
.top-info_p {
  font-size: 20px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.429vw, 20px);
margin-top: 1.857vw;
}
.top-info_link {
  margin-top: 90px;
  margin-top: 6.429vw;
}
.top-info_link a {
  height: 60px;
  width: 320px;
  height: 4.286vw;
  width: 22.857vw;
}

}
@media screen and (max-width: 720px) {
.top-info .midashi-jp {
display:none;
}
.top-info_box {
flex-direction: column-reverse;
margin-top: 50px;
}
.top-info_L {
  width: 100%;
  margin-top:32px;
}
.top-info_R {
  width: 100%;
}
.top-info_date {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
}
.top-info_title {
  font-size: 22px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(18px, 3.056vw, 22px);
  font-weight:500;
  margin-top:16px;
}
.top-info_p {
  font-size: 18px;
  /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
margin-top: 20px;
}
.top-info_link {
  margin-top: 25px;
}
.top-info_link a {
  width: 280px;
  height: 48px;
}
.b-contents.top-info {
padding-bottom: 32px;
}

}
.top-trial {
  width: 100%;
  height: 497px;
  background-image: url(img/top-trial_bg.webp);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.top-trial_p {
  font-size: 21px;
  text-align: center;
  margin-top: 30px;
  font-weight: 500;
}
.top-trial_ul {
  display: flex;
  justify-content: center;
  gap: 120px;
  margin-top: 34px;
}
.top-trial_ul li {
  width: 320px;
}
.top-trial_ul li a {
  width: 100%;
  display: flex;
  height: 60px;
  background-color: rgba(101,88,114,0.74);
  align-items: center;
  justify-content: center;
  border-radius:40px;
}
.top-trial_ul li a strong{
color:#fff;
font-size:16px;
font-weight:500;
}
.top-trial_ul li.pamphlet a strong{
padding-left:40px;
  position: relative;
}
.top-trial_ul li.pamphlet a strong::before {
  width: 30px;
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  height: 37px;
  background-image: url(img/icon-pdf.svg);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
.top-trial .photo-copyright {
  font-size: 12px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
@media screen and (min-width: 1401px) {
.top-trial_p br.spbr,.top-trial_p br.spbr2{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-trial_p br.spbr2{
display:none;
}

.top-trial {
  height: 497px;
  /*height: 35.5vw;*/
  padding-top: 80px;
  padding-top: 50px;
}
.top-trial_p {
  font-size: 21px;
  margin-top: 30px;
  font-size: 1.5vw;
    /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 1.5vw, 21px);
}
.top-trial_ul {
  gap: 120px;
  gap: 8.571vw;
}

}
@media screen and (max-width: 720px) {
.top-trial {
  height: 561px;
  background-image: url(img/top-trial_bg-sp.webp);
}
.b-contents.top-trial {
  padding-top: 50px;
}
.top-trial .midashi-jp {
margin-top: 20px;
}
.top-trial_p {
    /* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
  font-size: clamp(16px, 2.5vw, 18px);
margin-top: 23px;
}
.top-trial_ul {
gap: 20px;
margin-top: 42px;
flex-direction: column;
align-items: center;
}
.top-trial_ul li {
  width: 280px;
}
.top-trial_ul li a {
height:48px;
}
.top-trial_ul li.pamphlet a strong {
  padding-left: 34px;
}
.top-trial_ul li.pamphlet a strong::before {
  width: 24px;
  top: -3px;
  height: 29.5px;
}

}

.top-access{
background-color:#F6F0F8;
padding-top: 184px;
padding-bottom: 101px;
z-index: 0;
margin-top:40px;
}
.top-access::before {
  width: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url(img/gradation-bg_access-ue.webp);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-access_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.top-access_L {
  width: 630px;
}
.top-access_R {
  width: 520px;
}
.top-access::after {
  width: 100%;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  background-image: url(img/gradation-bg_access-shita.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-access_img {
  width: 100%;
  display: flex;
  position: relative;
  flex-direction: column;
  height: 400px;
  align-items: flex-end;
  justify-content: center;
}
.top-access_img img{
width:440px;
}
.top-access_img::before {
  width: 400px;
  height: 400px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(img/photo-frame.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.top-access_img .span {
  position: relative;
}
.top-access_img .span .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}
.top-access .midashi-jp{
margin-top: 0px;
}
.top-access .midashi-line {
  margin-top: 14px;
}

.top-access_dl {
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}
.top-access_h3 {
  font-size: 20px;
  font-weight: 800;
}
.top-access_p {
  font-size: 20px;
}
.top-access_dl dd a{
  display: flex;
  width: 240px;
  height: 60px;
  background-color: #B9A5CD;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.top-access_dl dd a strong {
  color: #fff;
  font-weight: 400;
  font-size: 20px;
}
.top-access_img2 {
align-items: flex-start;
margin-top: 18px;
}
.top-access_img2::before {
background-image: url(img/photo-frame_R.svg);
z-index: 0;
background-position: right top;
  right: 0;
  left: initial;
}
.top-access_img2 .span .photo-copyright{
right: initial;
left: 10px;
}
@media screen and (min-width: 1115px) {
.top-access_L .top-access_p br.spbr{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-access {
padding-top: 184px;
padding-bottom: 101px;
padding-top: 13.143vw;
padding-bottom: 7.214vw;
}
.top-access_L {
  width: 630px;
  width: 45vw;
}
.top-access_R {
  width: 520px;
  width: 37.143vw;
}
.top-access_h3 {
  font-size: 20px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(16px, 1.429vw, 20px);
}
.top-access_p {
  font-size: 20px;
font-size: clamp(16px, 1.429vw, 20px);
line-height: 1.2;
    margin-top: 5px;
}
.top-access_dl dd a{
  width: 240px;
  height: 60px;
    width: 17.143vw;
  height: 4.286vw;
}
.top-access_dl dd a strong {
  font-size: 20px;
font-size: clamp(16px, 1.429vw, 20px);
}
.top-access_img {
  height: 400px;
  height: 28.571vw;
}
.top-access_img img {
  width: 440px;
  width: 31.429vw;
}
.top-access_img::before {
  width: 400px;
  height: 400px;
  width: 28.571vw;
  height: 28.571vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
.top-access_box {
align-items: center;
}
}
@media screen and (min-width: 981px) {
.top-access_h3 br.spbr{
display:none;
}
}

@media screen and  (min-width: 721px) and (max-width: 980px) {
.top-access_p .hokk{
display:none;
}

}

@media screen and (max-width: 720px) {
.top-access_h3 br.spbr{
display:none;
}
.top-access_L .top-access_p br.spbr{
display:none;
}

.top-access{
padding-top: 45px;
padding-bottom: 113px;
margin-top:55px;
}
.top-access::before {
background-image: url(img/gradation-bg_access-ue_SP.webp);
}
.top-access::after {
background-image: url(img/gradation-bg_access-shita_SP.webp);
}
.top-access_box {
flex-direction: column;
}
.top-access_L {
  width: 100%;
}
.top-access_R {
  width: 100%;
  margin-top: 52px;
}
.top-access_dl {
width:350px;
align-items: flex-start;
flex-direction: column;
margin:0 auto;
margin-top:35px;
gap: 26px;
}
.top-access_dl dt, .top-access_dl dd {
  width: 100%;
}
.top-access_h3 {
  font-size: 18px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(16px, 2.5vw, 18px);
}
.top-access_p {
  font-size: 18px;
font-size: clamp(16px, 2.5vw, 18px);
line-height: 1.2;
    margin-top: 5px;
}
.top-access_dl dd a {
width:100%;
height:48px;
}
.top-access_dl dd a strong {
  font-size: 20px;
font-size: clamp(16px, 2.778vw, 20px);
}
.top-access_img2{
display:none;
}
.top-access_img{
width: 360px;
height:320px;
margin:0 auto;
}
.top-access_img::before {
  width: 320px;
  height: 320px;
}
.top-access_img img {
  width: 320px;
}

}
@media screen and (max-width: 450px) {
.top-access_img{
width: 80vw;
height:71.111vw;
}
.top-access_img::before {
  width: 71.111vw;
  height: 71.111vw;
}
.top-access_img img {
  width: 71.111vw;
}
}

.b-contents.top-gallery {
  padding-top: 6px;
  padding-bottom:40px;
}
.top-gallery .midashi-jp {
margin-top: 13px;
}
.top-gallery .midashi-line {
  margin-top: 13px;
}
.top-gallery_box {
  display: flex;
  width: 980px;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 40px;
}
.top-gallery_L {
  width: 440px;
}
.top-gallery_R {
  width: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top-gallery_img .span {
  position: relative;
}
.top-gallery_img .span .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}

.top-gallery_title {
  font-size: 32px;
  font-weight: 500;
}
.top-gallery_date {
  font-size: 23px;
  font-weight: 500;
  margin-top: 20px;
}
.top-gallery_date strong {
  font-size: 32px;
  font-weight: 600;
}
.top-gallery_date small {
  font-size: 23px;
  margin-left: 10px;
}
.gallery-line {
  margin-top: 32px;
  height: 20px;
  display: flex;
  width: 400px;
}
.gallery-line img {
  width: 100%;
}
.b-contents_p.top-gallery_p {
  margin-top: 33px;
  line-height: 1.5;
  font-size: 20px;
  font-weight: 500;
}
.top-gallery_link{
margin-top:57px;
}
.top-gallery_link a{
  display: flex;
  width: 320px;
  height: 60px;
  background-color: #B9A5CD;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.top-gallery_link a strong {
  color: #fff;
  font-weight: 400;
  font-size: 16px;
}
.top-gallery .b-contents_wrap {
  position: relative;
}
.top-gallery .b-contents_wrap::before {
  width: 292px;
  height: 200px;
  content: "";
  position: absolute;
  bottom: 0px;
  right: 0;
  background-image: url(img/top-intro_bg.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-gallery_box {
  width: 980px;
  width: 70vw;
}
.top-gallery_L {
  width: 440px;
  width: 31.429vw;
}
.top-gallery_R {
  width: 400px;
  width: 28.571vw;
}
.top-gallery_title {
  font-size: 32px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(25px, 2.286vw, 32px);
}
.top-gallery_date {
  font-size: 23px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(18px, 1.643vw, 23px);
  margin-top: 20px;
}
.top-gallery_date strong {
  font-size: 32px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(25px, 2.286vw, 32px);
}
.top-gallery_date small {
  font-size: 23px;
font-size: clamp(18px, 1.643vw, 23px);
}

.top-gallery .b-contents_wrap::before {
width: 292px;
height: 200px;
width: 20.857vw;
height: 14.286vw;
}
.gallery-line {
  height: 20px;
  width: 400px;
  height: 1.429vw;
  width: 28.571vw;
}
.top-gallery_link a{
  width: 320px;
  height: 60px;
  width: 22.857vw;
  height: 4.286vw;
}


}
@media screen and  (min-width: 721px) and (max-width: 980px) {
.top-gallery_box {
width: 95%;
gap: 20px;
}
.top-gallery_L {
width:50%;
}
.top-gallery_R {
width:50%;
}
.gallery-line {
height: 20px;
width:100%;
}


}
@media screen and (min-width: 721px) {
.top-gallery_link-sp, .top-gallery_img-sp{
display:none;
}

}
@media screen and (max-width: 720px) {
.top-gallery .midashi-jp {
  margin-top: 0px;
}
.top-gallery .midashi-line {
  margin-top: 7px;
}
.top-gallery_box {
width: 100%;
flex-direction: column;
margin-top:30px;
}
.top-gallery_L {
width:100%;
order: 2;
margin-top: 10px;
}
.top-gallery_R {
width:100%;
position: relative;
order: 1;
padding-bottom: 40px;
}
.top-gallery_link-sp {
order: 3;
margin-top: 30px;
}
.top-gallery .b-contents_wrap{
width:100%;
}
.top-gallery .b-contents_wrap::before {
display:none;
}
.top-gallery .top-gallery_R::before {
  width: 200px;
  height: 136px;
  content: "";
  position: absolute;
  bottom: 0px;
  right: 8px;
  background-image: url(img/top-intro_bg.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.top-gallery .top-gallery_R .top-gallery_link{
display:none;
}
.top-gallery_img-pc{
display:none;
}
.top-gallery_title {
  font-size: 22px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(20px, 3.056vw, 22px);
}
.top-gallery_date {
  font-size: 23px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(20px, 3.194vw, 23px);
  margin-top: 27px;
}
.top-gallery_date strong {
  font-size: 32px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(25px, 4.444vw, 32px);
}
.top-gallery_date small {
  font-size: 23px;
font-size: clamp(20px, 3.194vw, 23px);
margin-left: 8px;
}
.gallery-line {
  margin-top: 12px;
  height: 14px;
  display: flex;
  max-width: 280px;
}
.b-contents_p.top-gallery_p {
  margin-top: 17px;
  font-size: 16px;
font-size: clamp(17px, 2.5vw, 18px);
text-align: center;
}
.top-gallery_link a{
  width: 280px;
  height: 48px;
}
.top-gallery_link a strong {
  font-size: 18px;
}

}

.top-insta{
width:100%;
padding-bottom: 80px;
  background-image: url(img/bg_wave_PC.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;

}
.top-insta .midashi-line {
  margin-top: 20px;
}

.top-insta_box {
  margin-top: 40px;
}
.top-insta_img {
  display: flex;
  flex-wrap: wrap;
  width: 760px;
  gap: 20px;
  margin: 0 auto;
}
.top-insta_img li {
  width: calc((100% - 20px * 2) / 3);
}
.top-insta_link {
  display: flex;
  width: 680px;
  margin: 0 auto;
  margin-top: 40px;
gap: 40px;
}
.top-insta_link li a {
  width: 320px;
  height: 60px;
  background-color: #B9A5CD;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-insta_link li a strong {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-insta_img {
  width: 760px;
  width: 54.286vw;
}
.top-insta_link {
  width: 680px;
  width: 48.571vw;
}
.top-insta_link li a {
  width: 320px;
  height: 60px;
  width: 22.857vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 980px) {

.top-insta_img {
width: 80%;
}
.top-insta_link {
width:80%;
}
.top-insta_link li {
width: 50%;
}
.top-insta_link li a {
width: 100%;
}

}
@media screen and (max-width: 720px) {
.top-insta{
  background-image: url(img/bg_wave_SP.webp);
  padding-bottom:58px;
}
.top-insta .b-contents_wrap {
    width: calc(100% - 7px - 7px);
  }
.top-insta_box {
  margin-top: 28px;
}
.top-insta_img {
  width: 100%;
  gap: 8px;
}
.top-insta_img li {
  width: calc((100% - 8px * 2) / 3);
}
.top-insta_link {
  width: 100%;
  gap:20px;
  flex-direction: column;
}
.top-insta_link li a {
  width: 280px;
  height: 48px;
  border-radius: 40px;
  margin:0 auto;
}

}
/******************/
/******* NEWS *****/
/******************/

.sub-head_box-bar {
  width: 100%;
  height: 20px; /* 線の太さ */
  background: linear-gradient(to right, #b9a5cd, #f0e7f8);
}
.sub-head_box {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 360px;
  align-items: center;
  justify-content: center;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub-head_en {
  font-size: 40px;
  font-weight: 400;
}
.sub-head_jp {
  font-size: 20px;
  font-weight: 800;
  margin-top: 32px;
}
.sub-head_box .photo-copyright {
  font-size: 12px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.sub-head_box-news {
  background-image: url(img/sub-head_bg-news.webp);
}
.sub-head_box-contact {
  background-image: url(img/sub-head_bg-contact.webp);
}
.sub-head_box-beginner {
  background-image: url(img/sub-head_bg-beginner.webp);
}
.sub-head_box-about {
  background-image: url(img/sub-head_bg-about.webp);
}
.sub-head_box-studio {
  background-image: url(img/sub-head_bg-studio.webp);
}
.sub-head_box-gallery {
  background-image: url(img/sub-head_bg-gallery.webp);
}
.b-contents.sub-news {
  padding-bottom: 76px;
    background-image: url(img/bg_wave_PC.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-2;
}
.b-contents.sub-news::before {
  width: 440px;
  height: 300px;
  content: "";
  position: absolute;
  top: 40px;
  right: 40px;
  background-image: url(img/sub-news-bg_righttop.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.sub-news_ul {
  display: flex;
  width:100%;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 80px 0px;
}
.sub-news_ul li a {
  width: 360px;
  outline: 1px solid #B9A5CD;
  padding: 20px;
  display: flex;
  flex-direction: column;
  padding-bottom:10px;
  background-color: #fff;
}
.sub-news_thum{
width:320px;
height:240px;
position: relative;
}
.sub-news_thum img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を維持して枠いっぱいに広げる */
}
.sub-news_thum .photo-copyright {
  font-size: 12px;
  position: absolute;
  right: 10px;
  bottom: 10px;
  color:#fff;
}

.sub-news_date {
  font-size: 16px;
  font-weight: 500;
  color: #B9A5CD;
  margin-top: 16px;
}
.sub-news_title {
  margin-top: 6px;
  font-size: 23px;
  font-weight: 800;
  min-height:55px;
  word-break: break-all;
}
.sub-news_p {
  font-size: 18px;
  font-weight: 500;
  margin-top: 19px;
  word-break: break-all;
}
.sub-news_more {
display:flex;
  width: 120px;
  margin-left: auto;
  margin-right: 0;
  height: 24px;
  margin-top: 43px;
  background-image: url(img/sub-news_bg-viewmore.svg);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
.sub-news_more strong {
  font-size: 12px;
  font-weight: 400;
  color: #B9A5CD;
  line-height:1;
}
.news-item_page {
  width: 100%;
  margin-top: 80px;
}
.news-item_page-number {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.page-numbers {
  display: flex;
  height: 24px;
  width: 24px;
  justify-content: center;
  align-items: center;
  color: #B9A5CD;
  font-size: 24px;
  font-weight: 500;
  margin-left: 6px;
  margin-right: 6px;
  padding-bottom:4px;
}
a.page-numbers:hover {
  color: #fff;
}
.page-numbers.current{
background-color: #B9A5CD;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-breadcrumbs {
  width: 100%;
  margin-bottom: 5px;
}
.site-breadcrumbs_dl {
  display: flex;
}
.site-breadcrumbs_dl li strong {
  font-size: 18px;
  font-weight: 500;
}
.site-breadcrumbs_dl li:first-of-type strong{
position: relative;
padding-left:20px;
}
.site-breadcrumbs_dl li:nth-of-type(2) strong, .site-breadcrumbs_dl li:nth-of-type(3) strong{
position: relative;
padding-left:18px;
margin-left:5px;
}
.site-breadcrumbs_dl li:first-of-type strong::before {
  width: 16px;
  height: 15px;
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0px;
  background-image: url(img/breadcrumbs_home.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
}
.site-breadcrumbs_dl li:nth-of-type(2) strong::before, .site-breadcrumbs_dl li:nth-of-type(3) strong::before{
  width: 18px;
  height: 18px;
  content: ">";
  position: absolute;
  top: 0px;
  left: 0px;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.sub-head_box {
  height: 360px;
  height: 25.714vw;
}
.sub-head_box-bar {
  height: 20px; /* 線の太さ */
  height: 1.429vw;
}
.sub-head_en {
  font-size: 40px;
  font-size: clamp(30px, 2.857vw, 40px);
}
.sub-head_jp {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
  margin-top: 32px;
  margin-top: 2.286vw;
}

.sub-news_ul li a {
  width: 360px;
  width: 25.714vw;
    padding: 20px;
  padding-bottom:10px;
  padding: 1.429vw;
  padding-bottom:0.714vw;
}
.sub-news_thum{
width:320px;
height:240px;
width:22.857vw;
height:17.143vw;
}
.sub-news_date {
  font-size: 16px;
  margin-top: 16px;
}
.sub-news_title {
  font-size: 23px;
  font-size: 19px;
  margin-top: 6px;
  min-height:55px;
  min-height:45.6px;
  letter-spacing: -0.5px;
}
.sub-news_p {
  font-size: 18px;
  font-size: 16px;
  margin-top: 19px;
}
.site-breadcrumbs_dl li:first-of-type strong, .site-breadcrumbs_dl li:nth-of-type(2) strong, .site-breadcrumbs_dl li:nth-of-type(3) strong {
  font-size: 16px;
}

.site-breadcrumbs_dl li:nth-of-type(2) strong::before, .site-breadcrumbs_dl li:nth-of-type(3) strong::before {
top: 0px;
}
.site-breadcrumbs_dl li:nth-of-type(2) strong, .site-breadcrumbs_dl li:nth-of-type(3) strong {
padding-left: 16px;
}

.b-contents.sub-news::before {
  width: 440px;
  height: 300px;
  top: 40px;
  right: 40px;
  width: 31.429vw;
  height: 21.429vw;
  top: 2.857vw;
  right: 2.857vw;
  right: 0;

}

}
@media screen and  (min-width: 721px) and (max-width: 1070px) {
.sub-news_ul {
gap: 80px 10px;
}
.sub-news_ul li {
  width: calc(100% / 3 - 10px);
}
.sub-news_ul li a {
width:100%;
}
.sub-news_thum {
width:100%;
}

}
@media screen and  (min-width: 721px) and (max-width: 950px) {
 .sub-news_ul li {
    width: calc(100% / 2 - 10px);
  }
  .sub-news_thum {
  height: 240px;
  }
}
@media screen and (max-width: 720px) {
.sub-head_box {
height: 120px;
}
.sub-head_box-bar {
height:10px;
}
.sub-head_en {
  font-size: 25px;
  font-size: clamp(25px, 5.556vw, 40px);
}
.sub-head_jp {
  font-size: 20px;
  font-size: clamp(18px, 2.778vw, 20px);
  margin-top: 5px;
}
.sub-head_box .photo-copyright {
  font-size: 10px;
  position: absolute;
  right: 5px;
  bottom: 5px;
}
.b-contents.sub-news {
    background-image: url(img/bg_wave_SP.webp);
}
.b-contents.sub-news::before {
  width: 180px;
  height: 123px;
  top: 10px;
  right: 0px;
}
 .sub-news_ul li {
    width: 100%;
  }
.sub-news_ul li a {
  width: 100%;
  }
  .sub-news_thum {
  width: 100%;
  height:320px;
  height:44.444vw;
  height:clamp(240px, 44.444vw, 320px);
  }
.sub-news_date {
  font-size: 16px;
  margin-top: 16px;
}
.sub-news_title {
  margin-top: 6px;
  font-size: 23px;
  font-size: clamp(18px, 3.194vw, 23px);
  min-height:55px;
  min-height: initial;
}
.sub-news_p {
  font-size: 18px;
  font-size: clamp(16px, 2.5vw, 18px);
  margin-top: 19px;
}
.sub-news_ul {
gap: 40px 0px;
}
.site-breadcrumbs_dl li strong {
  font-size: 16px;
}

.site-breadcrumbs_dl li:nth-of-type(2) strong::before, .site-breadcrumbs_dl li:nth-of-type(3) strong::before {
top: 0px;
}
.site-breadcrumbs_dl li:nth-of-type(2) strong, .site-breadcrumbs_dl li:nth-of-type(3) strong {
padding-left: 16px;
}

}

/*********************/
/**** NEWS SINGLE ****/
/*********************/

.b-contents.single-news{
width:100%;
  background-image: url(img/bg_wave_PC.webp);
  background-position: left 230px;
  background-size: contain;
  background-repeat: no-repeat;
  padding-bottom: 184px;
  z-index:-2;
}
.single-news_thum {
  width: 100%;
  margin-top: 40px;
  position: relative;
}
.single-news_thum img {
  width: 100%;
}
.single-news_thum-noimg{
margin-top:40px;
display:inline-block;
}
.single-news_thum .photo-copyright {
  font-size: 12px;
  position: absolute;
  right: 10px;
  bottom: 10px;
  color:#fff;
}

.single-news_date {
  font-size: 23px;
  font-weight: 500;
  text-align: center;
  color: #B9A5CD;
}
.single-news_title, .sec-jp_title {
  font-size: 40px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  margin-top: 5px;
}
.single-news_line, .sec-jp_line {
  text-align: center;
  margin: 0 auto;
  margin-top: 10px;
}
.single-news_line, .sec-jp_line img {
  width: 160px;
  height: 25px;
}

.single-news_kiji {
  width: 926px;
  margin: 0 auto;
  margin-top: 40px;
}
.single-news_kiji p {
  font-size: 20px;
  font-weight: 500;
  margin-top: 27px;
}
.single-news_kiji p:first-of-type {
  margin-top: 0px;
}
.b-contents.single-news::before {
  width: 640px;
  height: 437px;
  content: "";
  position: absolute;
  bottom: 40px;
  left: 40px;
  background-image: url(img/sub-news-single-bg_leftbottom.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.single-news_kiji-link {
  margin-top: 85px;
  gap: 80px;
  display: flex;
  width: 100%;
  justify-content: center;
}
.single-news_kiji-link_prev a, .single-news_kiji-link_next a,
.single-news_kiji-link_prev, .single-news_kiji-link_next{
display:flex;
width:120px;
height:31.5px;
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
.single-news_kiji-link_prev a, .single-news_kiji-link_prev{
  background-image: url(img/sub-news-single_bg-prev.svg);
  justify-content: flex-end;
}
.single-news_kiji-link_next a, .single-news_kiji-link_next{
  background-image: url(img/sub-news-single_bg-next.svg);
  justify-content: flex-start;
}
.single-news_kiji-link_prev a strong, .single-news_kiji-link_next a strong,
.single-news_kiji-link_prev strong, .single-news_kiji-link_next strong{
  font-size: 20px;
  font-weight: 400;
  color: #B9A5CD;
  line-height:1;
}
.single-news_kiji-link_prev.is-disabled,
.single-news_kiji-link_next.is-disabled {
    opacity: 0.8;       /* 薄くする */
    cursor: not-allowed; /* 禁止マークのカーソルにする */
}
.single-news_list{
margin-top:80px;
width:100%;
}
.single-news_list a {
  width: 520px;
  height: 60px;
  background-color: #B9A5CD;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  margin: 0 auto;
}
.single-news_list a strong {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}


@media screen and  (min-width: 721px) and (max-width: 1400px) {
.single-news_date {
  font-size: 23px;
  font-size: clamp(18px, 1.643vw, 23px);
}
.single-news_title, .sec-jp_title {
  font-size: 40px;
  font-size: clamp(25px, 2.857vw, 40px);
}
.single-news_kiji {
  width: 926px;
  width: 66.143vw;
}
.single-news_kiji p {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}

.b-contents.single-news::before {
  width: 640px;
  height: 437px;
  width: 45.714vw;
  height: 31.214vw;
}
.b-contents.single-news{
  background-position: left 230px;
  background-position: left 16.429vw;
  padding-bottom: 184px;
  padding-bottom: 13.143vw;
}
.single-news_list a {
  width: 520px;
  width: 37.143vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 1024px) {
 .single-news_kiji {
    width: 80%;
  }
}
@media screen and (max-width: 720px) {
.single-news_date {
  font-size: 23px;
  font-size: clamp(18px, 3.194vw, 23px);
}
.single-news_title, .sec-jp_title {
  font-size: 40px;
  font-size: clamp(25px, 5.556vw, 40px);
}
.single-news_kiji {
  width: 90%;
}
.single-news_kiji p {
  font-size: 20px;
  font-size: clamp(16px, 2.778vw, 20px);
}
.b-contents.single-news{
width:100%;
  background-image: url(img/bg_wave_SP.webp);
  background-position: left 27.778vw;
padding-bottom: 184px;
padding-bottom: 25.556vw;
}
.b-contents.single-news::before {
  width: 320px;
  height: 219px;
  width: 44.444vw;
  height: 30.417vw;
  bottom: 20px;
  left: 20px;
}
.single-news_list a {
  width: 346px;
  height: 40px;
  width: 48.056vw;
}
.single-news_list a strong {
  font-size: clamp(16px, 2.5vw, 18px);
}
.single-news_kiji-link_prev a, .single-news_kiji-link_next a, .single-news_kiji-link_prev, .single-news_kiji-link_next {
width:120px;
width:clamp(80px, 16.667vw, 120px);
height:31.5px;
height:clamp(25px, 4.375vw, 31.5px);
}
.single-news_kiji-link_prev a strong, .single-news_kiji-link_next a strong, .single-news_kiji-link_prev strong, .single-news_kiji-link_next strong {
  font-size: 18px;
  font-size: clamp(16px, 2.5vw, 18px);
}
.single-news_kiji-link {
  margin-top: 85px;
  gap: 80px;
  margin-top: 11.806vw;
  gap: 11.111vw;
}


}
.top-info_p {
min-height:300px;
min-height:150px;
}
.top-info_img .span {
  position: relative;
  width: 560px;
  height: 440px;
}
.top-info_img .span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.top-info_p {
min-height:21.429vw;
min-height:10.714vw;
}
.top-info_img .span {
  width: 40vw;
  height: 31.429vw;
}

}
@media screen and (max-width: 720px) {
.top-info_img .span {
  width: 100%;
  height: 360px;
}
.top-info_p {
  min-height: initial;
}

}
.b-contents.page-404 {
  padding-bottom: 73px;
}
.page-404_title {
  font-size: 40px;
  font-weight: 500;
  text-align: center;
}
.page-404_line img {
  /*! height: 24.8px; */
  /*! width: 160px; */
}
.page-404_line {
  text-align: center;
  margin-top: 21px;
}
.page-404_box, .contact-intro_box {
  margin-top: 80px;
  outline: 1px solid #B9A5CD;
  display: flex;
  height: 160px;
  align-items: center;
  justify-content: center;
  position: relative;
}
.page-404_p {
  font-size: 20px;
  font-weight: 800;
}
.page-404_box::before, .contact-intro_box::before {
  width: 200px;
  height: 136px;
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-image: url(img/top-intro_bg.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.page-404_link{
margin-top:80px;
width:100%;
}
.page-404_link a {
  width: 520px;
  height: 60px;
  background-color: #B9A5CD;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.page-404_link a strong{
font-size:18px;
font-weight:500;
color:#fff;
}
@media screen and (min-width: 931px) {
.page-404_p br.spbr{
display:none;
}
}
@media screen and (max-width: 930px) {
.page-404_p{
text-align:center;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.page-404_title {
  font-size: 40px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(30px, 2.857vw, 40px);
}
.page-404_box::before, .contact-intro_box::before {
  width: 200px;
  height: 136px;
  width: 14.286vw;
  height: 9.714vw;
    bottom: 0.714vw;
  right: 0.714vw;
}
.page-404_box, .contact-intro_box {
  margin-top: 80px;
  height: 160px;
  margin-top: 5.714vw;
  height: 11.429vw;
}
.page-404_p {
  font-size: 20px;
font-size: clamp(18px, 1.429vw, 20px);

}

}
@media screen and (min-width: 721px) {
.page-404_title br.spbr{
display:none;
}
}
@media screen and (max-width: 720px) {
.page-404_title {
  font-size: 40px;
/* clamp(最小値, 推奨のレスポンシブサイズ, 最大値) */
font-size: clamp(18px, 4.861vw, 35px);
}
.page-404_box {
  margin-top: 40px;
  }
  .page-404_box::before {
  width: 200px;
  height: 136px;
  width: 27.778vw;
  height: 18.889vw;
}
.page-404_p {
  font-size: 18px;
font-size: clamp(16px, 2.5vw, 18px);
}
.page-404_link {
  margin-top: 40px;
  }
.page-404_link a {
  width: 520px;
  width:250px;
  height:44px;
}
.page-404_link a strong {
  font-size: 16px;
  }
}
@media screen and (min-width: 427px) {
.page-404_p br.spbr2{
display:none;
}

}

/*********************/
/**** お問い合わせ ****/
/*********************/

.contact-intro_box{
flex-direction: column;
}
.contact-intro_p {
  font-size: 18px;
  font-weight: 500;
  text-align:center;
}
.contact-intro_p strong{
  font-size: 20px;
  font-weight: 800;
}
@media screen and (min-width: 961px) {
.contact-intro_p br.spbr{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.contact-intro_box{
height: 13vw;
}
.contact-intro_p {
  font-size: 18px;
font-size: clamp(16px, 1.286vw, 18px);
}
.contact-intro_p strong{
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);

}


}
@media screen and (max-width: 720px) {
.contact-intro_box {
  margin-top: 40px;
  height:150px;
  height:20.833vw;
}
.contact-intro_p {
font-size: clamp(16px, 2.5vw, 18px);
}
.contact-intro_p strong{
  font-size: clamp(17px, 2.778vw, 20px);
}
.contact-intro_box::before {
  width: 180px;
  height: 123px;
  width: 25vw;
  height: 17.083vw;
  bottom: 5px;
  right: 5px;
  bottom: 0.694vw;
  right: 0.694vw;
}

}
@media screen and (max-width: 480px) {
.contact-intro_box {
  padding:10px;
  height:auto;
}
.contact-intro_p {
text-align:left;
letter-spacing: -0.5px;
}
.contact-intro_p br.spbr{
display:none;
}

}

.b-contents.contact-tel {
  background-color: #F0E7F8;
  margin-top: 80px;
  padding-bottom:40px;
  z-index:-2;
}
.contact-tel_box {
  display: flex;
}
.contact-tel_L {
  width: calc(100% - 520px);
}
.contact-tel_R {
  width: 520px;
}
.contact-tel_number {
  width: 100%;
  text-align: center;
  margin-top: 22px;
}
.contact-tel_number a{
font-size:40px;
font-weight:500;
position: relative;
padding-left: 51px;
}
.contact-tel_number a::before {
  width: 40px;
  height: 40px;
  content: "";
  position: absolute;
  top: 10px;
  left: 0px;
  background-image: url(img/tel-icon.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
}
.contact-tel_time{
display:flex;
align-items: flex-start;
margin-top: 30px;
  font-size: 20px;
  font-weight: 500;
  justify-content: center;
}
.contact-tel_time dt{
width: 100px;
flex-shrink: 0;
}
.contact-tel_time dd{
margin:0;
}
.contact-tel_img::before {
  width: 400px;
  height: 400px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(img/photo-frame.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.contact-tel_img {
  width: 100%;
  display: flex;
  position: relative;
  flex-direction: column;
  height: 400px;
  align-items: flex-end;
  justify-content: center;
}
.contact-tel_img .span {
  position: relative;
}
.contact-tel_img img {
  width: 440px;
}
.contact-tel_img .span .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.contact-tel_L {
  width: calc(100% - 520px);
  width: calc(100% - 37.143vw);
}
.contact-tel_R {
  width: 520px;
  width: 37.143vw;
}
.contact-tel_img {
    height: 400px;
    height: 28.571vw;
  }
.contact-tel_img::before {
	width: 400px;
	height: 400px;
	width: 28.571vw;
	height: 28.571vw;
}
.contact-tel_img img {
    width: 440px;
    width: 31.429vw;
  }
.contact-tel_number a::before {
  width: 40px;
  height: 40px;
  width: 2.857vw;
  height: 2.857vw;
  top: 0.714vw;
width:clamp(23px, 2.857vw, 40px);
height:clamp(23px, 2.857vw, 40px);
}
.contact-tel_number a {
  font-size: 40px;
  font-size: clamp(30px, 2.857vw, 40px);
  padding-left: 3.643vw;
}
.contact-intro_box {
margin-top:80px;
}
.contact-tel_time {
  margin-top: 30px;
  margin-top: 4.167vw;
  font-size: 20px;
  font-size: clamp(18px, 2.778vw, 20px);
}
.b-contents.contact-tel {
padding-top: 80px;
margin-top: 80px;
padding-bottom: 80px;
}

}
@media screen and  (min-width: 721px) and (max-width: 1000px) {
.contact-tel_number a::before {
top: 1.3vw;
}
}

@media screen and (max-width: 720px) {
.b-contents.contact-tel {
margin-top:40px;
}
.contact-tel_box {
flex-direction: column;
gap: 40px;
}
.contact-tel_L {
  width: 100%;
  width: 360px;
    margin: 0 auto;
}
.contact-tel_R {
  width: 100%;
}
.contact-tel_img::before {
    width: 320px;
    height: 320px;
  }
.contact-tel_img {
    width: 360px;
    height: 320px;
    margin: 0 auto;
  }
.contact-tel_img img {
    width: 320px;
  }
.contact-tel_number a {
display:flex;
padding-left:0px;
width: 100%;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.contact-tel_number a::before {
position: relative;
display:flex;
top: initial;
  left: initial;
  width:40px;
  height:40px;
    width:5.556vw;
  height:5.556vw;
    width:28px;
  height:28px;
}
.contact-tel_number a {
  font-size: 40px;
  font-size: clamp(30px, 2.857vw, 40px);
}
.contact-tel_time {
  font-size: 20px;
  font-size: clamp(18px, 2.778vw, 20px);
}


}
@media screen and (max-width: 450px) {
.contact-tel_L {
width:100%;
}
.contact-tel_img {
    width: 80vw;
    height: 71.111vw;
  }
  .contact-tel_img::before {
    width: 71.111vw;
    height: 71.111vw;
  }
  .contact-tel_img img {
    width: 71.111vw;
  }
  
}

.b-contents.contact-mail {
  padding-bottom: 74px;
width: 100%;
  background-image: url(img/bg_wave_PC.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
.contact-mail_p {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  margin-top: 32px;
}
.contact-mail_mf {
  margin-top: 35px;
}
.contact-mail_item {
  display: flex;
  border: 1px solid #B9A5CD;
  min-height: 80px;
  border-bottom:none;
}
.contact-mail_item:last-of-type{
  border-bottom: 1px solid #B9A5CD;
  height:auto;
}
.contact-mail_item dt {
  background-color: #F0E7F8;
  width: 320px;
  align-items: center;
  display: flex;
  border-right: 1px solid #B9A5CD;
}
.contact-mail_title {
  width: 240px;
  display: flex;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 500;
}
.contact-mail_title span {
  display: flex;
  width: 40px;
  border-radius: 4px;
  background-color: #655872;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  height: 32px;
  justify-content: center;
  align-items: center;
}
.contact-mail_title p {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.contact-mail_item dd {
  align-items: center;
  display: flex;
  width: calc(100% - 320px);
  background-color:#fff;
}
.contact-mail_text input, .contact-mail_text textarea {
  background: rgba(101,88,114,0.06);
  border: 0;
  width: 100%;
  border-radius: 0;
  font-size: 18px;
  font-weight:500;
}
.contact-mail_text textarea {
margin-top:18px;
height:360px;
}
.contact-mail_text {
  width: 100%;
  padding: 16px 20px;
}
.contact-form-mf_text.mf-item_radio{
  margin-top: 20px;
  justify-content: space-between;
  display: flex;
}
.mf-radio label {
  display: flex;
  align-items: center;
  column-gap: 3px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
  font-size: 18px;
}
.mf-radio label input {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #655872;
  border-radius: 9999px;
  cursor: pointer;
  background: #fff;
}
.mf-radio label input:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 14px;
  height: 14px;
  margin: auto;
  border-radius: 9999px;
  background-color: #655872;
}
.wpcf7-form-control.wpcf7-radio.mf-radio {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  gap: 20px;
}
.mf-radio .wpcf7-list-item {
margin:0;
}
.mf-radio .wpcf7-list-item.last {
  flex: 0 0 auto;
  /*margin-right: auto;*/
  /*margin-left: 16px;*/
}

.contact-mail_send-text {
  font-size: 18px;
  font-weight: 500;
  margin-top: 34px;
  text-align: center;
}
.contact-mail_send-text a {
  font-weight: 800;
}
.contact-mail_send {
  display: flex;
  position: relative;
  width: 520px;
  margin: 0 auto;
  margin-top: 37px;
}
.contact-mail_send input {
  width: 520px;
  height: 60px;
  background-color: #B9A5CD;
  border: none;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
.wpcf7-spinner {
  position: absolute;
  right: 0;
  top: 18px;
}
[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
background-color: #B9A5CD;
}
.contact-mail_item:last-of-type dt {
align-items: flex-start;
padding-top: 15px;
}
.b-contents.contact-mail .b-contents_wrap{
position: relative;
}
.b-contents.contact-mail .b-contents_wrap::before {
  width: 340px;
  height: 300px;
  content: "";
  position: absolute;
  top: -40px;
  left: 0px;
  background-image: url(img/contact-mail-bg_lefttop.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}


@media screen and  (min-width: 721px) and (max-width: 1400px) {
/*.b-contents.contact-mail .b-contents_wrap::before {
  width: 340px;
  height: 300px;
  width: 24.286vw;
  height: 21.429vw;
  top: 0px;
}*/
.contact-mail_item dt {
  width: 320px;
  width: 22.857vw;
}
.contact-mail_item dd {
  width: calc(100% - 320px);
  width: calc(100% - 22.857vw);
}
.contact-mail_title {
  width: 240px;
  width: 17.143vw;
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}
.contact-mail_p {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}


}
@media screen and  (min-width: 721px) and (max-width: 1124px) {
.contact-mail_title {
width: 90%;
}
.contact-mail_title p {
flex-direction: column;
letter-spacing: -1px;
}
.contact-mail_title span {
font-size: 14px;
height: 20px;
padding-bottom: 3px;
margin-top: 5px;
}


}
@media screen and (max-width: 720px) {
.b-contents.contact-mail {
  background-image: url(img/bg_wave_SP.webp);
}
.contact-mail_p {
  font-size: 20px;
  font-size: clamp(16px, 2.778vw, 20px);
}
.contact-mail_item {
flex-direction: column;
}
.contact-mail_item dt {
width:100%;
border-bottom: 1px solid #B9A5CD;
border-right: none;
height: 35px;
}
.contact-mail_title {
  width: 90%;
  font-size: 20px;
  font-size: clamp(18px, 2.778vw, 20px);
}
.contact-mail_title p {
align-items: center;
}
.contact-mail_title span {
font-size: 14px;
height: 25px;
}
.contact-mail_item:last-of-type dt {
padding-top: initial;
}
.contact-mail_item:last-of-type dt {
  align-items: initial;
}
.contact-mail_item dd {
width: 100%;
}
.contact-mail_send {
width: 80%;
}
.contact-mail_send p {
  width: 100%;
}
.contact-mail_send input {
  width: 100%;
  height: 44px;
}
.wpcf7-spinner {
top: 10px;
}
.contact-mail_text textarea {
  height: 250px;
}
.b-contents.contact-mail .b-contents_wrap::before {
  width: 170px;
  height: 150px;
 /*width: 23.611vw;
  height: 20.833vw;*/
  top: 75px;
  /*top: 10.417vw;*/
}


}
@media screen and (max-width: 460px) {
.contact-mail_text {
  padding: 16px 10px;
}
.contact-mail_text input, .contact-mail_text textarea {
font-size:16px;
}
.mf-radio label {
font-size:16px;
}
.contact-mail_send-text {
  font-size: 16px;
  text-align: left;
}
.contact-mail_send input {
font-size:16px;
}
.contact-mail_p {
font-size:16px;
text-align: left;
}


}

/*********************/
/**** 初めての方へ ****/
/*********************/
.sec-jp_line{
margin-top:31px;
}
.b-contents.beginner-start {
  padding-bottom: 80px;
}
.beginner-start_p {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  margin-top: 32px;
}
.beginner-start_img {
  margin-top: 75px;
  position: relative;
}
.beginner-start_img .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}
.b-contents.beginner-start::before {
  width: 340px;
  height: 300px;
  content: "";
  position: absolute;
  top: 40px;
  left: 40px;
  background-image: url("img/contact-mail-bg_lefttop.svg");
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

.b-contents.beginner-lesson {
  background-color: #F0E7F8;
  padding-bottom:80px;
}
.beginner-lesson_dl {
  width: 600px;
  height: 200px;
  display: flex;
  background-color: #655872;
  margin: 0 auto;
  margin-top: 75px;
  align-items: center;
  justify-content: center;
  gap: 98px;
}
.beginner-lesson_dl dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:10px;
}
.beginner-lesson_dl-h4 {
  color: #fff;
  font-size: 34px;
  font-weight: 400;
}
.beginner-lesson_dl-p {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.beginner-lesson_dl-line {
}
.beginner-lesson_dl dd a {
  display: flex;
  width: 240px;
  height: 60px;
  background-color: #fff;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
}
.beginner-lesson_pamphlet {
  margin-top: 80px;
  width: 100%;
}
.beginner-lesson_pamphlet a {
  width: 400px;
  display: flex;
  height: 60px;
  background-color: #B9A5CD;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  margin: 0 auto;
}
.beginner-lesson_pamphlet a strong {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  padding-left: 49px;
  position: relative;
}
.beginner-lesson_pamphlet a strong::before {
  width: 30px;
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  height: 37px;
  background-image: url(img/icon-pdf.svg);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.b-contents.beginner-start::before {
  width: 340px;
  height: 300px;
  top: 40px;
  left: 40px;
  width: 24.286vw;
  height: 21.429vw;
  top: 2.857vw;
  left: 2.857vw;
}
.beginner-start_p {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}



}
@media screen and (max-width: 720px) {
.b-contents.beginner-start::before {
  width: 170px;
  height: 150px;
  top: 20px;
  left: 20px;
}
.sec-jp_line {
  margin-top: 16px;
}
.b-contents.beginner-start {
  padding-bottom: 40px;
}
.b-contents.beginner-lesson {
padding-bottom: 40px;
}
.beginner-start_p {
font-size: clamp(16px, 2.778vw, 20px);
}
.beginner-start_img {
  margin-top: 40px;
}
.beginner-lesson_dl {
  width: 90%;
  margin-top: 40px;
  justify-content: space-around;
  gap: initial;
}
.beginner-lesson_pamphlet {
  margin-top: 40px;
}


}
@media screen and (max-width: 630px) {
.beginner-lesson_dl {
flex-direction: column;
justify-content: center;
height: auto;
padding-top: 20px;
padding-bottom: 20px;
gap: 20px;
}
.beginner-lesson_dl dd a {
height: 50px;
}
.beginner-lesson_dl-p br.br {
  display: none;
}

}
@media screen and (max-width: 500px) {
.beginner-start_p {
text-align:left;
}
.beginner-lesson_dl-p {
font-size:16px;
}
.beginner-lesson_dl dd a {
font-size:16px;
}
.beginner-lesson_pamphlet a {
  width: 100%;
  height:44px;
}
.beginner-lesson_pamphlet a strong {
font-size:16px;
padding-left: 30px;
}
 .beginner-lesson_dl {
    width: 100%;
}
.beginner-lesson_pamphlet a strong::before {
top:0;
height:100%;
}

}
/*********************************/
/**** バレエスタジオについて ****/
/*********************************/
.b-contents.about-intro .b-contents_wrap {
  position: relative;
}
.b-contents.about-intro .b-contents_wrap::before {
  width: 350px;
  height: 240px;
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  background-image: url(img/about-intro_bg.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.about-intro_p {
  font-size: 20px;
  font-weight: 500;
  margin-top: 26px;
}
.about-intro_p.about-intro_p-r {
  text-align: right;
  margin-top: 50px;
}

.about-principal_box {
  display: flex;
  justify-content: space-between;
  margin-top:35px;
}
.about-principal_L {
  width: 480px;
}
.about-principal_R {
  width: 630px;
}
.b-contents.about-principal {
  padding-top: 100px;
}
.about-principal .midashi {
width:480px;
}
.about-principal .midashi-line {
  margin-top: 20px;
}
.about-principal .midashi-jp {
  font-size: 20px;
  margin-top: 12px;
}
.about-principal_p {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.5px;
  margin-top:23px;
}
.about-principal_p:first-of-type {
  margin-top:67px;
}
.about-principal_p:last-of-type {
  margin-bottom:67px;
}
.about-principal{
width:100%;
padding-bottom: 115px;
  background-image: url(img/bg_about-wave.webp);
  background-position: left bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and  (min-width: 721px) and (max-width: 1400px) {
.b-contents.about-intro .b-contents_wrap::before {
  width: 350px;
  height: 240px;
  width: 25vw;
  height: 17.143vw;
}
.about_line{
display: flex;
height:32px;
height:2.286vw;
}
.about-intro_p {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}
.b-contents.about-principal {
  padding-top: 100px;
  padding-top: 7.143vw;
}
.about-principal_box {
margin-top: 35px;
margin-top: 2.5vw;
}
.about-principal_L {
  width: 480px;
  width: 34.286vw;
}
.about-principal_R {
  width: 630px;
  width: 45vw;
}
.about-principal .midashi {
  width: 480px;
  width: 34.286vw;
}
.about-principal_p:first-of-type {
  margin-top: 67px;
  margin-top: 4.786vw;
  margin-top: 3vw;
}
.about-principal_p:last-of-type {
  margin-bottom: 67px;
  margin-bottom: 4.786vw;
  margin-bottom: 3vw;
}
.about-principal_p {
  font-size: 20px;
  font-size: clamp(17px, 1.429vw, 20px);
}
.about-principal .midashi-jp {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
  margin-top: 12px;
  margin-top: 0.857vw;
}
.about-principal .midashi-line {
  margin-top: 20px;
  margin-top: 1.429vw;
}


}
@media screen and (max-width: 720px) {
.b-contents.about-intro .b-contents_wrap::before {
  width: 175px;
  height: 119px;
  width: 24.306vw;
  height: 16.528vw;
}
.page-id-306 .sub-head_en {
font-size: 25px;
font-size: clamp(18px, 4.167vw, 30px);
}
.about-intro_p {
font-size: clamp(16px, 2.778vw, 20px);
}
.about-principal_p {
font-size: clamp(16px, 2.778vw, 20px);
}
.about-principal .midashi {
width: 480px;
width:100%;
}
.b-contents.about-principal {
  padding-top: 40px;
}
.about-principal_box {
flex-direction: column;
}
.about-intro_p.about-intro_p-r {
  margin-top: 30px;
}
.about-principal_L {
  width: 90%;
  margin:0 auto;
}
.about-principal_R {
  width: 90%;
  margin:0 auto;
  margin-top:40px;
}
.about-principal_p:first-of-type {
  margin-top:10px;
}
.about-principal_p:last-of-type {
  margin-bottom:10px;
}
.about-principal .midashi-jp {
font-size: clamp(16px, 2.778vw, 20px);
}
.about-principal .midashi-line {
  margin-top: 10px;
}
.about-principal{
padding-bottom: 40px;
  background-image: url(img/bg_wave_SP.webp);
}


}


.b-contents.about-instructor {
  background-color: #F0E7F8;
  padding-top: 127px;
  padding-bottom: 100px;
  z-index:-1;
}
.about-instructor_ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 90px;
}
.about-instructor_ul li {
  width: 480px;
}
.about-instructor_name {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.about-instructor_img {
  margin-top: 36px;
}
.about-instructor_prof {
  margin-top: 40px;
}
.about-instructor .midashi-line {
  margin-top: 20px;
}
.about-instructor .midashi-jp {
  font-size: 18px;
  margin-top: 14px;
}
.about-instructor_prof-p {
  font-size: 20px;
  font-weight: 500;
  margin-top:25px;
}
.about-instructor_prof-p:first-of-type {
margin-top:0px;
}
.b-contents.about-instructor::before {
  width: 340px;
  height: 300px;
  content: "";
  position: absolute;
  top: 48px;
  left: 38px;
  background-image: url(img/about-instructor-bg_lefttop.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}
.b-contents.about-instructor::after {
  width: 800px;
  height: 1160px;
  content: "";
  position: absolute;
  bottom: 162px;
  right: 50px;
  background-image: url(img/about-instructor-bg_rightbottom.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

@media screen and  (min-width: 721px) and (max-width: 1400px) {
.b-contents.about-instructor::before {
  width: 340px;
  height: 300px;
  width: 24.286vw;
  height: 21.429vw;
  top: 48px;
  left: 38px;
  top: 3.429vw;
  left: 2.714vw;
}
.b-contents.about-instructor::after {
  width: 800px;
  height: 1160px;
  width: 57.143vw;
  height: 82.857vw;
  bottom: 162px;
  right: 50px;
  bottom: 11.571vw;
  right: 3.571vw;
}
.b-contents.about-instructor {
  padding-top: 127px;
  padding-bottom: 100px;
  padding-top: 9.071vw;
  padding-bottom: 7.143vw;
}
.about-instructor_ul {
  gap: 90px;
  gap: 6.429vw;
}
.about-instructor_ul li {
  width: 480px;
  width: 34.286vw;
}
.about-instructor_img {
  margin-top: 36px;
  margin-top: 2.571vw;
}
.about-instructor_prof {
  margin-top: 40px;
  margin-top: 2.857vw;
}
.about-instructor .midashi-line {
  margin-top: 20px;
  margin-top: 1.429vw;
}
.about-instructor .midashi-jp {
  font-size: 18px;
  font-size: clamp(16px, 1.286vw, 18px);
  margin-top: 14px;
  margin-top: 1vw;
}
.about-instructor_prof-p {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
  margin-top:25px;
  margin-top:1.786vw;
}


}
@media screen and (max-width: 720px) {
.b-contents.about-instructor::before {
  width: 340px;
  height: 300px;
    width: 47.222vw;
  height: 41.667vw;
  top: 20px;
  left: 20px;
}
.b-contents.about-instructor::after {
  width: 550px;
  height: 379px;
  width: 76.389vw;
  height: 52.639vw;
     bottom: 40px;
  right: 20px;
  background-position: right bottom;
}

.b-contents.about-instructor {
  padding-top: 40px;
  padding-bottom: 40px;
}
.about-instructor_ul {
gap: 40px;
}
.about-instructor_ul li {
  width: 80%;
  margin: 0 auto;
}
.about-instructor .midashi-line {
  margin-top: 10px;
}
.about-instructor .midashi-jp {
  font-size: 18px;
  font-size: clamp(16px, 2.778vw, 20px);
  margin-top: 12px;
}
.about-instructor_prof-p {
  font-size: 20px;
  font-size: clamp(16px, 2.778vw, 20px);
  margin-top: 23px;
}
.about-instructor_prof {
  margin-top: 40px;
  margin-top: 5.556vw;
}


}

.about-principal {
  background-image: url(img/bg_about-wave2.webp);
}
.about-founder .midashi-jp {
  font-size: 18px;
}
@media screen and (min-width: 1401px) {
.about-founder .midashi-jp br.br{
display:none;
}
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.about-founder .midashi-jp {
  font-size: clamp(16px, 1.286vw, 18px);
text-align:center;
}
}
@media screen and (min-width: 721px) {
.about-last_img_SP{
display:none;
}
}
@media screen and (max-width: 720px) {
.about-last_img_PC{
display:none;
}
.about-founder .midashi-jp {
  font-size: clamp(16px, 2.5vw, 18px);
text-align:center;
}
}
.about-last_img{
width:100%;
  position: relative;
}
.about-last_img .photo-copyright {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  font-size: 12px;
}



/*******************************/
/**** バレエスタジオご紹介 ****/
/******************************/

.b-contents.studio-list {
  padding-top: 70px;
  padding-bottom: 80px;
  scroll-padding-top: 195px;
}
@media screen and (max-width: 1226px) {
.b-contents.studio-list {
  scroll-padding-top: 170px;
}
}
@media screen and (max-width: 720px) {
.b-contents.studio-list {
  scroll-padding-top: 140px;
}
}
#midorigaoka.b-contents.studio-list,
#doushin.b-contents.studio-list {
background-color:#F6F0F8;
}
#midorigaoka .studio-list_info,
#doushin .studio-list_info {
  background-color: #FBF9FC;
}
.studio-list_box {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.studio-list_L {
  width: 520px;
}
.studio-list_R {
  width: 630px;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.studio-list_address {
  font-size: 20px;
  text-align: center;
  font-weight: 500;
}
.studio-list_info {
  background-color: #F6F0F8;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 152px;
  margin-top: 35px;
padding-left: 20px;
  padding-right: 20px;
}
.studio-list_info-p {
  font-size: 18px;
  font-weight: 500;
}
.studio-list_link {
  display: flex;
  width: 100%;
  margin-top: 40px;
  justify-content: center;
  gap: 35px;
}
.studio-list_link li {
  width: 270px;
}
.studio-list_link li a {
  background-color: #B9A5CD;
  width: 100%;
  display: flex;
  height: 60px;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
}
.studio-list_link li a strong {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}

.studio-slider {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding-bottom: 35px; /* 下部ドット用の余白 */
}
.studio-slider .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
}

/* ドットの配置調整 */
.studio-slider .swiper-pagination {
	bottom: 0 !important; /* 最下部に配置 */
	line-height: 1;
}

/* ドット（非選択時：線のみ） */
.studio-slider .swiper-pagination-bullet {
	width: 16px;
	height: 16px;
	display: inline-block;
	border-radius: 50%;
	background: transparent;
	border: 1px solid #B9A5CD;
	opacity: 1;
	cursor: pointer;
	margin: 0 6px !important;
	box-sizing: border-box;
	transition: background-color 0.3s;
}

/* ドット（選択時：塗りつぶし） */
.studio-slider .swiper-pagination-bullet-active {
	background: #B9A5CD;
}

/* 左右矢印（共通：丸背景と白矢印） */
.studio-slider .swiper-button-next,
.studio-slider .swiper-button-prev {
	color: #ffffff;                    /* 矢印の色：白 */
	background-color: #B9A5CD;         /* 背景色：#B9A5CD */
	width: 40px;                       /* 丸の幅 */
	height: 40px;                      /* 丸の高さ */
	border-radius: 50%;                /* 正円にする */
	--swiper-navigation-size: 16px;    /* 矢印のサイズ（丸に合わせて小さめに調整） */
	margin-top: -30px;                 /* 写真の縦中央に配置（丸のサイズ分調整） */
	transition: opacity 0.3s;
display: flex;
	align-items: center;
	justify-content: center;
	display:none;
}

/* ホバー時（任意：少し半透明にする） */
.studio-slider .swiper-button-next:hover,
.studio-slider .swiper-button-prev:hover {
	opacity: 0.8;
}

/* スライドの最初・最後で矢印を薄くする（非アクティブ時） */
.studio-slider .swiper-button-disabled {
	opacity: 0.35;
}

@media screen and  (min-width: 721px) and (max-width: 1400px) {
.studio-list_L {
  width: 520px;
  width: 37.143vw;
}
.studio-list_R {
  width: 630px;
  width: 45vw;
}
.studio-list_address {
  font-size: 20px;
  font-size: clamp(18px, 1.429vw, 20px);
}
.studio-list_info {
height: 152px;
  margin-top: 35px;
  padding-left: 20px;
  padding-right: 20px;
  height: 10.857vw;
  margin-top: 2.5vw;
  padding-left: 1.429vw;
  padding-right: 1.429vw;
}
.studio-list_info-p {
  font-size: 18px;
  font-size: clamp(16px, 1.286vw, 18px);
}
.studio-list_link {
  margin-top: 40px;
  gap: 35px;
  margin-top: 2.857vw;
  gap: 2.5vw;
}
.studio-list_link li {
  width: 270px;
  width: 19.286vw;
}
.studio-list_link li a strong {
  font-size: 18px;
  font-size: clamp(16px, 1.286vw, 18px);
}
.studio-slider {
	padding-bottom: 35px;
	padding-bottom: 2.5vw;
}
.studio-slider .swiper-pagination-bullet {
	width: 16px;
	height: 16px;
	width: 1.143vw;
	height: 1.143vw;
}
.studio-slider .swiper-button-next,
.studio-slider .swiper-button-prev {
	width: 40px;
	height: 40px;
	--swiper-navigation-size: 16px;
	width: 2.857vw;
	height: 2.857vw;
	--swiper-navigation-size: 1.143vw;
}

}
@media screen and  (min-width: 721px) and (max-width: 1200px) {
.studio-list_box {
gap:30px;
}
.studio-list_L {
  width: 40%;
}
.studio-list_R {
  width: 60%;
}
.studio-list_link {
gap:10px;
}
.studio-list_link li {
width:50%;
}
.studio-list_link li a strong {
letter-spacing: -0.5px;
}



}

@media screen and (min-width: 1025px) {
.studio-list_link li a strong br.spbr{
display:none;
}
}

@media screen and  (min-width: 721px) and (max-width: 1024px) {
.studio-list_info {
height: auto;
padding: 15px;
}
.studio-list_link {
gap: 10px;
/*flex-direction: column;*/
align-items: center;
}
.studio-list_link li {
width:50%;
}
.studio-list_link li a {
height:44px;
}
.studio-list_link li a strong {
line-height: 1.2;
    text-align: center;
}

}
@media screen and (max-width: 720px) {
.page-id-360 .sub-head_en {
    font-size: 25px;
    font-size: clamp(22px, 4.167vw, 30px);
  }
.studio-list_box {
flex-direction: column;
}
.studio-list_L {
  width: 100%;
}
.studio-list_R {
  width: 100%;
  margin-top: 40px;
}
.b-contents.studio-list {
  padding-top: 40px;
  padding-bottom: 40px;
}
.studio-slider {
	padding-bottom: 30px;
}
.studio-slider .swiper-pagination-bullet {
	width: 14px;
	height: 14px;
}
.studio-list_address {
  font-size: 20px;
	font-size: clamp(16px, 2.778vw, 20px);
}
.studio-list_info {
height: auto;
padding: 15px;
margin-top:20px;
}
.studio-list_info-p {
  font-size: 18px;
  font-size: clamp(16px, 2.5vw, 18px);
}
.studio-list_link {
gap: 5px;
}
.studio-list_link li {
  width: 50%;
}
.studio-list_link li a strong {
  font-size: 18px;
  font-size: clamp(16px, 2.5vw, 18px);
  text-align:center;
  letter-spacing: -0.5px;
}


}
@media screen and (min-width: 451px) {
.page-id-360 .sec-jp_title br.spbr{
display:none;
}
}
@media screen and (max-width: 390px) {
.studio-list_link {
flex-direction: column;
gap:15px;
}
.studio-list_link li {
  width: 100%;
}
.studio-list_link li a {
height:48px;
}
.studio-list_link li a strong {
line-height:1.2;
}


}
/*********************/
/**** ギャラリー ****/
/*********************/

.gallery_title {
  font-size: 28px;
  font-weight: 500;
}
.gallery_line {
  display: flex;
  height: 24.7px;
  margin-top: 13px;
}
.gallery_p {
  margin-top: 13px;
  font-size: 20px;
  font-weight: 500;
  min-height: 60px;
}
.gallery_img {
  margin: 0 auto;
  width: 900px;
  margin-top: 36px;
}
.gallery_copyright {
  margin-top: 10px;
  text-align: right;
  font-size: 12px;
}
.b-contents.gallery-list {
  padding-top: 75px;
  padding-bottom: 80px;
}
.b-contents.gallery-list:nth-child(even) {
background-color:#F6F0F8;
z-index:0;
}
.b-contents.gallery-list::before {
  width: 340px;
  height: 300px;
  content: "";
  position: absolute;
  top: 40px;
  right: 40px;
  background-image: url(img/gallery-bg_righttop.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
.b-contents.gallery-list:nth-child(even)::before {
  width: 640px;
  height: 437px;
  content: "";
  position: absolute;
  top: 40px;
  right: 40px;
  background-image: url(img/gallery-bg_righttop-p.svg);
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  z-index:-1;
}
@media screen and  (min-width: 721px) and (max-width: 1400px) {
.b-contents.gallery-list::before {
  width: 340px;
  height: 300px;
  width: 24.286vw;
  height: 21.429vw;
  top: 40px;
  right: 40px;
  top: 2.857vw;
  right: 2.857vw;
}
.b-contents.gallery-list:nth-child(even)::before {
  width: 640px;
  height: 437px;
  width: 45.714vw;
  height: 31.214vw;
  top: 2.857vw;
  right: 2.857vw;
}
.gallery_title {
  font-size: 28px;
  font-size: clamp(20px, 2vw, 28px);
}
.gallery_p {
  font-size: 20px;
  font-size: clamp(16px, 1.429vw, 20px);
  min-height: 60px;
  min-height: 4.286vw;
}
.gallery_line {
height: 24.7px;
height: 1.764vw;
}


}

@media screen and  (min-width: 721px) and (max-width: 1024px) {
.gallery_img {
width: 900px;
width: 87.891vw;
}


}


@media screen and (min-width: 721px) {
.gallery_img-SP{
display:none;
}
}
@media screen and (max-width: 720px) {
.gallery_img-PC{
display:none;
}
.b-contents.gallery-list {
  padding-top: 40px;
  padding-bottom: 40px;
}
.gallery_title {
  font-size: 28px;
  font-size: clamp(18px, 3.889vw, 28px);
}
.gallery_p {
  font-size: 20px;
  font-size: clamp(16px, 2.778vw, 20px);
  min-height: 60px;
  min-height: 8.333vw;
}
.gallery_line {
height: 24.7px;
height: 3.431vw;
}
.gallery_img {
width:100%;
}
.b-contents.gallery-list::before {
  width: 170px;
  height: 150px;
  width: 23.611vw;
  height: 20.833vw;
  top: 20px;
  right: 20px;
  top: 2.778vw;
  right: 2.778vw;
}
.b-contents.gallery-list:nth-child(even)::before {
  width: 320px;
  height: 218px;
  width: 44.444vw;
  height: 30.278vw;
  top: 2.778vw;
  right: 2.778vw;
}

}
/*20260618*/
.top-insta_link {
justify-content: center;
}
@media screen and (max-width: 720px) {
.top-concept {
padding-bottom: 40px;
}
.b-contents.top-studio {
    padding-top: 40px;
    padding-bottom: 40px;
  }
.top-studio_box {
    gap: 40px;
  }
 .top-studio_box li {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
}
.top-studio_name {
width:100%;
align-items: center;
gap: 10px;
}
.top-studio_name-h3 {
font-size: clamp(21px, 3.472vw, 25px);
text-align: center;
}
.top-studio_name-h3.long {
font-size: clamp(21px, 3.472vw, 25px);
text-align: center;
}
.top-studio_name-line {
    height: 18px;
    /*height: 2.5vw;*/
  }
.top-studio_name-line img {
    height: 100%;
  }
.top-studio_address {
text-align: center;
font-size: clamp(16px, 2.778vw, 20px);
}
.top-studio_photo {
width: 360px;
    height: 280px;
}
.top-studio_link a {
width:80%;
width: 280px;
    height: 48px;
}

}
@media screen and (max-width: 550px) {
  .top-studio_box br.spbr2 {
    display: none;
  }
}
@media screen and (max-width: 500px) {
.top-studio_photo {
width: 360px;
    height: 280px;
width: 72vw;
    height: 56vw;
}

}
/*20260619*/
@media screen and  (min-width: 721px) and (max-width: 949px) {
    .top-studio_box {
    gap:63px;
    gap:6.639vw;
    }
    .top-studio_box li {
    width: calc(50% - 63px);
    width: calc(50% - 6.639vw);
    }



}
.grecaptcha-badge {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}

/* クラス「is-show」がついた時に表示する */
.grecaptcha-badge.is-show {
  visibility: visible;
  opacity: 1;
}
