@charset "utf-8";
/*_______________________________

         【ラ･パルレ】
　　
　　　　　全ページ共通CSS
　　　　　（PC・TB・SP）

　　　　リニューアル2025
_______________________________*/




/*     共通
____________________*/

:root {
  --main-color: #AF92BF;
  --accent-color: #601986;
  --main-text-color: #604C3F;
  --title-text-color:#907325;	
}


html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	max-width: 100vw;
}

body {
    font-size: 15px;
    color: var(--main-text-color);
    font-family: "M PLUS Rounded 1c", serif;
    overflow-x: hidden;
    line-height: 1.5;
    position: relative;
    width: 100%;
    background: #fff;
    font-weight: 400;
	max-width: 100vw;
}

img {
    vertical-align: bottom;
	max-width: 100%;
	pointer-events: none;
}

a{ 
	text-decoration: none;
	color: var(--main-text-color);
}

@media(hover:hover){
a{
		transition:opacity 0.5s ease-out;
	}
a:hover{
		opacity: 0.6;
		transition:opacity 0.5s ease-out;
    }
}


.sp_only {
    display: none;
}

* {
    opacity: 1;
}

.inner{
	max-width: 900px;
	margin: auto;
}


.link_btn{
	font-size: 16px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    border: 1px solid #707070;
    max-width: 400px;
	width: 100%;
    min-height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0 auto;
	text-align: center;
}


.h2_bg{
	background: url(/asset2025/img/common/title_bg_wave.svg) no-repeat;
	background-position: center;
	background-size:400px;
	min-height: 85px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--accent-color);
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: bold;
  -webkit-text-stroke: 6px #fff;
  text-stroke: 6px #fff;
  paint-order: stroke;
	margin-bottom: 50px;
   line-height: 1.25em;
}


/*.title_arabesque*/
.title_arabesque{
	position: relative;
	margin-bottom: 30px;
}
.title_arabesque::before,
.title_arabesque::after{
	content:"";
	background-position: center;
	display: block;
	background-repeat: no-repeat;
	width: 100%;
}
.title_arabesque::before{
	background-image:url(/asset2025/img/common/title_arabesque_top.svg);
	height: 55px;
}
.title_arabesque::after{
	background-image:url(/asset2025/img/common/title_arabesque_bottom.svg);
	height: 20px;
}
.title_arabesque h2{
	color: var(--title-text-color);
    font-size: 27px;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
	text-align: center;
	padding: 20px 0;
}
.title_arabesque h2 span{
	display: block;
	font-size: 22px;
}




/*     header
____________________*/
header {
	background: #B58BBE;
	height: 95px;
	display: flex;
	align-items: center;
	color: #fff;
	padding: 10px min(4vw,30px);
	gap: 0 min(1.5vw,25px);
	position: relative;
	box-sizing: border-box;
	position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 10;
}

header .logo img{
	width: min(17vw,162px);
}


header nav{
    flex-basis: min(70vw,600px);
}
header nav ul{
	display: flex;
	gap: 0 min(2vw,30px);
}
header nav a{
	color: #fff;
	font-size: min(1.6vw,17px);
	font-family: "Noto Serif JP", serif;
}
header .for_first{
    display: flex;
    align-items: center;
    gap: 5px min(1vw,20px);
    flex-wrap: wrap;
    justify-content: center;
    margin-left: auto;
}
header .for_first span{
    font-size: min(1.2vw,17px);
    display: block;
    text-align: center;
    font-weight: 500;
}
header .for_first .btn {
	width: min(18vw,200px);
	display: block;
}


/*     .mv
____________________*/

.mv{
	position: relative;
}
.mv .logo{
	position: absolute;
	top: 95px;
	bottom: clamp(60px, 10vw, 120px);
	display: flex;
	align-items: center;
	left: 10%;
	z-index: 3;
	pointer-events: none;
}
.mv .logo img{
	width: clamp(141px,30vw,450px);
}
.mv_box{
	display: flex;
	flex-flow: column;
	height: clamp(295px, 48vw, 930px);
}


.mv_box .bg_img{
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.mv_box .bg_img img{
	object-fit: cover;
	object-position: right;
	width: 100%;
	height: 100%;
}

.mv_title{
    background: rgb(96 76 63 / 60%);
    height: clamp(60px,10vw,120px);
    display: flex;
    align-items: center;
    margin-top: auto;
    font-family: "Noto Serif JP", serif;
    gap:0 20px;
    font-size: clamp(15px, 2.2vw, 33px);
}
.mv_title span{
    position: relative;
    background: rgb(255 255 255 / 50%);
    line-height: 1.3;
    z-index: 0;
    height: 60px;
    display: flex;
    align-items: center;
    padding: 0 0 0 min(2.5vw, 30px);
    margin-right: 40px;
	padding-right: 10px;
    font-size: clamp(15px, 2.2vw, 33px);
}
.mv_title span::after{
    content: '';
    position: absolute;
    left: 100%;
    top: 0;
    bottom: 0;
    border: none;
    border-left: solid 40px rgb(255 255 255 / 50%);
    border-bottom: solid 60px transparent;
    z-index: -1;
}
.mv_title em{
	color: #fff;
    font-size: clamp(20px, 2.5vw, 33px);
}
.mv_title em small{
	font-size: 24px;
}




/*    side_menu
____________________*/

.side_menu{
	width: 250px;
	box-shadow: 1px 1px 5px 5px rgb(0 0 0 / 20%);
	padding: 20px 20px 20px min(2.5vw, 30px);
	height: 100vh;
	box-sizing: border-box;
	background: #fff;
}

.side_menu .logo{
	width: 120px;
	margin: auto auto 35px;
}
.side_menu .logo a{
	display: block;
}
.side_menu > ul,
.side_menu > dl{
    display: flex;
    flex-flow: column;
    gap: 10px;
	margin-bottom: 20px;
}
.side_menu dt{
	font-size: 14px;
	color: var(--accent-color);
	font-family: "Noto Serif JP", serif;
}
.side_menu > ul > li > a,
.side_menu > dl > dd > a,
.side_menu > dl > dd > span{
	height: 35px;
    border-left: 4px solid var(--main-color);
    display: flex;
    padding: 0 0 0 5px;
    flex-flow: column;
    justify-content: center;
    line-height: 1.25;
}
.side_menu ul ,
.side_menu dl {
	font-size: 12px;
	font-family: "Noto Serif JP", serif;
}
.side_menu ul em,
.side_menu dl em {
	font-size: 17px;
}
.side_menu dd > div{
    margin-top: 5px;
    padding-left: 10px;
    letter-spacing: 0.1em;
}
.side_menu dd > div small{
	display: block;
}



.side_menu > dl > dd.drop-down {
	position: relative;
}
.side_menu > dl > dd.drop-down > a{
	width: 100%;
}
.side_menu > dl > dd.drop-down > a::after{
	content: "";
    border-right: 1px solid #707070;
    border-top: 1px solid #707070;
    bottom: 0;
    height: 15px;
    width: 15px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transform: rotate(45deg);
    transition: right .3s;
}
.side_menu > dl > dd.drop-down ul {
    opacity: 0;
    position: absolute;
	z-index: 10;
    left: calc(100% - 10px);
    top: 0;
    width: 170px;
    background: #fff;
    padding: 15px;
	pointer-events: none;
	box-shadow: 3px 3px 5px 0px rgb(0 0 0 / 20%);
	display: flex;
	flex-flow: column;
	gap:5px;
	transition: opacity 0.5s;
	border-radius: 5px;
}
.side_menu > dl > dd.drop-down ul li a{
	position: relative;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 3px;
}
.side_menu > dl > dd.drop-down ul li a::before{
	content: "▶";
	font-size: 10px;
}
@media(hover:hover){
.side_menu > ul > li > a:hover,
.side_menu > dl > dd > a:hover{
	opacity: 1;
	border-left: 4px solid var(--accent-color);
    }
.side_menu > dl > dd.drop-down:hover{
	background: rgb(175 146 191 / 30%);
	}
 .side_menu > dl > dd.drop-down:hover ul{
    opacity: 1;
	 pointer-events:auto;
	}	
}


.side_menu .for_first{
	text-align: center;
	margin-top: 30px;
}
.side_menu .for_first span{
    font-size: 16px;
    letter-spacing: -0.0em;
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
}
.side_menu .for_first .btn{
	display: block;
}

/*  サイドメニューの動き
____________________*/

.side_menu.slide {
    position: fixed;
    left: 0;  /* 左側に固定 */
    top: 0;
    transform: translateX(-100%); /* 初期状態: 画面外（左） */
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
	z-index: 100000;
}

/* 表示時（左からスライド + フェードイン） */
.side_menu.slide.show {
    transform: translateX(0);
    opacity: 1;
}

/* 非表示時（左にスライド + フェードアウト） */
.side_menu.slide.hide {
    transform: translateX(-100%);
    opacity: 0;
}

/*  サイドメニューの為にコンテンツに余白をとる*/
.wrapper,footer{
	width: calc(100% - 250px);
    margin-left: auto;
}


/*   .wrapper
____________________*/
.wrapper{
	background: #fff;
}

.contents > section {
    padding: 0 3vw;
}

/*   .breadcrumbs
____________________*/
.breadcrumbs{
	padding: 20px 3vw;
}
.breadcrumbs li{
	color: #999999;
	font-size: 14px;
	font-weight: 500;
	display: inline;
}
.breadcrumbs li a{
	color: #999999;
	position: relative;
}
.breadcrumbs li a::after {
    content: '>';
	margin-left: 10px;
    margin-right: 5px;
}
.breadcrumbs li i{
    font-size: 11px;
}



/*   .introduction
____________________*/
.introduction{
	margin-bottom:40px;
	padding: 0 3vw;
}
.introduction .text p{
	font-family: "Noto Serif JP", serif;
}







/*  .accordion
____________________*/

.accordion{
	position: relative;
	cursor: pointer;
}
.accordion + *{
	display: none;
}
.accordion:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background: #5F4C3F;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(90deg);
  transition: 0.5s;
}

.accordion:after {
  content: "";
  position: absolute;
  width: 20px;
  height: 2px;
  border-radius: 1px;
  background: #5F4C3F;
  border: none;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-540deg);
  transition: 0.5s;
}
.accordion.open:before {
  transform: rotate(540deg);
  transition: 0.5s;
}

.accordion.open:after {
  transform: rotate(0deg);
  transition: 0.5s;
}

.inner_accordion{	
position: relative;	
cursor: pointer;	
}	
.inner_accordion + *{	
display: none;	
}	
.inner_accordion:before {	
content: "";	
position: absolute;	
width: 20px;	
height: 2px;	
border-radius: 1px;	
background: var(--accent-color);	
right: 30px;	
top: 0;	
bottom: 0;	
margin: auto;	
transform: rotate(90deg);	
transition: 0.5s;	
}	
.inner_accordion:after {	
content: "";	
position: absolute;	
width: 20px;	
height: 2px;	
border-radius: 1px;	
background: var(--accent-color);	
border: none;	
right: 30px;	
top: 0;	
bottom: 0;	
margin: auto;	
transform: rotate(-540deg);	
transition: 0.5s;	
}	
.inner_accordion.open:before {	
transform: rotate(540deg);	
transition: 0.5s;	
}	
.inner_accordion.open:after {	
transform: rotate(0deg);	
transition: 0.5s;	
}





/* .common_contents
____________________*/

.common_contents section{
	position: relative;
	padding: 0 3vw;
	background: #fff;
}
.common_contents section::before{
	content: "";
	height: 10px;
	width: 100vw;
	display: block;
	background-image: url(/asset2025/img/common/line_stripe.png);
	margin: 0 -3vw;
}
.common_contents section .inner{
	padding: 70px 0;
}


/* .course_nav
____________________*/

.course_nav{
	display: flex;
	gap:20px;
	justify-content: center;
}
.course_nav li{
	position: relative;
	flex-basis: min(25%, 215px);
}

.course_nav li span{
    position: absolute;
    color: #fff;
	font-family: "Noto Serif JP", serif;
    font-size: 18px;
    font-weight: bold;
    min-height: 30px;
    bottom: 0;
    left: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
	z-index: 0;
}
.course_nav li span::before{
	content: "";
	background:var(--accent-color);
	width: 100%;
	height: 100%;
	opacity: 0.5;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.course_nav li img{
	display: block;
}
.course_nav li a{
	display: block;
}
@media(hover:hover){
.course_nav li a{
		transition:0.5s ease-out;
	    box-shadow: 0 0 8px 3px rgb(0 0 0 / 0%);
	}
.course_nav li a:hover{
		opacity: 1;
		transition: 0.5s ease-out;
	    box-shadow: 0 0 8px 3px rgb(0 0 0 / 20%);
    }
}



/* .safe-system_nav
____________________*/

.safe-system_nav .safe-system_items{
	gap: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.safe-system_nav .safe-system_items .page_item a{
	display: grid;
	grid-template-rows: subgrid;
	gap: 0;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	background: #fff;
	border-top: 5px solid #EFEAF4;
	border-bottom: 5px solid #EFEAF4;
	border-left: 5px solid #C6B3D4;
	border-right: 5px solid #DED4E7;
	position: relative;
	aspect-ratio: 1 / 1;
	width: 140px;
	height: 140px;
	z-index: 0;
}
.safe-system_nav .safe-system_items .page_item a::after {
    content: "";
    border: 2px solid var(--main-color);
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
	z-index: -1;
}
@media(hover:hover){
.safe-system_nav .safe-system_items .page_item a{
		transition:0.5s ease-out;
	    box-shadow: 0 0 8px 3px rgb(0 0 0 / 0%);
	}
.safe-system_nav .safe-system_items .page_item a:hover{
		opacity: 1;
		transition: 0.5s ease-out;
	    box-shadow: 0 0 8px 3px rgb(0 0 0 / 20%);
    }
}


.safe-system_nav .safe-system_items .page_item  a i {
    color: #BEA8CD;
    font-size: 62px;
    padding: 10px 0 0;
}
.safe-system_nav .safe-system_items div.system a i{
	font-size: 66px;
}
.safe-system_nav .safe-system_items div.technique a i{
    font-size: 58px;
}
.safe-system_nav .safe-system_items div.salon a i{
    font-size: 64px;
}
.safe-system_nav .safe-system_items div.user-voice a i{
    font-size: 56px;
}
.safe-system_nav .safe-system_items .page_item a span{
    font-size: 10px;
    color: #595757;
    line-height: 1.25;
    margin-top: auto;
}
.safe-system_nav .safe-system_items .page_item a em{
	color: var(--title-text-color);
	font-size: 15px;
	font-weight: bold;
}

/* 画面幅が縮んだ時の調整用 */
.safe-system_nav ul.safe-system_items {
  width: 100%;
}

.safe-system_nav ul.safe-system_items.narrow {
  width: 450px;
  margin: 0 auto;
}



/* .faq_area
____________________*/

.faq_area .text{
	margin-bottom: 50px;
}
.faq_area .faq_category{
	background: var(--main-color);
	color: #fff;
	min-height: 70px;
	padding: 0 70px 0 30px;
	border-bottom: 2px solid #fff;
	display: flex;
	align-items: center;    
	font-size: 18px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
	letter-spacing: -0.001em;
}
.faq_area .faq_category::before,
.faq_area .faq_category::after{
	background: #fff;
}
.faq_area .qa > div{
	border-bottom: 2px solid #DAAD41;
}
.faq_area .qa .q,
.faq_area .qa .a{
	font-size: 18px;
    font-family: "Noto Serif JP", serif;

    font-weight: bold;
}
.faq_area .question{
	min-height: 70px;
	padding: 25px 70px 25px 30px;
	background: #F2F2F2;
	display: flex;
	gap:20px;
	letter-spacing: -0.001em;
}
.faq_area .qa .answer{
	min-height: 70px;
	padding: 20px 30px;
	display: flex;
	gap:20px;
	background: #fff;
	letter-spacing: -0.001em;
}
.faq_area .qa .answer .contact p{
	margin-bottom: 10px;
}
.faq_area .qa .answer .contact p a{
	border-bottom: 1px solid rgb(96 76 63 / 30%);
}
.faq_area .qa .answer .contact p.net::after{
	content: "▶";
    font-size: 10px;
    margin-left: 20px;
}
.faq_area .qa .answer .contact .tel_number{
    font-size: 20px;
    display: block;
    font-weight: bold;
}
.faq_area .qa .answer .contact .tel_number i{
	margin-right: 10px;
}



/*  .contact_area
____________________*/

.contact_area .inner {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}
.contact_area .inner > div{
	flex: 1;
}
.contact_area h2 {
    background-image: url(/asset2025/img/common/bg_stripe.png);
	background-size: 100%;
    min-height: 88px;
    display: flex;
	font-size: 12px;
	text-align: center;
	align-items: center;
    justify-content: space-between;
	padding: 10px 20px;
	margin-bottom:30px;
}
.contact_area h2 span{
	min-width: 85%;
}
.contact_area h2 i{
	color:#825EA1;
}
.contact_area h2 i.icon-tel_info{
	font-size: 57px;
}
.contact_area h2 i.icon-net{
	font-size: 37px;
}
.contact_area h2 em{
	font-size: 18px;
    font-family: "Noto Serif JP", serif;
	font-weight: bold;
	display: block;
}

.contact_area .contact_tel dl{
    display: flex;
    flex-flow: column;
    gap: 20px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    max-width: 440px;
    margin: auto;
}
.contact_area .contact_tel dt{
	color: var(--accent-color);
	font-size: 18px;
}
.contact_area .contact_tel dd a{
	font-size: 26px;
	display: block;
	letter-spacing: 0.1em;
}
.contact_area .contact_tel dd a i{
	color: var(--main-color);    
	margin-right: 10px;
    font-size: 20px;
}
.contact_area .contact_tel dd small{
	font-size: 16px;
}
.contact_area .contact_net {
	margin-bottom: 20px;
}
.contact_area .contact_net ul{
	display: flex;
	flex-flow: column;
	gap: 20px;
}
.contact_area .contact_net a {
    background: var(--main-color);
    color: #fff;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    position: relative;
    max-width: 440px;
    margin: auto;
}
.contact_area .contact_net a::after{
	content: "▶";    
	font-family: "M PLUS Rounded 1c", serif;
    position: absolute;
    right: 20px;
    font-size: 14px;
}
.contact_area .annotation{
	display: flex;
	flex-flow: column;
	gap:5px;
}
.contact_area .annotation li{
	font-size: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
.contact_area .annotation li::before{
	content: "・";
}





/*   .salon_area
____________________*/
.salon_area::before{
	display: none!important;
}
.salon_area .inner{
	padding-top: 0!important;
	padding-bottom: 45px !important;
}

.salon_area .salon_area_title{
    display: flex;
    gap: 10px;
    padding: 20px 0 80px;
    margin-bottom: 30px;
}
.salon_area .salon_area_title p{
	flex: 1;
	letter-spacing: -0.03em;
}
.salon_area h2{
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-basis: 322px;
}
.salon_area h2 i{
    color: var(--main-color);
    font-size: 36px;
}
.salon_area h2 span{
	font-size: 28px;
	position: relative;
	z-index: 0;
	width: 134px;
	padding-left: 15px;
}
.salon_area h2 span::after{
    content: "";
    background-image: url(/asset2025/img/common/salon_search.svg);
    background-repeat: no-repeat;
    position: absolute;
    display: block;
    width: 100%;
    height: 142px;
    top: -20px;
    left: 0;
    z-index: -1;
    background-size: contain;
}
.salon_area .salon_map {
    max-width: 660px;
    height: 561px;
    background-image: url(/asset2025/img/common/salon_map.svg);
    background-repeat: no-repeat;
    background-position: 35% 45px;
    margin: auto;
    position: relative;
}
.salon_area .salon_map dl{
	position: absolute;
	z-index: 0;
}
.salon_area .salon_map .hokkaido_tohoku{
	right: 0;
	top: 0;
}
.salon_area .salon_map .kanto {
    right: 0;
    top: 26%;
}
.salon_area .salon_map .chubu{
	left: 0;
	top: 0;
}
.salon_area .salon_map .kansai{
    left: 50%;
    top: 68%;
}
.salon_area .salon_map .chugoku{
	left: 0;
	top: 47%;
}
.salon_area .salon_map .kyushu {
    left: 26%;
    top: 80%;
}
.salon_area .salon_map dt{
	position: relative;
	margin-bottom: 5px;
	background: #fff;
	line-height: 0;
}
.salon_area .salon_map dt::before{
	content: "";
    display: block;
    position: absolute;
	z-index: -1;
}
.salon_area .salon_map .hokkaido_tohoku dt::before{
	content: url(/asset2025/img/common/salon_border_hokkaido_tohoku.svg);
    top: 18px;
    right: calc(100% - 15px);
}
.salon_area .salon_map .kanto dt::before{
	content: url(/asset2025/img/common/salon_border_kanto.svg);
	top: 18px;
	right: calc(100% - 20px);
}
.salon_area .salon_map .chubu dt::before{
    content:url(/asset2025/img/common/salon_border_chubu.svg);
    top: 18px;
    left: calc(100% - 20px);
}
.salon_area .salon_map .kansai dt::before{
	content: url(/asset2025/img/common/salon_border_kansai.svg);
	top: -26px;
	right: calc(100% - 5px);
}
.salon_area .salon_map .chugoku dt::before{
	content: url(/asset2025/img/common/salon_border_chugoku.svg);
	top: 18px;
	left: calc(100% - 56px);
}
.salon_area .salon_map .kyushu dt::before{
	content: url(/asset2025/img/common/salon_border_kyushu.svg);
    top: -66px;
    right: calc(100% - 78px);
}
.salon_area .salon_map dt a{
    border-radius: 2px;
    color: #fff;
    background: #ccc;
    font-size: 18px;
    padding: 0 10px;
    display: inline-block;
    line-height: 35px;
}
.salon_area .salon_map .hokkaido_tohoku dt a{
	background: #87AFDD;
}
.salon_area .salon_map .kanto dt a{
	background: #E6A0C8;
}
.salon_area .salon_map .chubu dt a{
	background: #88C1A7;
}
.salon_area .salon_map .kansai dt a{
	background: #DAAD41;
}
.salon_area .salon_map .chugoku dt a{
	background: #AF92BF;
}
.salon_area .salon_map .kyushu dt a{
	background: #F4A295;
}
.salon_area .salon_map dd{
	font-size: 18px;
}
.salon_area .salon_map dd small{
	font-size: 18px;
	margin-top: 20px;
	display: block;
}

.salon_area .link_btn{
    margin: 50px auto 0;
}

/*news_list*/	
.news_list {
    margin-bottom: 60px;
}

.news_list li{
	padding: 15px 0;
	border-bottom: 1px solid #C8BB9B;
}	
.news_list li .text{
	display: flex;
	gap:min(3vw,40px);
}	

/*column_list*/

.new_column{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
.new_column li{
	flex-basis: 50%;
	position: relative;
	z-index: 0;
}
.new_column li .img{
	z-index: -1;
}
.new_column li .img img{
    aspect-ratio: 18 / 11;
    object-fit: cover;
}
.new_column li .text{
    background: rgb(255 255 255 / 60%);
    position: absolute;
    bottom: 0;
    left: 0;
	right:0;
    width: 100%;
    padding: 10px;
}
.new_column li .text .column_text{
	display: none;
}
.new_column li a::after{
	content: "";
	background-image: url(/column/img/new_pickup.svg);
	background-repeat: no-repeat;
	background-size: 60%;
    background-position: 20% 20%;
	width: min(25%,95px);
	aspect-ratio: 1 / 1;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
.new_column li a::before{
	content: "";
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	width: min(25%,95px);
	aspect-ratio: 1 / 1;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
.new_column li.category_biyo a::before,
.column_list li.category_biyo .category_tag{
	background: #AF92BF;
}
.new_column li.category_kenko a::before,
.column_list li.category_kenko .category_tag{
	background: #87AFDD;
}
.new_column li.category_eiyo a::before,
.column_list li.category_eiyo .category_tag{
	background: #88C1A7;
}
.column_list li .category_tag{
	color: #fff;
	width: 120px;
	line-height: 26px;
	display: inline-block;
	border-radius: 9px;
	text-align: center;
	margin-right: 5px;
}
.column_list li .column_title{
	display: block;
	font-weight: bold;
	margin-top: 10px;
}

.archive_column li{
	padding: 20px 0;
	border-bottom: 1px solid #C8BB9B;
}
.archive_column li a{
	display: flex;
    gap: 0 clamp(10px, 2vw, 20px);
    align-items: flex-start;
}
.archive_column li .column_text{
	margin-top: 10px;
}
.archive_column li .img{
	flex-basis: clamp(125px,30%,250px);
}
.archive_column li .img img{
    aspect-ratio: 5 / 3;
    object-fit: cover;
}
.archive_column li .text{
	flex: 1;
}

/*     footer
____________________*/


footer .page_list{
	background: var(--main-color);
	color: #fff;
	padding: 30px 3vw;
}
footer .page_list .inner{
	display: flex;
	gap: min(3vw,40px);
}
footer .page_list dl{
	flex: 1;
    display: flex;
    flex-flow: column;
    gap: 25px;
}
footer .page_list dt{
	font-size: 15px;
	border-bottom: 1px solid #fff;
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: "Noto Serif JP", serif;
	padding-left: 5px;
	margin-bottom: 5px;
}
footer .page_list dt::before{
	content: "";
	width: 5px;
	height: 15px;
	background: var(--accent-color);
	display: inline-block;
}
footer .page_list dd li{
	text-indent: -1em;
    padding-left: 1em;
}
footer .page_list dd a{
	color: #fff;
	font-size: 12px;
	font-weight: 500;
} 
footer .page_list dd a::before{
	content: "・";
}

footer .link_list{
	background: #CEBEDA;
	padding: 0 3vw;
}
footer .link_list .inner{
	display: flex;
	justify-content: space-between;
	min-height: 50px;
	align-items: center;
}
footer .link_list .aboutus{
	display: flex;
	gap: min(2vw,40px);
}
footer  .link_list .aboutus a{
	font-size: 12px;
	color: #fff;
	display: block;
}
footer .link_list .aboutus a.sp_only{
	display: none;
}
footer .link_list .aboutus a::before{
	content: "▶";
	font-size: 10px;
	color: var(--accent-color);
	margin-right: 2px;
}
footer .link_list .sns_other{
	display: flex;
	gap: min(1.5vw,20px);
}

footer .link_list .sns_other li a{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--main-color);
    display: block;
}

footer .participating {
	padding-top: clamp(15px,3vw,30px);
}
footer .participating .member_organization img{
	width: clamp(150px,30vw,260px);
	margin: auto;
	display: block;
}
footer .participating .member_organization small{
	margin-top: clamp(10px,2vw,20px);
	display: block;
	font-size: 12px;
}
footer .copyright{
	padding: 10px 0 30px;
}
footer .copyright small{
	display: block;
    text-align: center;
	font-size: 12px;
}


/* ページトップスクロール
____________________*/
#page-top {
    position: fixed;
	cursor: pointer;
    z-index: 1000;
    bottom: 20px;
    right: 20px;
    width: 80px;
    height: 80px;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	text-align: center;
    background: rgb(175 146 191 / 70%);
    color: #fff;
	font-family: "M PLUS Rounded 1c", serif;
    font-size: 20px;
	font-weight: bold;
	line-height: 1.15em;
}

#page-top::before {
    content: "▲";
}

#page-top.bottom {
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.member_organization {
    display: flex;
    align-items: center;
    justify-content: center;
}




/* micromodal.js CSS	
____________________*/	
/**************************\	
Basic Modal Styles	
\**************************/	
.modal__overlay {	
position: fixed;	
top: 0;	
left: 0;	
right: 0;	
bottom: 0;	
background: rgba(0,0,0,0.4);	
display: flex;	
justify-content: center;	
align-items: center;	
}	
.modal__container {	
overflow-y: auto;	
box-sizing: border-box;	
}	
.modal__header {	
display: flex;	
justify-content: space-between;	
align-items: center;	
}	
.modal__title {	
margin-top: 0;	
margin-bottom: 0;	
}	
.modal__close {	
	background: transparent;	
	border: 0;	
	cursor: pointer;
	outline: none;
}	
.modal__close:before { 
	content: "";
	background: url(/asset2025/img/common/icon_close.svg) no-repeat center center / contain;
	width: 32px;
	height: 32px;
	display: block;
}
.modal__content {	
	margin-top: 10px;
	line-height: 1.5;
	font-family: "M PLUS Rounded 1c", serif;
}	
.modal__btn {	
	font-size: .875rem;	
	padding-left: 1rem;	
	padding-right: 1rem;	
	padding-top: .5rem;	
	padding-bottom: .5rem;	
	background-color: #e6e6e6;	
	border-radius: .25rem;	
	border-style: none;	
	border-width: 0;	
	cursor: pointer;	
	-webkit-appearance: button;	
	text-transform: none;	
	overflow: visible;	
	line-height: 1.15;	
	margin: 0;	
	will-change: transform;	
	-moz-osx-font-smoothing: grayscale;	
	-webkit-backface-visibility: hidden;	
	backface-visibility: hidden;	
	-webkit-transform: translateZ(0);	
	transform: translateZ(0);	
	transition: -webkit-transform .25s ease-out;	
	transition: transform .25s ease-out;	
	transition: transform .25s ease-out,-webkit-transform .25s ease-out;	
}	
.modal__btn:focus, .modal__btn:hover {	
	-webkit-transform: scale(1.05);	
	transform: scale(1.05);	
}	

/**************************\	
Demo Animation Style	
\**************************/	
@keyframes mmfadeIn {	
from { opacity: 0; }	
to { opacity: 1; }	
}	
@keyframes mmfadeOut {	
from { opacity: 1; }	
to { opacity: 0; }	
}	
@keyframes mmslideIn {	
from { transform: translateY(15%); }	
to { transform: translateY(0); }	
}	
@keyframes mmslideOut {	
from { transform: translateY(0); }	
to { transform: translateY(-10%); }	
}	
.micromodal-slide {	
display: none;	
}	
.micromodal-slide.is-open {	
display: block;	
}	
.micromodal-slide[aria-hidden="false"] .modal__overlay {	
animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);	
}	
.micromodal-slide[aria-hidden="false"] .modal__container {	
animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);	
}	
.micromodal-slide[aria-hidden="true"] .modal__overlay {	
animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);	
}	
.micromodal-slide[aria-hidden="true"] .modal__container {	
animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);	
}	
.micromodal-slide .modal__container,	
.micromodal-slide .modal__overlay {	
will-change: transform;	
}




/*_______________________________
　　　
　　　メディアクエリ切り替え
     　　　（TB・SP）
_______________________________*/


/* ↓ ↓ ↓ TB（1024px）以下　用 ↓ ↓ ↓ */

@media (max-width:1024px){
	
	.wrapper, footer {
		width: 100%;
	}
	.side_menu{
		display: none;
	}	
	
	.mv .logo{
	top: 60px;
	}
	
	
	
	header{
		height: 60px;
	}
	header .sp_only{
		display: block;
	}
	header .pc_only{
		display: none !important;
	}

	header .btn{
		background: var(--accent-color);
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 5px 10px;
		font-family: "Noto Serif JP", serif;
		font-size: 14px;
		border: 1px solid #fff;
		margin-left: auto;
		margin-right: 40px;
	}
	
	header .logo img {
    width: 110px;
 }

	
	
	/*ドロワーボタン*/
	
	.navToggle {
		display:block;
		right: 2vw;
		top: 0;
		bottom: 0;
		margin: auto;
		width:40px;
		height:40px;
		cursor:pointer;
		z-index: 9999;
		position: absolute;
		border-radius: 3px;
		padding: 7.5px;
		box-sizing: border-box;
	}
	
	.navToggle div {position:relative;}
	.navToggle span {
		display: block;
		position: absolute;
		width: 100%;
		border-bottom: solid 2px #fff;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	.navToggle span:nth-of-type(1) {top:4px}
	.navToggle span:nth-of-type(2) {top:12px}
	.navToggle span:nth-of-type(3) {top:20px}
	
	
	header.openNav .navToggle span:nth-of-type(1) {
		top: 11px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}
	header.openNav .navToggle span:nth-of-type(2) {
		opacity: 0;
	}
	header.openNav .navToggle span:nth-of-type(3) {
		top: 11px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
	}

	.nav {
		position: absolute; /*bodyに対しての絶対位置*/
		left: 0;
		top: 60px;
		right: 0;
		background: #ffffff;
		width: 100%;
		max-width: 100%;
		/*height: 0;*/
		overflow: hidden;
		transition:.5s cubic-bezier(.3, 1, .5, 1);
		color: var(--main-text-color);
		font-family: "M PLUS 1p", sans-serif;
		visibility: hidden;
		}
	header.closeNav .nav{
		/*height: 0;*/
		opacity: 0;
		transition:.5s cubic-bezier(.3, 1, .5, 1);
	}
	header.openNav .nav{
		height: auto;
		z-index: 10000;
		 box-shadow: 0px 10px 10px 0px rgb(0 0 0 / 20%);
		visibility: visible;
		opacity: 1;
		transition:.5s cubic-bezier(.3, 1, .5, 1);
	}	
	
	
	.nav a{
		color: var(--main-text-color);
		font-family: "M PLUS 1p", sans-serif;
	}
	.nav .box > ul li{
		flex: 1;
		border-right: 1px solid #D6C9E1;
	}
	.nav .box > ul li:last-of-type{
		border: 0px;
	}
	.nav .box > ul li a{
		width: 100%;
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: 17px;
		font-weight: bold;
		position: relative;
		z-index: 0;
		-webkit-text-stroke: 3px #fff;
		text-stroke: 3px #fff;
		paint-order: stroke;
	}
	.nav .box > ul li a img{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: -1;
		height: 85%;
	}
	.nav strong{
		background: var(--accent-color);
		color: #fff;
		font-size: 12px;
		min-height: 25px;
		display: flex;
		align-items: center;
		padding: 3px 3vw;
		font-weight: 500;
		letter-spacing: -0.03em;
	}
	.nav .page_list dt{
		background-image: url(/asset2025/img/common/bg_stripe.png);
		background-size: 100%;
		padding: 5px 3vw;
		display: flex;
		align-items: center;
		gap:0 3vw;
		border-bottom: 1px solid #fff;
		min-height: 40px;
	}
	.nav .page_list dt.open{
		border-bottom: 0;
	}
	.nav .page_list dt .img{
		flex-basis: 70px;
	}
	.nav .page_list dt .img img{
		width: 100%;
	}
	.nav .page_list dt .text{
		flex: 1;
		font-weight: 500;
	}
	.nav .page_list dt .text span{
		font-size:13px;
		display: block;
		margin-bottom: 2px;
	}
	.nav .page_list dt .text em{
		font-size: 16px;
		display: block;
	}
	.nav .page_list dt .text em::before{
		content: "■";
		color: var(--accent-color);
		display: inline-block;
		margin-right: 5px;
	}
	.nav .page_list dd ul{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap:0;
	}
	.nav .page_list dd li{
		border-bottom: 1px solid var(--title-text-color);
	}
	.nav .page_list dd li:nth-of-type(odd){
		border-right: 1px solid var(--title-text-color);
	}
	.nav .page_list dd li:nth-last-child(-n+2){
		border-bottom:0;
	}
	.nav .page_list dd li:nth-last-child(2):nth-of-type(even){
		border-bottom: 1px solid var(--title-text-color);
	}
	.nav .page_list dd li a{
		height: 40px;
		display: flex;
		align-items: center;
		padding: 0 3vw;
		font-size: 14px;
	}
	.nav .page_list dd li a::before{
		content: "▶";
		display: inline-block;
		margin-right: 5px;
	}
	
	.nav .contact_list{
		flex-flow: column;
	}
	.nav .contact_list li{
		border-bottom: 1px solid #D6C9E1;
	}
	.nav .contact_list li:last-of-type{
		border-bottom: 0;
	}
	.nav .contact_list li a{
		padding: 5px 4vw;
		display: flex;
		align-items: center;
		font-family: "Noto Serif JP", serif;
		font-weight: bold;
		font-size: 11px;
		gap:0 3vw;
		min-height: 60px;
	}
	.nav .contact_list li a i{
		color: var(--main-color);
		font-size: 20px;
	}
	.nav .contact_list li.tel a span{
		display: flex;
		align-items: center;
		align-items: 1vw;
		gap:0 1vw;
	}
	 .nav .contact_list li.tel a span em{
		 font-size: 23px;
		 color: var(--accent-color);
		 letter-spacing: 0.1em;
	}
	.nav .contact_list li.form a{
		font-size: 15px;
	}
	.nav .contact_list li.form a i{
		font-size: 25px;
	}
	
	.nav .other_list{
		flex-flow: column;
	}
	.nav .other_list li a{
		display: flex;
		min-height: 40px;
		align-items: center;
		padding: 0 4vw;
		font-size: 14px;
	}
	.nav .other_list li:nth-of-type(odd) a{
		background: #EFEAF4;
	}
	.nav .other_list li a::before {
        content: "▶";
        display: inline-block;
        margin-right: 5px;
    }
	
	
.accordion:before {
  width: 15px;
  height: 1px;
  right: 4vw;
}

.accordion:after {
  width: 15px;
  height: 1px;
  right: 4vw;
}		
	
.inner_accordion:before {	
width: 15px;	
height: 1px;	
right: 4vw;	
}	
.inner_accordion:after {	
width: 15px;
height: 1px;	
right: 4vw;	
}
	
	
/* --- */
}
/* ↑ ↑ ↑ TB（1024px）以下　用　↑ ↑ ↑ */





/*  ↓ ↓ ↓ TB（820px）以下　用  ↓ ↓ ↓ */

@media (max-width:820px){
	
.triangle_system > svg{
    width: 100%;
}




/* --- */
}
/* ↑ ↑ ↑ TB（820px）以下　用　↑ ↑ ↑ */






/* ↓ ↓ ↓ SP（767px）以下　用 ↓ ↓ ↓ */

@media screen and (max-width: 767px) {
	
body {
    font-size: 14px;
}	


	.pc_only{
		display: none!important;
	}
	
	.sp_only{
		display:block;
	}
	


.link_btn {
    font-size: 13px;
    max-width: 250px;
	text-align: center;
}	

.h2_bg {
    min-height: 60px;
    display: flex;
    font-size: 19px;
    -webkit-text-stroke: 3px #fff;
    text-stroke: 3px #fff;
	background-size: 255px;
	margin-bottom: 20px;
	padding: 0 5vw;
}	
	
.title_arabesque {
    margin-bottom: 20px;
}
.title_arabesque h2 {
    font-size: 19px;
    font-weight: bold;
    padding: 10px 0;
}
.title_arabesque h2 span {
    display: block;
    font-size: 14px;
}	
.title_arabesque::before,
.title_arabesque::after {
    background-size: 130%;
}	
.title_arabesque::before {
    height: 30px;
}		
.title_arabesque::after {
    height: 10px;
}		
	
	
	

.introduction {
    padding: 0 5vw;
	margin-bottom: 20px;
}	
	
.contents > section {
    padding: 0 5vw;
    box-sizing: border-box;
}	
	
/*header(SP)*/
    header {
        height: 48px;
        position: fixed;
        z-index: 100000;
        width: 100%;
    }	
    header .logo img {
        width: 80px;
    }
    header .nav{
        top: 48px;
		overflow-y: auto;
		height: calc(100vh - 48px)!important;
    }
:target {
  scroll-margin-top: 48px; /* スクロール時にヘッダーの高さ分余白をとる */
}	
	
	
/*.mv(SP)*/
.mv {
    padding-top: 0px;
	}	
	
.mv .logo {
    left:4vw;
	top: 48px;
	bottom: 60px;
	flex-flow: column;
    justify-content: center;
}
.trial .mv .logo,
.course .mv .logo{
    justify-content: flex-start;	
}	

.mv_title {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0 4vw;
	line-height: 1.25;
	height: 60px;
}	
.mv_title span {
    background: none;
    height:auto;
	color: #fff;
	margin: 0;
	padding: 0;
}	
.mv_title span::after{
	display: none;
}	
	
.mv .mv_box > .btn {
        width: 170px;
        height: 38px;
        background-image: url(/asset2025/img/common/btn_bg.png);
	    background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        bottom: calc(60px + 40px);
        left: 4vw;
        font-size: 10px;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        transform: rotateZ(0.03deg);
        line-height: 1.25;
}

	
	
/*   .breadcrumbs(SP)
____________________*/
.breadcrumbs{
	padding: 15px 5vw;
}	
.breadcrumbs li {
    font-size: 10px;
}	
.breadcrumbs li a::after {
    margin-left: 5px;
    margin-right: 0;
}	
.breadcrumbs li i {
    font-size: 10px;
}		
	
	
/*.common_contents(SP)*/	
.common_contents section {
	padding: 0;
}	
.common_contents section::before {
    height: 8px;
    background-size: cover;
    margin:auto;
}	
.common_contents section .inner {
    padding: calc(35px + 8px) 0 35px;
}

/*.course_nav*/	
.course_nav {
    gap: 20px 10px;
	max-width: 470px;
    margin: auto;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.course_nav li {
        flex-basis: calc((100% - 10px) / 2);
}
.course_nav li span {
    font-size: 14px;
    min-height: auto;
    height: clamp(22px, 5vw, 35px);
}	
	

/*.safe-system_nav(SP)*/		
.safe-system_nav .safe-system_items{
	display: block;
	margin-bottom: 0;
}	
.safe-system_nav .safe-system_items .page_item a {
    width: 150px;
    height: 150px;
	margin: auto;
}	
	
	
/*.safe-system_nav用スライダー*/	
.safe-system_nav .slider_wrap{
	position: relative;
	padding-bottom: 35px;
	overflow: hidden;
}
.safe-system_nav .slider_wrap::before,
.safe-system_nav .slider_wrap::after{
   content: "";
   width: clamp(100px,10%,150px);
   height: 150px;
   background: #fff;
   display: block;
   position: absolute;
   z-index: 1;
   top: 0;
}
.safe-system_nav .slider_wrap::before{
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0) 100%);
	left: 0;
}	
.safe-system_nav .slider_wrap::after {
    background: linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
    right: 0;
}		
.safe-system_nav .safe-system_nav {
  background: #fff;
}
.safe-system_nav .sliderWide {
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 0;
}
.safe-system_nav .sliderWide .slick-arrow {
  opacity: 0;
  transition-duration: 0.3s;
}
.safe-system_nav .sliderWide:hover .slick-arrow {
  opacity: 1;
}
.safe-system_nav .safe-system_slider {
  max-width: 180px;
  margin: 0 auto;
  padding: 0;
 position: unset;
	margin-bottom: 0;
}
.safe-system_nav .safe-system_slider .slick-list {
  overflow: visible;
}
.safe-system_nav .safe-system_slider .slick-slide {
  opacity: 1;
  transition-duration: 0.3s;
}
.safe-system_nav .safe-system_slider .slick-slide.slick-current {
  opacity: 1;
}
.safe-system_nav .slick-prev,
.safe-system_nav .slick-next {
  width: 40px;
  height: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 2;
}
.safe-system_nav .slick-prev{
	left: 15px;	
}
.safe-system_nav .slick-next{
	right: 15px;	
}
.safe-system_nav .slick-prev::before ,
.safe-system_nav .slick-next::before  {
		content: '';
        border-left: 1px solid #595757;
        border-top: 1px solid #595757;
		width: 30px;
		height: 30px;
		display: block;
		top: 0;
		bottom: 0;
	    right: 0;
        left: 0;
		margin: auto;
		position: absolute;
	opacity: 1;
}	
.safe-system_nav .slick-prev::before {
        transform: scaleX(0.7) rotate(-45deg);
    }
.safe-system_nav .slick-next::before {
        transform: scaleX(0.7) rotate(135deg);
    }


	
.safe-system_nav .slick-dots {
    bottom: 0;
    margin: auto;
    position: absolute;
    display: block;
    width: 170px;
    left: 0;
    right: 0;
    padding-right: 5px;
}
.safe-system_nav .slick-dots li {
    width: 5px;
    height: 10px;
    margin: 0 5px;
}
.safe-system_nav .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #9B72B0;
}
.safe-system_nav .slick-dots li button:before {
    opacity: .3;
    color: #9B72B0;
}
/* 画面幅が縮んだ時の調整用リセット */
.safe-system_nav ul.safe-system_items {
  width: 100%;
}
.safe-system_nav ul.safe-system_items.narrow {
  width: 100%;
}	


	
/*.faq_area(SP)*/	
.faq_area {
	background:#faf8fb!important;
}
.faq_area .h2_bg {
        line-height: 1.5;
        background-position: top;
        padding-top: 10px;
}
.faq_area .text {
    margin-bottom: 25px;
    padding: 0 4vw;
}	
.faq_area .faq_category {
    min-height: 50px;
	padding: 0 12vw 0 4vw;
    font-size: 14px;
	border-bottom: 1px solid #fff;
}	
.faq_area .question {
    min-height: 50px;
    padding: 10px 12vw 10px 4vw;
    gap: 15px;
    align-items: center;
}	
.faq_area .qa > div {
    border-bottom: 1px solid #DAAD41;
}	
.faq_area .qa .answer {
    min-height: 50px;
    padding: 10px 4vw 10px 4vw;
    gap: 15px;
    letter-spacing: -0.001em;
}	
.faq_area .qa .q,
.faq_area .qa .a {
    font-size: 14px;
}	
	
	
	
	
/*.contact_area(SP)*/	
.contact_area::before{
		display: none!important;
	}
.contact_area .inner {
    display: block;
	padding-top: 0!important;
}
	
.contact_area h2 {
    margin-bottom: 20px;
	min-height: auto;
	padding: 5px 4vw;
	font-size: 13px;
}	
.contact_area h2 i.icon-tel_info {
    font-size: 52px;
}
.contact_area h2 em{
		font-size: 19px;
}	
.contact_area .annotation {
    padding: 0 4vw;
}	
.contact_area .contact_tel dl {
    padding: 0 4vw;
	margin-bottom: 25px;
}		
.contact_area .contact_tel dt {
    font-size: 16px;
}	
.contact_area .contact_tel dd a {
    font-size: 23px;
}	

.contact_area .contact_tel dd a i {
    margin-right: 5px;
    font-size: 16px;
}	
.contact_area .contact_tel dd small {
    font-size: 14px;
}	
	
	
	
/*.salon_area(SP)*/
.salon_area .salon_area_title {
    padding: 16px 0 60px;
    margin-bottom: 15px;
}	
.salon_area h2{
	font-size: 13px;
	margin: auto;
	gap: 5px;
	flex-basis: 200px;
}	
.salon_area h2 i {
    font-size: 18px;
}	
.salon_area h2 span {
    font-size: 22px;
	width: 74px;
}
.salon_area h2 span::after {
        width: 120px;
        left: -60px;
        transform: rotate(95deg);
        top: -32px;
}
	
	
.salon_area .salon_map {
    max-width: 344px;
    height: 281px;
    background-size: 208px;
    background-position: 44px 20px;
}
	
.salon_area .salon_map .chugoku {
    top: 46%;
}	
.salon_area .salon_map .kansai {
    left: 48%;
}	
	
.salon_area .salon_map dt::before{
	content:""!important;
	background-repeat: no-repeat;
	background-size: contain;
}
.salon_area .salon_map .hokkaido_tohoku dt::before{
	background-image: url(/asset2025/img/common/salon_border_hokkaido_tohoku.svg);
	top: 8px;
	right: calc(100% - 5px);
	width: 36px;
	height: 50px;
}
.salon_area .salon_map .kanto dt::before{
	background-image: url(/asset2025/img/common/salon_border_kanto.svg);
	top: 8px;
	right: calc(100% - 15px);
	width: 80px;
	height: 78px;
}
.salon_area .salon_map .chubu dt::before{
    background-image:url(/asset2025/img/common/salon_border_chubu.svg);
    top: 8px;
    left: calc(100% - 20px);
    width: 111px;
    height: 156px;
}
.salon_area .salon_map .kansai dt::before{
	background-image: url(/asset2025/img/common/salon_border_kansai.svg);
	top: -13px;
	right: calc(100% - 2px);
	width: 40px;
	height:23px;
}
.salon_area .salon_map .chugoku dt::before{
	background-image: url(/asset2025/img/common/salon_border_chugoku.svg);
	top: 8px;
	left: calc(100% - 35px);
	width: 64px;
	height:42px;
}
.salon_area .salon_map .kyushu dt::before{
	background-image: url(/asset2025/img/common/salon_border_kyushu.svg);
	top: -34px;
	right: calc(100% - 38px);
	width: 65px;
	height:42px;
}	
	
	
	.salon_area .salon_map dt{
		margin-bottom: 3px;
	}	
.salon_area .salon_map dt a {
    font-size: 11px;
    line-height: 16px;
    padding: 0 5px;
}
	.salon_area .salon_map dd{
		font-size: 11px;
		line-height: 1.25em;
		pointer-events: none;
	}	
.salon_area .salon_map dd small {
    font-size: 11px;
    margin-top: 10px;
}	
.salon_area .link_btn {
    margin: 25px auto 0;
}	
.salon_area .text{
    text-align: center;
    font-size: 13px;
    margin-top: 25px;
	padding:0 4vw;
}
	
/*news_list*/
.news_list li {
    flex-flow: column;
    gap: 0;
    padding: 5px 0;
}
.news_list li .news_title{
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
    -webkit-line-clamp: 1; 
}
	
	
/*  column_list	
____________________*/
.column_list li .category_tag {
    width: 90px;
    line-height: 19px;
    border-radius: 4px;
}	

.new_column {
    flex-flow: column;
    max-width: 400px;
	margin:0 auto 15px;
}	
.new_column li {
    flex: 1;
}	
.archive_column li {
    padding: 10px 0;
}	
.archive_column li .column_text{
	display: none;	
}		
	
	
		

	
	
	
/*footer*/	
	footer .link_list{
		padding: 0;
	}
	footer .link_list .inner {
		flex-flow: column;
}
	footer .link_list .sns_other {
        order: 1;
        justify-content: space-between;
        width: 100%;
        padding: 10px 5vw;
        max-width: 500px;
    }
	footer .link_list .sns_other li a{
    width: 45px;
	height: 45px;	
}
	footer .link_list .aboutus {
		order: 2;
		background: var(--main-color);
		width: 100%;
		display: grid;
		padding: 10px 3vw;
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	footer .link_list .aboutus li{
		flex: 1;
		flex-basis: 50%;
	}
footer .link_list .aboutus a.sp_only{
	display: block;
}	
	footer .link_list .banner{
		order: 3;
		background: var(--main-color);
		width: 100%;
		padding: 0px 3vw 10px;
	}
	footer .link_list .banner img{
		width: min(50%,184px);
		margin: auto;
		display: block;
	}
	
footer .participating .member_organization small {
    font-size: 11px;
}	
footer .copyright small {
		font-size: 10px;
}
	
	
/*#page-top*/
#page-top {
    width: 40px;
    height: 40px;
    font-size: 10px;
    bottom: 10px;
    right: 10px;
}
	
#page-top.bottom {
    bottom: 10px;
    right: 10px;
}	
	

/* micromodal.js CSS	
____________________*/	

.modal__close:before { 
	width: 25px;
	height: 25px;
}


/* --- */
}
/* ↑ ↑ ↑ SP（767px）以下　用　↑ ↑ ↑ */

