@charset "UTF-8";

/*---------------------------------------------------------
common
---------------------------------------------------------*/
header {
	position: absolute;
	left: 0;
	top: 0;
}
header .h_inbox {
	color: #FFF;
}
header h1 {
	margin-bottom: 0;
}
.m_nav_area {
	background-color: #fff;
	border-radius: 3em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
header .h_logo {
	position: absolute;
	width: 18%;
	max-width: 229px;
	transform: translateZ(0);
	left: 0;
	top: 0;
}
header h1 {
	position: absolute;
	width: 38%;
	text-align: center;
	left: 0;
	right: 0;
	top: 2em;
	margin: auto;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {header .h_left {
	width: 42vw;
}
header .h_logo {
	width: 100%;
}
header h1 {
	font-size: 70%;
	margin-top: 1.2em;
}
}
/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
	min-height: calc(100vw * 0.45);
}
.m_img {
	position: relative;
}
.m_img::after {
	max-height: 5.4vw;
}
.m_img,
.m_slider,
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	width: 100%;
	height: 100%;
}
.m_slider li {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.m_slider .slide1 {background-image: url("../images/top/m_img1@2x.jpg");}
.m_slider .slide2 {background-image: url("../images/top/m_img2@2x.jpg");}
.m_slider .slide3 {background-image: url("../images/top/m_img3@2x.jpg");}
/*m_copy*/
.m_slider .m_copy {
	position: absolute;
	width: 65vw;
	max-width: 878px;
	left: 50%;
	top: 75%;
	translate: -50% -50%;
	opacity: 0;
	transition: opacity .8s .3s;
}
.m_slider li[class$="-active"] .m_copy,
.m_slider li[class$="-active"] .m_point {
	opacity: 1;
}
/*m_point*/
.m_point {
	position: absolute;
	width: 28%;
	max-width: 315px;
	left: 85%;
	top: 50%;
	translate: -50% -50%;
	opacity: 0;
	transition: opacity .8s .3s;
}
.m_point .abs {
	position: relative;
	width: 37%;
	max-width: 115px;
	margin-bottom: -17%;
	z-index: 2;
}
.m_point ul {
	display: flex;
}
.m_point ul > li {
	width: 61%;
}
.m_point ul > li:first-of-type {
	position: relative;
	z-index: 1;
	margin-right: -22%;
}
.m_img_area.anime_on .m_point {
	opacity: 1;
}
/* svg */
.m_img svg {
	position: absolute;
	width: 100%;
	fill: none;
	left: 0;
	bottom: -1px;
}
.m_img text {
	font-family: "Jost", sans-serif;
	font-size: 637%;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .15em;
	line-height: 1;
	fill: #FFF;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media screen and (orientation: portrait) {
.m_slider .slide1 {background-image: url("../images/top/m_img1_sp@2x.jpg");}
.m_slider .slide2 {background-image: url("../images/top/m_img2_sp@2x.jpg");}
.m_slider .slide3 {background-image: url("../images/top/m_img3_sp@2x.jpg");}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	height: 100svh;
}
/*m_copy*/
.m_slider .m_copy {
	width: 80vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	height: 100svh;
	min-height: calc(100vw * 1.5);
}
.m_slider .m_copy {
	width: 100%;
	top: 80%;
}
.m_point {
	width: 46%;
	left: 72%;
}
.m_img svg {
	height: 13vw;
}
.m_img text {
	font-size: 35vw;
	translate: 0 12%;
} 
}
/*---------------------------------------------------------
sp_menu_area
---------------------------------------------------------*/
.sp_menu_area .open_box {
	display: none;
	position: absolute;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
	z-index: 1;
}
.sp_menu_area .open_box .menu_title {
	display: none;
	padding-top: 10%;
}
/*---------------------------------------------------------
wp_common
---------------------------------------------------------*/
/* wp_list */
.wp_list a {
	display: block;
	line-height: 1.4;
	box-sizing: border-box;
}
.wp_list .ft_jos {
	color: #DF7C00;
	letter-spacing: .1em;
	line-height: 1;
	margin-bottom: .8em;
}
.wp_list .ft_jos::before {
	font-family: 'fontello';
	content: '\e800';
	color: #F7DE03;
	margin-right: .5em;
}
.wp_list .img_wrap {
	position: relative;
	max-width: 280px;
	overflow: hidden;
	border-radius: 10.7% / 15.6%;
	margin-bottom: 1em;
}
.wp_list .img_wrap::before {
	display: block;
	content: "";
	padding-top: 68%;
}
.wp_list .img_wrap img {
	position: absolute;
	object-fit: cover;
	inset: 0;
	margin: auto;
	transition: scale .5s;
}
.wp_list a:hover img {
	scale: 1.05;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* wp_list */
.wp_list a {
	font-size: 100%;
}
}
/*---------------------------------------------------------
open
---------------------------------------------------------*/
#open{
	max-width: 800px;
	width: 92%;
	margin: 0 auto;
}
#open .open_tit{
	max-width: 630px;
	width: 78.75%;
	margin: 0 auto 50px;
}
#open .opening_event{
	font-size: 125%;
	letter-spacing: 0.15em;
	line-height: 1em;
	text-align: center;
}
#open .opening_event dt{
	color: #DF7C00;
	position: relative;
	margin-bottom: 1em;
}
#open .opening_event dt::before{
	position: absolute;
	content: "";
	background: #CFD2BC;
	width: 100%;
	height: 1px;
	left: 0;
	right: 0;
	margin: auto;
	top:0.5em;
	z-index: -2;
}
#open .opening_event dt::after{
	position: absolute;
	content: "";
	background: #fff;
	width: 12em;
	height: 1em;
	left: 0;
	right: 0;
	margin: auto;
	top:0;
	z-index: -1;
}
#open .opening_event dd .nairan{
	max-width: 690px;
	width: 86.25%;
	margin: 0 auto;
}
#open .opening_event dd .nairan_day{
	background: #FCF9F5;
	padding: 30px 14%;
	box-sizing: border-box;
	max-width: 715px;
	width: 89.375%;
	margin: 1em auto 0;
	
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#open{
	max-width:90%;
	width: 90%;
	margin-top: 10%;
}
#open .open_tit{
	width: 90%;
	margin: 0 auto 8%;
}
#open .opening_event{
	font-size: 95%;
}
#open .opening_event dd .nairan{
	width: 97%;
	margin: 0 auto;
}
#open .opening_event dd .nairan_day{
	padding: 5% 10%;
	max-width: 100%;
	width: 100%;
	margin: 1em auto 0;
	
}
}
/*---------------------------------------------------------
info
---------------------------------------------------------*/
#info {
	padding: 85px 0 110px;
}
#info .wp_list {
	max-height: 380px;
	padding-right: 7%;
}
#info .wp_list > li {
	margin-bottom: .6em;
}
#info .wp_list a {
	padding: 2em 5%;
	border-radius: 1em;
	background-color: #F4F2E8;
}
#info .wp_list a:hover {
	background-color: #EAE6D6;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#info {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 37% 55%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#info {
	padding: 8% 0 10%;
}
#info .wp_list {
	max-height: 280px;
}
#info .wp_list a {
	padding: 1.5em 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#info {
	padding: 12% 0 14%;
}
/*news*/
#info #news {
	margin-bottom: 8%;
}
#info .wp_list {
	max-height: 54vw;
}
#info .wp_list > li {
	margin-bottom: 2%;
}
#info .wp_list a {
	padding: 1.5em 5%;
}
}
/*---------------------------------------------------------
blog
---------------------------------------------------------*/
#blog .inbox {
	position: relative;
	background-color: #F2EEDC;
	box-sizing: border-box;
	padding: 75px 10% 85px;
}
#blog .inbox::before,
#blog .inbox::after {
	position: absolute;
	display: block;
	content: "";
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 526" preserveAspectRatio="none"><path fill="%23FFFFFF" d="M50,263C50,100.5,0,0,0,0l0,263v0l0,263C0,526,50,425.5,50,263L50,263L50,263L50,263L50,263z" /></svg>') no-repeat left top;
	background-size: 100% 100%;
	width: 3.4%;
	height: 100%;
	left: 0;
	top: 0;
}
#blog .inbox::after {
	left: auto;
	right: 0;
	scale: -1 1;
}
#blog .wp_list {
	display: flex;
}
#blog .wp_list > li:last-of-type {
	margin-right: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#blog .wp_list > li {
	width: 24%;
	margin-right: 1.33%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#blog .inbox {
	padding: 7% 8% 8%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#blog .inbox {
	padding: 9% 12% 10%;
}
#blog .wp_tit .ft_jos {
	letter-spacing: .08em;
}
#blog .scl_area {
	padding-bottom: 8%;
}
#blog .wp_list > li {
	min-width: 40vw;
	margin-right: 4vw;
}
}
/*---------------------------------------------------------
concept
---------------------------------------------------------*/
#concept {
	padding: 100px 0;
}
#concept .cpt_inbox {
	position: relative;
}
#concept .box_img {
	position: absolute;
}
#concept .cpt_index {
	position: relative;
	width: 46vw;
	max-width: 615px;
	z-index: 1;
}
#concept .cpt_index .no {
	position: absolute;
	width: 13.1%;
	max-width: 80px;
	left: 0;
	top: 45%;
	translate: 0 -50%;
	opacity: 0;
	transition-delay: .6s;
}
#concept .cpt_index.anime_on .no {
	opacity: 1;
}
#concept .cpt_index .com_meteor {
	width: 73%;
	left: 10%;
	bottom: 0;
	translate: 0 15%;
}
#concept .cpt_index .com_meteor .kira {
	display: none;
}#concept .cpt_style {
	position: relative;
	max-width: 840px;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 80px min(6.5vw,100px) 60px;
}
#concept .cpt_style > dt {
	font-size: min(3.2vw,237%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.5;
	font-feature-settings: "halt";
	margin-bottom: .5em;
}
#concept .cpt_style > dt span {
	display: inline-block;
	background: url(../images/common/dot_kira.svg) repeat-x left top;
	background-size: auto 0.31em;
	padding-top: .5em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#concept {
	padding: 10% 0;
}
#concept .cpt_style {
	padding: 7% 6vw 30px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#concept {
	padding: 12% 0;
}
#concept .cpt_index {
	width: 60vw;
}
#concept .cpt_index .no {
	width: 18%;
}
#cpt1 .cpt_index .no,
#cpt3 .cpt_index .no {
	left: 35%;
	top: 0;
	translate: -50% 0;
}
#concept .cpt_style {
	padding: 8vw 8vw;
}
#concept .cpt_style > dt {
	font-size: 140%;
}
#concept .cpt_style > dt span {
	background-position: left top .2em;
}
}
/*concept:cpt_title
---------------------------------------------------------*/
#concept .cpt_title {
	position: relative;
	width: 80%;
	max-width: 954px;
	margin: 0 auto min(10%,100px);
}
#concept .lighthouse {
	position: absolute;
	width: 9.3%;
	max-width: 89px;
	left: 55%;
	top: 0;
}
#concept .lighthouse::before {
	position: absolute;
	content: "";
	background: url(../images/top/light@2x.png) no-repeat;
	background-size: contain;
	width: 985%;
	height: 122%;
	left: 90%;
	top: -104%;
	transform-origin: left bottom;
	transition: all 2s 1s;
}
#concept .cpt_title:not(.anime_on) .lighthouse::before {
	opacity: 0;
	rotate: -20deg;
}
/* com_meteor */
#concept .cpt_title .com_meteor {
	width: 52%;
	left: -11%;
	top: 37%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#concept .cpt_title {
	width: 96%;
	margin-bottom: 12%;
}
/* com_meteor */
#concept .cpt_title .com_meteor {
	left: -6%;
	top: 40%;
}
}
/*---------------------------------------------------------
concept:cpt1
---------------------------------------------------------*/
#cpt1 .cpt_inbox .box_img {
	width: 54vw;
	max-width: 807px;
	left: -4.5%;
	top: 0;
}
#cpt1 .cpt_index {
	margin-left: auto;
	margin-right: 3%;
}
/* cpt_med */
#cpt1 .cpt_med {
	position: relative;
	display: flex;
	width: 110%;
	max-width: 1531px;
	margin-left: -5%;
	margin-top: 60px;
}
#cpt1 .cpt_med > li {
	text-align: center;
}
#cpt1 .cpt_med a {
	position: relative;
	width: min(27vw,406px);
	height: min(27vw,406px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: min(1vw,100%);
	line-height: 1.5;
	box-sizing: border-box;
	border-radius: 50%;
	left: 50%;
	translate: -50% 0;
}
#cpt1 .cpt_med a::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 2px solid #9DD3BA;
	left: 50%;
	top: 50%;
	translate: -50% -50%;
	z-index: -1;
}
#cpt1 .cpt_med img {
	width: 74%;
	max-width: 300px;
	margin: -30% auto 0;
}
#cpt1 .cpt_med dt {
	font-size: min(1.35vw,1.12rem);
}
#cpt1 .cpt_med .ft_min {
	font-size: 250%;
	letter-spacing: .1em;
	line-height: 1.3;
	margin-top: .2em;
}
#cpt1 .cpt_med .com_arw {
	font-size: min(112%,20px);
	margin: 1em auto 0;
}
#cpt1 .cpt_med > li:nth-of-type(1) a::before {border-color: #9DD3BA;}
#cpt1 .cpt_med > li:nth-of-type(2) a::before {border-color: #AA9AC1;}
#cpt1 .cpt_med > li:nth-of-type(3) a::before {border-color: #DFBB00;}
#cpt1 .cpt_med > li:nth-of-type(4) a::before {border-color: #F5A294;}#cpt1 .cpt_med > li:nth-of-type(1) a:hover {background-color: rgba(116,200,178,0.2);}
#cpt1 .cpt_med > li:nth-of-type(2) a:hover {background-color: rgba(170,154,193,0.2);}
#cpt1 .cpt_med > li:nth-of-type(3) a:hover {background-color: rgba(223,187,0,0.1);}
#cpt1 .cpt_med > li:nth-of-type(4) a:hover {background-color: rgba(245,162,148,0.1);}#cpt1 .cpt_med > li:nth-of-type(1) .com_arw {background-color: #74C8B2;}
#cpt1 .cpt_med > li:nth-of-type(2) .com_arw {background-color: #AA9AC1;}
#cpt1 .cpt_med > li:nth-of-type(3) .com_arw {background-color: #DFBB00;}
#cpt1 .cpt_med > li:nth-of-type(4) .com_arw {background-color: #F5A294;}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#cpt1 .cpt_style {
	width: 65%;
	padding-right: 3%;
	margin-left: auto;
}
#cpt1 .cpt_style dd {
	max-width: 630px;
}
/* cpt_med */
#cpt1 .cpt_med > li {
	width: 25%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* cpt_med */
#cpt1 .cpt_med dt {
	font-size: 1.6vw;
}
#cpt1 .cpt_med .ft_min {
	font-size: 2.8vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#cpt1 .cpt_inbox .box_img {
	width: 58vw;
	left: -5vw;
}
#cpt1 .cpt_index {
	padding-top: 14vw;
	translate: 5% 0;
}
#cpt1 .cpt_index .no {
	top: -8%;
}
#cpt1 .cpt_style {
	padding-right: 3vw;
}
/* cpt_med */
#cpt1 .cpt_med {
	flex-wrap: wrap;
	margin-top: 10%;
}
#cpt1 .cpt_med > li {
	width: 50%;
}
#cpt1 .cpt_med > li:nth-of-type(n+3) {
	margin-top: 6%;
}
#cpt1 .cpt_med a {
	width: 53vw;
	height: 53vw;
	font-size: 100%;
}
#cpt1 .cpt_med dt {
	font-size: 75%;
}
#cpt1 .cpt_med .ft_min {
	font-size: 150%;
}
#cpt1 .cpt_med .com_arw {
	font-size: 3vw;
}
}
/*concept:cpt2
---------------------------------------------------------*/
#cpt2 {
	padding: 80px 0;
	background-color: #FCF9F5;
}
#cpt2 .cpt_index {
	margin-left: 4%;
}
#cpt2 .cpt_inbox .box_img {
	max-width: 808px;
}
#cpt2 .cpt_style {
	background-color: #FCF9F5;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#cpt2 .cpt_inbox .box_img {
	width: 58%;
	right: -4.5%;
	top: -2%;
}
#cpt2 .cpt_style {
	width: 59%;
}
#cpt2 .com_btnlist {
	flex-wrap: nowrap;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#cpt2 {
	padding: 8% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {#cpt2 {
	position: relative;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
	box-sizing: border-box;
	padding: 12% 5% 10%;
}
#cpt2 .cpt_inbox .box_img {
	position: relative;
	width: 100%;
}
#cpt2 .cpt_index {
	padding-left: 5%;
}
#cpt2 .cpt_style {
	padding: 0;
}
}
/*concept:cpt3
---------------------------------------------------------*/
#cpt3 .cpt_inbox .box_img {
	max-width: 673px;
	left: -5.6%;
	top: -2%;
}
#cpt3 .cpt_inbox .box_img img {
	border-radius: 50%;
}
#cpt3 .cpt_index {
	margin-left: auto;
}
/* col3 */
#cpt3 .col3 li {
	position: relative;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	border-radius: 1em;
	padding: 56% 1.5% 25px;
	filter: drop-shadow(0 0 8px rgba(0,0,0,0.2));
}
#cpt3 .col3 .abs {
	position: absolute;
	width: 65%;
	max-width: 200px;
	top: 0;
}
#cpt3 .col3 p {
	color: #FFF;
	font-size: min(2.3vw,150%);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.3;
	text-shadow: 0 0 10px rgba(0,0,0,0.3);
}
#cpt3 .col3 .com_btn1 {
	margin-top: 1em;
}
#cpt3 .col3 .com_btn1 a {
	min-width: max-content;
	color: inherit;
	font-size: 100%;
	background-color: #fff;
}
#cpt3 .col3 > li:hover .com_btn1 a {
	color: #FFF;
	background-color: #492922;
}
#cpt3 .col3 li:nth-of-type(1) {background-image: url(../images/top/cpt3_col_bg1@2x.jpg);}
#cpt3 .col3 li:nth-of-type(2) {background-image: url(../images/top/cpt3_col_bg2@2x.jpg);}
#cpt3 .col3 li:nth-of-type(3) {background-image: url(../images/top/cpt3_col_bg3@2x.jpg);}#cpt3 .col3 li:nth-of-type(1) .abs {
	left: 0;
	translate: -32.5% 0;
}
#cpt3 .col3 li:nth-of-type(2) .abs {
	right: 0;
	translate: 9% -10%;
}
#cpt3 .col3 li:nth-of-type(3) .abs {
	right: 0;
	translate: 27.5% 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#cpt3 .cpt_inbox .box_img {
	width: 49%;
}
#cpt3 .cpt_style {
	width: 65%;
	max-width: 900px;
	padding-right: 3%;
	margin-left: auto;
}
#cpt3 .col3 {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3, 32.2%);
	max-width: 964px;
	margin-left: auto;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#cpt3 .cpt_inbox .box_img {
	width: 56vw;
	left: -2vw;
}
#cpt3 .cpt_index {
	padding-top: 16vw;
	translate: 20% 0;
}
#cpt3 .cpt_style {
	width: 94%;
	padding-right: 2vw;
	margin-left: auto;
}
/* col3 */
#cpt3 .col3 li {
	width: 92%;
	padding: 1.5em 3%;
}
#cpt3 .col3 li:nth-of-type(odd) {
	padding-left: 35%;
	margin-left: auto;
}
#cpt3 .col3 li:nth-of-type(even) {
	padding-right: 35%;
}
#cpt3 .col3 li:nth-of-type(n+2) {
	margin-top: 5%;
}
#cpt3 .col3 .abs {
	width: 45%;
}
#cpt3 .col3 p {
	font-size: 95%;
}
#cpt3 .col3 .com_btn1 a {
	font-size: 85%;
}
#cpt3 .col3 li:nth-of-type(1) {background-image: url(../images/top/cpt3_col_bg1_sp@2x.jpg);}
#cpt3 .col3 li:nth-of-type(2) {background-image: url(../images/top/cpt3_col_bg2_sp@2x.jpg);}
#cpt3 .col3 li:nth-of-type(3) {background-image: url(../images/top/cpt3_col_bg3_sp@2x.jpg);}#cpt3 .col3 li:nth-of-type(1) .abs {
	left: 0;
	translate: -45% -20%;
}
#cpt3 .col3 li:nth-of-type(2) .abs {
	right: 0;
	translate: 45% -5%;
}
#cpt3 .col3 li:nth-of-type(3) .abs {
	left: 0;
	right: auto;
	translate: -35% 0;
}
}
/*---------------------------------------------------------
clinic
---------------------------------------------------------*/
#clinic {
	position: relative;
	background: #F2EEDC url(../images/top/cln_bg@2x.jpg) no-repeat center top;
	background-size: contain;
	padding: 130px 0 80px;
}
#clinic::before {
	position: absolute;
	content: "";
	background: url(../images/common/shadow@2x.png) no-repeat center top;
	background-size: 84% auto;
	width: 100%;
	height: 106px;
	left: 0;
	top: 0;
}
#clinic .cln_title {
	text-align: center;
	color: #FFF;
}
#clinic .cln_title .ft_jos {
	font-size: 143%;
	letter-spacing: .15em;
	line-height: 1;
	margin-bottom: 1em;
}
#clinic .cln_title .ft_min {
	font-size: min(5vw,350%);
	letter-spacing: .13em;
	line-height: 1.4;
	margin-bottom: .5em;
	text-shadow: 0 0 10px rgba(0,0,0,0.4);
}
#clinic .slide_area {
	position: relative;
}
#clinic .com_ccl_link {
    position: absolute;
	left: 80%;
	bottom: 0;
	translate: -50% 52%;
	z-index: 1;
}
/* cln_point */
.cln_point {
	max-width: 1127px;
	margin: 50px auto 20px;
}
.cln_point ul {
	justify-content: space-between;
}
.cln_point li {
	width: 23% !important;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.15));
	transition: translate .5s;
	translate: none;
	cursor: pointer;
}
.cln_point li[class$="-thumb-active"] {
	translate: 0 -10%;
}
/* cln_slider */
.cln_slider {
	max-width: 936px;
	margin-left: auto;
	margin-right: auto;
}
.cln_slider li {
	position: relative;
	transition: scale .8s;
}
.cln_slider li::before {
	position: absolute;
	content: "";
	background: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0));
	width: 100%;
	height: 24%;
	left: 0;
	bottom: 0;
}
.cln_slider li:not([class$="-active"]) {
	scale: 0.8;
}
.cln_slider .ft_min {
	position: relative;
	letter-spacing: .15em;
	line-height: 1.3;
	padding-left: .6em;
	border-left: 1px solid currentColor;
	opacity: 0;
	transition: opacity .8s;
}
.cln_slider li[class$="-active"] .ft_min {
	opacity: 1;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {#clinic .cln_title + p {
	color: #FFF;
	font-weight: bold;
	text-shadow: 0 0 10px rgba(0,0,0,0.4);
}
/* cln_slider */
.cln_slider {
	width: 63vw;
}
.cln_slider .ft_min {
	position: absolute;
	color: #FFF;
	font-size: min(2vw,125%);
	left: 2.2em;
	bottom: 1.6em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#clinic {
	padding: 12% 0 8%;
}
#clinic .cln_title + p {
	font-size: 100%;
}
/* cln_point */
.cln_point {
	margin-top: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#clinic {
	background-image: url(../images/top/cln_bg_sp@2x.jpg);
	padding: 18% 0 12%;
}
#clinic .cln_title .ft_jos {
	font-size: 105%;
}
#clinic .cln_title .ft_min {
	font-size: 160%;
}
#clinic .com_ccl_link {
	left: 78%;
	translate: -50% 30%;
}
/* cln_point */
.cln_point {
	width: 108%;
	margin: 7% auto 4% -4%;
}
.cln_point li {
	width: 24.5% !important;
}
/* cln_slider */
.cln_slider {
	width: 90vw;
}
.cln_slider li::before {
	display: none;
}
.cln_slider .ft_min {
	font-size: 90%;
	margin-top: 1.5em;
}
}
/*---------------------------------------------------------
clinic:kids_area
---------------------------------------------------------*/
#kids_area {
	width: 96%;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}
#kids_area .kids_title {
	position: relative;
	width: 50%;
	max-width: 556px;
	margin-bottom: 1.2em;
}
#kids_area .img_main {
	position: absolute;
	width: 43%;
	max-width: 600px;
	right: 0;
	top: 4%;
}
#kids_area .img_main img:first-of-type {
	border-radius: 50%;
}
#kids_area .img_main .abs {
	position: absolute;
	width: 40%;
	max-width: 207px;
	left: 12%;
	top: 10%;
	translate: -50% -50%;
}
#kids_area .point {
	position: relative;
	max-width: 351px;
}
#kids_area .box_txt {
	position: relative;
}
/* col2 */
#kids_area .col2 {
	max-width: 731px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48% 48%;
}
#kids_area .col2 .box_img {
	position: relative;
	max-width: 350px;
	margin: 0 auto;
}
#kids_area .col2 img {
	border-radius: 8.5% / 14%;
}
#kids_area .col2 .abs {
	position: absolute;
	width: 42.6%;
	max-width: 149px;
	left: 75%;
	top: 24%;
	translate: -50% -50%;
}
#kids_area .col2 p {
	text-align: center;
	font-size: min(2.2vw,156%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.3;
	margin-top: .5em;
}
#kids_area .col2 .org {
	display: block;
	font-size: 72%;
	margin-bottom: .2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {#kids_area .box_txt {
	width: 60%;
	max-width: 600px;
}
#kids_area .point {
	position: absolute;
	width: 30%;
	left: 70%;
	bottom: 0;
}
/* col2 */
#kids_area .col2 {
	width: 76%;
	margin-top: 50px;
	margin-left: -8%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* col2 */
#kids_area .col2 {
	margin-top: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#kids_area {
	width: 100%;
	padding-top: 20vw;
}
#kids_area .kids_title {
	width: 80%;
	margin-top: -23%;
}
#kids_area .img_main {
	width: 60%;
	right: -3%;
	top: 50vw;
}
#kids_area .img_main .abs {
	width: 50%;
	left: 70%;
	top: -6.7%;
	rotate: 30deg;
}
#kids_area .box_txt {
	width: 70%;
	font-size: 90%;
}
#kids_area .point {
	width: 52%;
	margin-top: 5%;
	margin-left: 4%;
}
/* col2 */
#kids_area .col2 {
	margin-top: 8%;
}
#kids_area .col2 .abs {
	width: 55%;
}
#kids_area .col2 p {
	font-size: 100%;
	letter-spacing: .06em;
}
}
/*---------------------------------------------------------
medical
---------------------------------------------------------*/
#medical {
	padding: 110px 0;
}
/* lead_box */
#medical .lead_box {
	max-width: 1200px;
	margin: 0 auto 50px;
}
#medical .lead_box .org {
	font-size: 125%;
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	margin-bottom: .2em;
}
#medical .lead_box .ft_min {
	font-size: min(375%,5.5vw);
	letter-spacing: .12em;
	line-height: 1.5;
	margin-bottom: .2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/* lead_box */
#medical .lead_box {
	padding: 0 3%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#medical {
	padding: 11% 0;
}
/* lead_box */
#medical .lead_box {
	margin-bottom: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical {
	padding: 14% 0;
}
/* lead_box */
#medical .lead_box {
	margin-bottom: 8%;
}
#medical .lead_box .org {
	font-size: 105%;
	letter-spacing: .08em;
}
#medical .lead_box .ft_min {
	font-size: 200%;
	letter-spacing: .12em;
}
}
/*medical:menu_list1
---------------------------------------------------------*/
#medical .menu_list1 {
	display: grid;
	justify-content: space-between;
}
#medical .menu_list1 a {
	display: block;
	text-align: center;
	font-size: min(1.35vw,100%);
	font-weight: bold;
	line-height: 1.3;
	background-color: #FCF9F5;
	box-sizing: border-box;
	padding: 1em 2% 1.5em;
	border-radius: 2em;
}
#medical .menu_list1 a:hover {
	background-color: #F9E5CB;
}
#medical .menu_list1 img {
	width: 3.78em;
}
#medical .menu_list1 a p {
	color: #DF7C00;
	font-size: 87%;
	letter-spacing: .06em;
	margin-bottom: .6em;
}
#medical .menu_list1 a div {
	font-size: min(1.65vw,143%);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#medical .menu_list1 {
	grid-template-columns: repeat(6, 15.8%);
	row-gap: 4%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#medical .menu_list1 {
	grid-template-columns: repeat(4, 24%);
	row-gap: 2%;
}
#medical .menu_list1 a {
	font-size: 1.8vw;
}
#medical .menu_list1 a div {
	font-size: 140%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical .menu_list1 {
	width: 106%;
	margin-left: -3%;
	grid-template-columns: repeat(3, 32%);
	row-gap: 2%;
	margin-bottom: 20%;
}
#medical .menu_list1 a {
	font-size: 78%;
	font-feature-settings: "halt";
	border-radius: 5vw;
	padding: .6em 2% 1.2em;
}
#medical .menu_list1 a p {
	letter-spacing: .02em;
}
#medical .menu_list1 a div {
	font-size: 120%;
}
}
/*medical:menu_list2
---------------------------------------------------------*/
#medical .menu_list2 {
	width: 80%;
	max-width: 974px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,48%);
	margin: 40px auto 0;
}
#medical .menu_list2 a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5.8em;
	text-align: center;
	font-size: min(2vw,143%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
	background-color: #FCF9F5;
	box-sizing: border-box;
	padding: 1em 2%;
	border-radius: 2em;
}
#medical .menu_list2 a p::after {
	font-family: 'fontello';
	content: '\e804';
	font-size: 90%;
	font-weight: normal;
}
#medical .menu_list2 a img {
	width: 3em;
}
#medical .menu_list2 a:hover {
	background-color: #F9E5CB;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#medical .menu_list2 a p::after {
	position: absolute;
	right: 2em;
	top: 50%;
	translate: 0 -50%;
}
#medical .menu_list2 a img {
	position: absolute;
	left: 17%;
	top: 50%;
	translate: -50% -50%
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical .menu_list2 {
	width: 100%;
	grid-template-columns: repeat(2,48%);
	margin-top: 6%;
}
#medical .menu_list2 a {
	display: block;
	height: auto;
	font-size: 100%;
	padding: 1em 2% 1.5em;
	border-radius: 1.5em;
}
#medical .menu_list2 a p::after {
	margin-left: .5em;
	margin-right: -1em;
}
}
/*---------------------------------------------------------
medical:med_pick
---------------------------------------------------------*/
#medical .med_pick_wrap > li {
	margin-bottom: 50px;
}
#medical .med_pickbox {
	position: relative;
	box-sizing: border-box;
	padding: 65px 3.5% 95px;
}
#medical .med_pickbox::before {
	position: absolute;
	content: "";
	border-radius: 2em;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	z-index: -1;
	transition: background-color .5s;
}
#medical .med_index {
	margin-bottom: 1.2em;
}
#medical .med_index .ft_jos {
	line-height: 1;
	letter-spacing: .15em;
	margin-bottom: .6em;
}
#medical .med_index .ft_min {
	position: relative;
	font-size: min(4vw,312%);
	line-height: 1.3;
	letter-spacing: .12em;
	padding-right: 1.4em;
}
#medical .med_index .com_arw {
	position: absolute;
	font-size: 30%;
	right: 0;
	top: 50%;
	translate: 0 -50%;
}
#medical .med_pickbox .box_img {
	position: relative;
	max-width: 573px;
}
/* pick_half */
#medical .pick_half .med_pickbox {
	padding: 0 7.3% 40px;
}
#medical .pick_half .med_pickbox::before {
	height: calc(100% - min(16vw,240px));
}
#medical .pick_half .med_pickbox .box_img {
	max-width: 560px;
	margin: 0 auto 2em;
}
#medical .pick_half .box_img .abs {
	position: absolute;
	width: 35%;
	max-width: 191px;
	translate: -50% -50%;
}
#medical .pick_cer .box_img .abs {
	left: 80%;
	top: 32%;
}
#medical .pick_ped .box_img .abs {
	left: 20%;
	top: 68%;
}
/* pick_ort */
#medical .med_pickbox.pick_ort::before {background-color: rgba(116,200,178,0.15);}
#medical .med_pickbox.pick_ort .med_index .ft_jos {	color: #74C8B2;}
#medical .med_pickbox.pick_ort .com_arw {background-color: #74C8B2;}
#medical .med_pickbox.pick_ort:hover::before {background-color: rgba(116,200,178,0.3);}
#medical .med_pickbox.pick_ort:hover .com_arw {background-color: #4DBA9B;}
/* pick_imp */
#medical .med_pickbox.pick_imp::before {background-color: rgba(179,154,193,0.15);}
#medical .med_pickbox.pick_imp .med_index .ft_jos {	color: #AA9AC1;}
#medical .med_pickbox.pick_imp .com_arw {background-color: #AA9AC1;}
#medical .med_pickbox.pick_imp:hover::before {background-color: rgba(179,154,193,0.3);}
#medical .med_pickbox.pick_imp:hover .com_arw {background-color: #927CB5;}
/* pick_cer */
#medical .med_pickbox.pick_cer::before {background-color: rgba(223,187,0,0.15);}
#medical .med_pickbox.pick_cer .med_index .ft_jos {	color: #DFBB00;}
#medical .med_pickbox.pick_cer .com_arw {background-color: #DFBB00;}
#medical .med_pickbox.pick_cer:hover::before {background-color: rgba(223,187,0,0.3);}
#medical .med_pickbox.pick_cer:hover .com_arw {background-color: #CCA500;}
/* pick_ped */
#medical .med_pickbox.pick_ped::before {background-color: rgba(245,162,148,0.15);}
#medical .med_pickbox.pick_ped .med_index .ft_jos {	color: #F5A294;}
#medical .med_pickbox.pick_ped .com_arw {background-color: #F5A294;}
#medical .med_pickbox.pick_ped:hover::before {background-color: rgba(245,162,148,0.3);}
#medical .med_pickbox.pick_ped:hover .com_arw {background-color: #ED7E70;}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {#medical .med_pick_wrap {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48.6% 48.6%;
}
/* pick_width */
#medical .pick_width {
	grid-column: 1 / 3;
}
#medical .pick_width .med_pickbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#medical .pick_width .med_pickbox .box_img {
	width: 46%;
}
#medical .pick_width .med_pickbox .box_txt {
	width: 50%;
}
#medical .med_pick_wrap > li:nth-of-type(even).pick_width .med_pickbox {
	flex-direction: row-reverse;
}
#medical .pick_width .med_pickbox .box_img .poi {
	position: absolute;
	width: 108%;
	max-width: 615px;
}
#medical .med_pickbox.pick_ort .box_img .poi {
	right: 0;
	top: 54%;
}
#medical .med_pickbox.pick_imp .box_img .poi {
	left: 0;
	top: 30%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#medical .med_pick_wrap > li {
	margin-bottom: 30px;
}
#medical .med_pickbox {
	padding: 6% 3.5% 9%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical .med_pick_wrap > li {
	margin-bottom: 8%;
}
#medical .med_pickbox {
	padding: 8% 6% 15%;
}
#medical .med_pickbox::before {
	border-radius: 6vw;
}
#medical .med_index {
	margin-bottom: .6em;
}
#medical .med_index .ft_jos {
	font-size: 90%;
}
#medical .med_index .ft_min {
	font-size: 180%;
}
#medical .med_pickbox .box_img {
	width: 96%;
	margin: 0 auto 7%;
}
#medical .pick_half .box_img .abs {
	width: 40%;
}
/* pick_width */
#medical .pick_width .med_pickbox .box_img .poi {
	position: relative;
	width: 108%;
	max-width: 615px;
	margin: -25% 0 -5% -8%;
}
/* pick_half */
#medical .pick_half .med_pickbox {
	padding: 0 6% 8%;
}
#medical .pick_half .med_pickbox::before {
	height: calc(100% - min(16vw,240px));
}
}
/*---------------------------------------------------------
medical:med_csl_bnr
---------------------------------------------------------*/
.med_csl_bnr {
	position: relative;
	width: 51vw;
	/* margin-top: min(-80px,-5vw); */
	translate: 0 -55%;
	z-index: 1;
}
.med_csl_bnr a {
	position: relative;
	display: block;
}
.med_csl_bnr a::before {
	position: absolute;
	content: "";
	width: 26%;
	height: 100%;
	right: 0;
	top: 0;
	clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
	transition: width .6s;
}
.med_csl_bnr a img {
	position: relative;
}
.med_csl_bnr .abs {
	position: absolute;
	width: 42.1%;
	max-width: 322px;
	bottom: 0;
}
.med_csl_bnr a:hover::before {
	width: 32%;
}
/* radi_l */
.med_csl_bnr.radi_l {
	margin-left: auto;
	margin-right: calc(50% - 50vw);
}
.med_csl_bnr.radi_l a {
	border-radius: 70px 0 0 70px;
}
.med_csl_bnr.radi_l a img {
	margin-left: 0;
}
/* radi_r */
.med_csl_bnr.radi_r {
	margin-left: calc(50% - 50vw);
}
.med_csl_bnr.radi_r a {
	border-radius: 0 70px 70px 0;
}
.med_csl_bnr.radi_r a::before {
	border-radius: inherit;
}
.med_csl_bnr.radi_r a img {
	margin-right: 0;
}
.med_csl_bnr.ort a {background-color: #74C8B2;}
.med_csl_bnr.imp a {background-color: #AA9AC1;}
.med_csl_bnr.ort a::before {background-color: #63B8A0;}
.med_csl_bnr.imp a::before {background-color: #9789BA;}
.med_csl_bnr.imp .abs {
	left: auto;
	right: min(80%,615px);
	bottom: 45%;
	translate: 50% 50%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_csl_bnr {
	width: 96vw;
	translate: 0 -30%;
}
}
/*---------------------------------------------------------
message
---------------------------------------------------------*/
#message {
	position: relative;
	padding: 140px 0 90px;
}
#message .box_txt dt {
	font-size: min(4.4vw,312%);
	letter-spacing: .12em;
	line-height: 1.6;
	margin-bottom: 1em;
}
#message .box_txt dt p {
	text-indent: -0.5em;
	margin-left: 1em;
	white-space: nowrap;
}
#message .com_meteor {
	position: relative;
	width: 8.7em;
	max-width: 434px;
	scale: -1 1;
}
/* img_area */
#message .img_area {
	position: absolute;
	background: url(../images/top/msg_bg@2x.jpg) no-repeat right center;
	background-size: contain;
	width: min(68.6vw,1028px);
	height: min(47.9vw,718px);
	right: 0;
	top: 0;
	margin-right: calc(50% - 50vw);
	z-index: -1;
}
#message .stf_prof {
	position: absolute;
	font-size: min(1.25vw,100%);
	line-height: 1.2;
	letter-spacing: .15em;
	translate: -50% -50%;
}
#message .stf_prof::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e800';
	font-weight: normal;
	background: radial-gradient(rgba(255,255,255,0), rgba(255,255,255,1) 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 1500%;
	letter-spacing: normal;
	line-height: 1;
	left: 50%;
	top: 50%;
	translate: -50% -50% 0;
}
#message .stf_prof dl {
	position: relative;
}
#message .stf_prof dt {
	position: relative;
	font-size: 87%;
	padding-left: 2em;
	margin-bottom: .4em;
	white-space: nowrap;
}
#message .stf_prof dt::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e801';
	font-weight: normal;
	color: #F29600;
	font-size: 170%;
	left: 0;
	top: 50%;
	translate: 0 -50%;
}
#message .stf_prof dd {
	font-size: 166%;
	letter-spacing: .15em;
	white-space: nowrap;
}
#message .stf_prof dd.ft_jos {
	color: #F29600;
	font-size: 93%;
	letter-spacing: .13em;
	line-height: 1;
	margin-top: .4em;
}
#message .stf_prof:nth-of-type(2) dt::before {
	content: '\e802';
	color: #F7DE03;
}
#message .stf_prof:nth-of-type(2) dd.ft_jos {
	color: #FFC000;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/*#message dl {
	max-width: 540px;
}*/
#message .box_txt dd {
	line-height: 2.8;
}
/* img_area */
#message .stf_prof:nth-of-type(1) {
	left: 90%;
	top: 29%;
}
#message .stf_prof:nth-of-type(2) {
	left: 30%;
	top: 36%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message {
	padding: 14% 0 9%;
}
#message .box_txt dd {
	line-height: 2.4;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message {
	padding: 10% 0 12%;
}
#message .box_txt dt {
	font-size: 180%;
	margin-bottom: 56vw;
}
#message .box_txt dd {
	line-height: 2;
}
/* img_area */
#message .img_area {
	background-size: 110% auto;
	width: 100vw;
	height: 80vw;
	top: 35vw;
}
#message .stf_prof {
	font-size: 60%;
}
#message .stf_prof:nth-of-type(1) {
	left: auto;
	right: 0;
	top: 65%;
}
#message .stf_prof:nth-of-type(2) {
	left: 20%;
	top: 65%;
}
}
/*---------------------------------------------------------
insta
---------------------------------------------------------*/
#insta {
	padding: 90px 0;
}
#insta .inbox {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: auto 1fr;
	column-gap: 3%;
}
#insta .com_instbtn .ft_jos {
	font-size: 243%;
}
#insta .com_instbtn .ft_jos::before {
	width: 1.1em;
	height: 1.1em;
	margin: 0 auto .5em;
} 
/* #insta .com_instbtn .ft_jos::before {
	content: '';
	color: #FFD000;
	font-size: 100%;
	margin-bottom: .8em;
} */
#insta .com_instbtn .ft_min {
	font-size: 112%;
	letter-spacing: .12em;
	line-height: 1.3;
	margin-top: .8em;
}
#insta .com_instbtn .com_arw {
	margin: 1em auto 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#insta .com_instbtn a {
	font-size: min(100%,1.2vw);
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#insta .com_instbtn .ft_jos {
	font-size: 220%;
}
#insta .com_instbtn .ft_min {
	font-size: 110%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#insta .com_instbtn a {
	display: block;
}
#insta .com_instbtn .ft_jos {
	display: block;
	font-size: 130%;
	margin-right: 0;
}
#insta .com_instbtn .ft_jos::before {
	display: block;
}
#insta .com_instbtn .ft_min {
	font-size: 80%;
}
#insta .feed_box {
	width: 250%;
}
}
/*instagram:plugin
---------------------------------------------------------*/
#sb_instagram #sbi_images .sbi_item {
	width: min(15vw,218px)!important;
	height: min(19.8vw,296px)!important;
	border-radius: 18% / 13.3%;
}
#sb_instagram #sbi_images .sbi_photo_wrap,
#sb_instagram #sbi_images .sbi_photo {
	height: 100% !important;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#sb_instagram #sbi_images {
    gap: min(50px,3.3vw) !important;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#sb_instagram #sbi_images {
    display: block !important;
    padding: 0 !important;
}
#sb_instagram #sbi_images .sbi_item {
	width: 30vw !important;
	height: 40vw!important;
	margin: 0 min(50px,3.3vw) 0 0 !important;
}
}


/*---------------------------------------------------------
recruit
---------------------------------------------------------*/
#recruit .inbox {
	position: relative;
	background-image: url(../images/common/bg_kira@2x.png), url(../images/top/rec_bg@2x.png);
	background-repeat: no-repeat;
	background-position: left -25px center, center center;
	background-size: auto 110%, cover;
	background-color: #FFF3F4;
	box-sizing: border-box;
	padding: 40px 6.5%;
	border-radius: 2.3em;
}
#recruit dl dt {
	letter-spacing: .12em;
	line-height: 1.5;
	text-indent: -0.5em;
}
#recruit .com_ccl_link {
    position: absolute;
    background-color: #FF746F;
	right: 4%;
	bottom: 0;
	translate: 0 8%;
}
#recruit .com_ccl_link:hover a {
	color: #FF746F;
}
/* img_list */
#recruit .img_list > li {
	position: absolute;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#recruit .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 28% 68%;
	padding: 40px 6.5%;
}
#recruit dl {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#recruit dl dt {
	font-size: min(4.2vw,333%);
	margin-left: .6em;
}
#recruit dl dd {
	max-height: 350px;
	padding-top: 4em;
	margin-top: auto;
}
/* img_list */
#recruit .img_list {
	position: relative;
	max-width: 824px;
	max-height: 437px;
}
#recruit .img_list > li {
	translate: -50% -50%;
}
#recruit .img_list > li:nth-of-type(1) {
	width: 37.7%;
	max-width: 310px;
	left: 18.2%;
	top: 39%;
}
#recruit .img_list > li:nth-of-type(2) {
	width: 24%;
	max-width: 138px;
	left: 19.5%;
	top: 87%;
}
#recruit .img_list > li:nth-of-type(3) {
	width: 23%;
	max-width: 150px;
	left: 68%;
	top: 20%;
}
#recruit .img_list > li:nth-of-type(4) {
	width: 36%;
	max-width: 276px;
	left: 56.7%;
	top: 61.4%;
}
#recruit .img_list > li:nth-of-type(5) {
	width: 25%;
	max-width: 170px;
	left: 90%;
	top: 39%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#recruit .inbox {
	grid-template-columns: 32% 64%;
	padding: 4% 8%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#recruit .inbox {
	background-image: url(../images/common/bg_kira@2x.png), url(../images/top/rec_bg_sp@2x.png);
	background-position: left -25px top -25px, center center;
	background-size: 84% auto, cover;
	padding: 30% 7% 10%;
	border-radius: 6vw;
}
#recruit dl dt {
	font-size: 160%;
	margin-bottom: .4em;
}
#recruit dl dd {
	max-height: 26em;
}
#recruit .com_ccl_link {
	translate: 0 15%;
}
/* img_list */
#recruit .img_list {
	margin-top: 6%;
}
#recruit .img_list > li:nth-of-type(1) {
	width: 30vw;
	right: 3%;
	top: 0;
	translate: 0 -35%;
}
#recruit .img_list > li:nth-of-type(2) {
	position: relative;
	width: 20vw;
	translate: -55% 0;
}
#recruit .img_list > li:nth-of-type(3) {
	width: 16.4vw;
	left: 45%;
	top: 5vw;
	translate: -50% 0;
}
#recruit .img_list > li:nth-of-type(4) {
	position: relative;
	width: 36vw;
	margin-top: -10%;
	margin-left: 16%;
}
#recruit .img_list > li:nth-of-type(5) {
	width: 23vw;
	right: 0;
	top: 24vw;
	translate: 20% 0;
}
}
/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}
/*