@charset "UTF-8";

/*---------------------------------------------------------
header
---------------------------------------------------------*/
header {
	position: absolute;
	left: 0;
	top: 0;
}
header .com_logo .radi {
	background-color: #FFF;
}

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
	min-height: min(calc(100vw * 0.7), 1004px);
}
.m_img_area::after {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0));
	width: 100%;
	height: 220px;
	left: 0;
	top: 0;
}
.m_img {
	width: 100%;
	height: 100%;
}
.m_img::before {
	left: -10%;
}
.m_img::after {
	left: 60%;
	translate: none;
}
/* m_copy */
.m_img .m_copy {
	position: absolute;
	max-width: max-content;
	width: 60%;
	left: 7%;
	top: 50%;
	translate: 0 -50%;
	z-index: 1;
}
.m_img .m_copy p {
	color: #FFF;
	font-size: min(181%,2.6vw);
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-left: 2em;
	text-shadow: 0 0 8px rgba(0,0,0,0.4);
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	height: 100svh;
	min-height: calc(100vw * 1.5);
}
.m_img::before {
	left: -15%;
}
.m_img::after {
	left: 30%;
	bottom: 5%;
}
/* m_copy */
.m_img .m_copy {
	width: 80%;
	left: 1%;
	top: 38%;
	z-index: inherit;
}
.m_img .m_copy p {
	font-size: 4.5vw;
	margin-left: 1em;
}
}
/*m_img:m_slider
---------------------------------------------------------*/
.m_slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
}
.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");}

/* pagination */
.m_slider .swiper-pagination-bullets {
	position: absolute;
    bottom: auto;
    top: 50%;
    left: auto;
	right: 3%;
    width: 8px;
}
.m_slider .swiper-pagination-bullet {
    background: #FFF !important;
    opacity: 1;
	transition: opacity 0.4s;
}
.m_slider .swiper-pagination-bullet-active {
    opacity: 0.4;
}
/* 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");}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* pagination */
.m_slider .swiper-pagination-bullets {
	right: 5%;
	top: 25%;
}
}


/*---------------------------------------------------------
com_grdarea
---------------------------------------------------------*/
.com_grdarea {
	padding: min(145px,10vw) 2.5% 0;
	margin-top: max(-340px,-23vw);
}
.com_grdarea::before {
	height: calc(100% - 100px);
	background-image: linear-gradient(125deg, rgba(240,119,139,0.6) 4%, rgba(255,244,178,0.6) 30%, rgba(124,200,230,0.5) 38%, rgba(198,255,222,0.5) 62%, rgba(203,255,198,0.5) 70%, rgba(206,175,227,0.5) 96%);
	background-size: 300% 300%;
}
.m_img_area:has([class$="-active"]) + main .com_grdarea::before,
.m_img_area:has(.swiper-slide-active) + main .com_grdarea::before {
	background-position: 0% 0%;
}
.m_img_area:has(.slide2[class$="-active"]) + main .com_grdarea::before,
.m_img_area:has(.slide2.swiper-slide-active) + main .com_grdarea::before {
	background-position: 50% 50%;
}
.m_img_area:has(.slide3[class$="-active"]) + main .com_grdarea::before,
.m_img_area:has(.slide3.swiper-slide-active) + main .com_grdarea::before {
	background-position: 100% 100%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_grdarea {
	padding: 14vw 0 0;
	margin-top: -57vw;
}
.com_grdarea::before {
	height: calc(100% - 30vw);
}
}


/*---------------------------------------------------------
message
---------------------------------------------------------*/
#message {
	position: relative;
}
#message::before {
	position: absolute;
	content: "";
	background: url(../images/top/msg_bg1@2x.jpg) no-repeat right top;
	background-size: contain;
	width: 51vw;
	height: 38vw;
	right: 0;
	top: 0;
	margin-right: calc(50% - 50vw);
	z-index: -1;
}
#message .com_deco_txt {
	color: rgba(255,255,255,0.6);
	margin-bottom: .2em;
}
#message .msg_wrap {
	position: relative;
}
#message .box_img {
	max-width: max-content;
}
#message .msg_copy {
	position: relative;
	font-size: min(3.4vw,251%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6;
	margin-bottom: .4em;
}
#message .msg_copy img {
	width: 11.2em;
	margin-top: .5em;
}
#message .msg_copy span {
	display: block;
	text-align: right;
	font-size: 118%;
}
#message .msg_copy + dd {
	line-height: 2.7;
}
#message .sign {
	text-align: right;
	font-size: min(3vw,204%);
	font-weight: bold;
	letter-spacing: .14em;
	line-height: 1.6;
	margin-top: .8em;
}
#message .sign span {
	font-size: 55%;
	vertical-align: 0.2em;
	margin-right: .8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#message .msg_wrap {
	display: flex;
	justify-content: space-between;
}
#message .box_img {
	width: 43%;
	margin-left: -13%;
}
#message dl {
	width: 66%;
	margin-top: 3%;
}
#message .msg_copy span {
	margin-right: 1em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message::before {
	width: 70vw;
	height: 52vw;
}
#message .msg_wrap {
	padding-top: 10%;
}
#message .box_img {
	position: absolute;
	width: 34vw;
	left: 0;
	top: 0;
	margin-left: calc(50% - 50vw);
}
#message .msg_copy {
	width: 80%;
	font-size: 130%;
	letter-spacing: .08em;
	margin-left: auto;
}
#message .msg_copy + dd {
	line-height: 2;
}
#message .sign {
	font-size: 130%;
	margin-top: 0;
}
}


/*---------------------------------------------------------
lookfor
---------------------------------------------------------*/
#lookfor {
	padding: 0 0 2.5em;
	border-top: 2px solid rgba(255,255,255,0.8);
	border-bottom: 2px solid rgba(255,255,255,0.8);
	margin-top: 6.6%;
}
#lookfor::before {
	position: absolute;
	content: "";
	background: url(../images/top/msg_bg2@2x.jpg) no-repeat left bottom;
	background-size: contain;
	width: min(70vw);
	height: min(60vw,900px);
	left: 0;
	bottom: -50px;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
#lookfor dt {
	text-align: center;
	position: relative;
	font-size: min(2.4vw,187%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	margin-top: -0.9em;
	margin-bottom: 1.5em;
}
#lookfor dt::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: .64em;
	height: .64em;
	left: 50%;
	top: calc(100% - 1px);
	translate: -50% 0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#lookfor dt span {
	display: block;
	position: relative;
	max-width: max-content;
	background-color: #fff;
	padding: .2em 2em;
	border-radius: .6em;
	margin: 0 auto;
}
#lookfor dt span::before {
	display: inline-block;
	content: "";
	background: url(../images/top/check.svg) no-repeat;
	background-size: contain;
	width: 1.12em;
	height: 1em;
	vertical-align: -0.1em;
	margin-right: .5em;
}
#lookfor dt span::after {
	position: absolute;
	content: "";
	background: url(../images/top/accent.svg) no-repeat;
	background-size: contain;
	width: .5em;
	height: .6em;
	left: -0.4em;
	top: -0.4em;
}
#lookfor ul {
	display: flex;
	justify-content: center;
	width: 90%;
	max-width: 810px;
	margin: 0 auto;
}
#lookfor ul > li {
	width: 28.4%;
	margin: 0 2.4%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#lookfor::before {
	bottom: 15vw;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#lookfor {
	padding-bottom: 8%;
	margin-top: 20%;
}
#lookfor::before {
	width: 90vw;
	height: 70vw;
	bottom: 75%;
}
#lookfor dt {
	font-size: 110%;
	letter-spacing: .1em;
}
#lookfor dt span {
	padding: .2em 1.6em;
}
#lookfor ul {
	width: 100%;
	flex-wrap: wrap;
}
#lookfor ul > li {
	width: 42%;
}
}


/*---------------------------------------------------------
group
---------------------------------------------------------*/
#group {
	width: 90%;
	max-width: 964px;
}
#group .tit_area p {
	font-size: min(2vw,131%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	margin-right: 2em;
}
#group .com_deco_txt {
	text-align: left;
	color: rgba(255,255,255,0.6);
}
#group .cln_list p {
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	margin-top: .5em;
}
#group .cln_list p::before {
	display: inline-block;
	content: "";
	background: url(../images/common/icon_logo.svg) no-repeat;
	background-size: contain;
	width: .94em;
	height: .94em;
	vertical-align: -0.05em;
	margin-right: .5em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#group .com_deco_txt {
	font-size: min(5vw,4.06rem);
	margin-bottom: 0;
}
#group .tit_area {
	display: flex;
	align-items: flex-end;
	margin-bottom: 3em;
}
#group .tit_area .com_btn1 {
	margin-top: 0;
}
#group .cln_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,47.5%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#group {
	width: 85%;
}
#group .tit_area {
	margin-bottom: 1.5em;
}
#group .tit_area p {
	font-size: 105%;
	letter-spacing: .06em;
	margin-right: 2em;
}
#group .com_deco_txt {
	font-size: 200%;
}
#group .cln_list > li:nth-of-type(n+2) {
	margin-top: 8%;
}
#group .cln_list p {
	font-size: 90%;
	letter-spacing: .1em;
}
#group .tit_area .com_btn1 {
	text-align: right;
	margin-top: .6em;
}
}


/*---------------------------------------------------------
workstyle
---------------------------------------------------------*/
/* ws_title */
#workstyle .ws_title {
	position: relative;
	text-align: center;
	font-size: min(3.4vw,250%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6;
	background-color: #fff;
	border-bottom-left-radius: 2em;
	border-bottom-right-radius: 2em;
	padding: 3em 0 1.2em;
	box-shadow: 0 80px 60px -60px rgba(0,0,0,0.1);
}
#workstyle .ws_title img {
	width: 21.9em;
}
#workstyle .ws_title::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 1.2em;
	height: .9em;
	left: 50%;
	top: calc(100% - 1px);
	translate: -50% 0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
/* bg_grd */
#workstyle .bg_grd {
	position: relative;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 44% auto;
	padding: 100px 3%;
}
#workstyle .bg_grd:nth-of-type(odd) {	background-position: right bottom;}

#workstyle .bg_grd::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#workstyle .bg_grd::after {
	position: absolute;
	content: "";
	width: 38%;
	height: 50%;
	right: 0;
	bottom: 0;
	opacity: 0.5;
	z-index: -1;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

/* bg_grd */
#workstyle .bg_grd {
	padding: 8% 3%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* ws_title */
#workstyle .ws_title {
	font-size: 115%;
}
/* bg_grd */
#workstyle .bg_grd {
	background-size: 52% auto;
	background-position: right top;
	padding: 12% 3%;
}
#workstyle .bg_grd:nth-of-type(odd) {	background-position: left top;}

#workstyle .bg_grd::after {
	width: 100%;
}
}
/*workstyle:ws_inbox
---------------------------------------------------------*/
.ws_index {
	position: relative;
	font-size: min(2vw,168%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2;
}
.ws_index img {
	width: 9.5em;
}
.ws_index .ft_jos {
	display: block;
	color: #FFF;
	font-size: 233%;
	letter-spacing: .05em;
	margin-bottom: .2em;

	background: linear-gradient(45deg, #ffffac, #FFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	opacity: 0.7;
}
.ws_index::before {
	position: absolute;
	content: "";
	background-color: rgba(255,253,190,0.5);
	width: 17.2em;
	height: 17.2em;
	border-radius: 50%;
	filter: blur(2em);
	left: 0;
	top: 50%;
	translate: 0 -50%;
	z-index: -1;
}
/* ws_list */
.ws_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3,32.6%);
}
.ws_list > li {
	text-align: center;
	background-color: #fff;
	padding: 2.5em 6% 1.5em;
	border-radius: 2em;
}
.ws_list .icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 70%;
	max-width: 197px;
	aspect-ratio: 1;
	border-radius: 50%;
	margin: 0 auto 1em;
}
.ws_list .icon p {
	color: #FFF;
	font-size: min(1.4vw,128%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4;
	white-space: nowrap;
}
.ws_list .icon p > span {
	display: block;
	font-size: 130%;
}
.ws_list .icon p .ft_pos {
	color: #ffe780;
	font-size: 193%;
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: .02em;
	vertical-align: -0.06em;
}
.ws_list .fw_bold {
	font-size: min(2.2vw,187%);
	letter-spacing: .1em;
	line-height: 1.2;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.ws_list dd {
	line-height: 1.5;
	font-feature-settings: "halt";
	margin-top: .5em;
}
/* benefit */
#workstyle .bg_grd.benefit {background-image: url(../images/top/ws_bg1@2x.png);}
#workstyle .bg_grd.benefit::before {
	background: linear-gradient(90deg, rgba(255,208,217,1) 0%, rgba(255,225,170,1) 60%, rgba(255,236,141,1) 100%);
	height: calc(100% + 110px);
}
#workstyle .bg_grd.benefit::after {
	background : linear-gradient(135deg, rgba(255, 255, 255, 0) 42.64%, rgba(255, 249, 255, 0.15) 51.18%, rgba(255, 232, 255, 0.35) 62.73%, rgba(255, 203, 255, 0.58) 76%, rgba(255, 164, 255, 0.83) 90.45%, rgba(255, 134, 255, 1) 100%);
}
#workstyle .benefit .ws_list > li:nth-of-type(odd) .icon {background-color: #ff93ba;}
#workstyle .benefit .ws_list > li:nth-of-type(even) .icon {background-color: #e190db;}
#workstyle .bg_grd.benefit .ws_index {
	text-align: right;
}
/* worth */
#workstyle .bg_grd.worth {	background-image: url(../images/top/ws_bg2@2x.png);}
#workstyle .bg_grd.worth::before {background:linear-gradient(90deg, rgba(140,235,196,1) 0%, rgba(143,230,252,1)100%);}
#workstyle .bg_grd.worth::after {
	background: linear-gradient(225deg, rgba(255, 255, 255, 0) 36.21%, rgba(254, 255, 250, 0.12) 43.64%, rgba(253, 254, 236, 0.26) 52.48%, rgba(250, 254, 212, 0.4) 62.04%, rgba(245, 252, 178, 0.56) 72.12%, rgba(240, 251, 135, 0.73) 82.6%, rgba(234, 249, 83, 0.89) 93.25%, rgba(229, 248, 46, 1) 100%);
	right: auto;
	left: 0;
}
#workstyle .bg_grd.worth .ws_index::before {
	background-color: rgba(208,255,238,0.6);
	left: auto;
	right: 0;
}
#workstyle .worth .ws_list > li:nth-of-type(odd) .icon {background-color: #55e1bf;}
#workstyle .worth .ws_list > li:nth-of-type(even) .icon {background-color: #52c9d7;}

#workstyle .ws_list .icon.equipment img {
	width: 127%;
	max-width: max-content;
	margin-left: -13.5%;
	translate: 0 5%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.ws_inbox {
	max-width: 1300px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	grid-template-columns: 23% 74%;
	margin: 0 auto;
}
.ws_index {	width: 23%;}
.ws_list {	width: 74%;}

.ws_list > li:nth-of-type(n+4) {
	margin-top: 3%;
}
.ws_list dd {
    word-break: keep-all;
    overflow-wrap: break-word;
}
/* benefit */
#workstyle .bg_grd.benefit .ws_index img {
	margin-right: 0;
}
#workstyle .bg_grd.benefit .ws_index .ft_jos {
	translate: -0.6em 0;
}
/* worth */
#workstyle .bg_grd.worth .ws_inbox {
	flex-direction: row-reverse;
}
#workstyle .bg_grd.worth .ws_index img {
	margin-left: 0;
}
#workstyle .bg_grd.worth .ws_index .ft_jos {
	translate: 0.6em 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.ws_index {
	/* display: flex; */
	font-size: 95%;
	padding-top: 1.2em;
	margin: 0 6% 6%;
}
.ws_index img {
	position: absolute;
	top: 0;
}
/* ws_list */
.ws_list {
	grid-template-columns: repeat(2,49.2%);
}
.ws_list > li {
	padding: 1.2em 5% 1.5em;
	border-radius: 4.3vw;
}
.ws_list > li:nth-of-type(n+3) {
	margin-top: 3%;
}
.ws_list .icon p {
	font-size: 3vw;
}
.ws_list .fw_bold {
	font-size: 105%;
	letter-spacing: .08em;
}
.ws_list dd {
	font-size: 90%;
}

/* benefit */
#workstyle .bg_grd.benefit {background-image: url(../images/top/ws_bg1_sp@2x.png);}
/* worth */
#workstyle .bg_grd.worth {	background-image: url(../images/top/ws_bg2_sp@2x.png);}
#workstyle .bg_grd.worth .ws_index img {
	right: 0;
}
}


/*---------------------------------------------------------
better
---------------------------------------------------------*/
#better .bg {
	position: relative;
	text-align: center;
	background: linear-gradient(to top, rgba(255,255,255,1),rgba(255,255,255,0));
	background-repeat: no-repeat;
	background-position: left bottom -1px;
	background-size: 100% 50%;
	padding: 75px 0 50px;
}
#better .bg::before {
	position: absolute;
	content: "";
	background: url(../images/top/ws_bg3@2x.jpg) no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#better .com_deco_txt {
	background: linear-gradient(45deg, #ffffac, #FFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	opacity: 0.7;
}
#better p {
	font-size: 131%;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.5;
	text-shadow: 0 0 10px rgba(255,255,255,0.5);
	margin-bottom: 1em;
}
/* ws_slider */
.ws_slider li {
	max-width: max-content;
	margin-right: min(2.4vw,36px);
}
.ws_slider li.size1 {width: 22.9vw;}
.ws_slider li.size1 img {border-radius: 9.6% / 11.2%;}
.ws_slider li.size2 {width: 17.9vw;}
.ws_slider li.size2 img {border-radius: 12.3% / 10.3%;}
.ws_slider li.size3 {width: 28.8vw;}
.ws_slider li.size3 img {border-radius: 7.6% / 11.2%;}

.ws_slider li.slide1,
.ws_slider li.slide3,
.ws_slider li.slide5,
.ws_slider li.slide7 {
	margin-top: min(12vw,180px);
}
.ws_slider li.slide2,
.ws_slider li.slide6 {
	margin-top: min(4vw,60px);
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#better .bg {
	padding: 7% 0 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#better .bg {
	padding: 10% 0 8%;
}
#better p {
	font-size: 105%;
	letter-spacing: .08em;
}
/* ws_slider */
.ws_slider li {
	max-width: max-content;
	margin-right: min(2.4vw,36px);
}
.ws_slider li.size1 {width: 40vw;}
.ws_slider li.size2 {width: 30vw;}
.ws_slider li.size3 {width: 52vw;}
}


/*---------------------------------------------------------
routine
---------------------------------------------------------*/
#routine .com_title1 {
	font-size: min(4vw,281%);
	margin-bottom: 1.8em;
}
#routine .com_title1::before {
	display: block;
	content: "";
	background: url(../images/top/rou_icon.svg) no-repeat;
	width: 1.68em;
	height: 1.68em;
	margin: 0 auto .2em;
}
#routine .com_deco_txt {
	margin-top: -0.5em;
	margin-bottom: 0;
	z-index: -1;
}
/* rtn_box */
#routine .rtn_box {
	position: relative;
	background-color: #E2F0FF;
	padding: 0 3.4% 45px;
	margin-bottom: 85px;
}
#routine .rtn_box:last-of-type {
	margin-bottom: 0;
}
#routine .bubble {
	position: relative;
	width: 13em;
	text-align: center;
    position: relative;
    font-size: min(2.4vw, 187%);
    font-weight: bold;
    letter-spacing: .08em;
    line-height: 1.4;
	background-color: #fff;
	padding: .3em 0;
	border-radius: .6em;
	margin: 0 auto;
	translate: 0 -50%;
	box-shadow: 0 0 15px rgba(0,0,0,0.05);
}
#routine .bubble::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: .64em;
	height: .64em;
	left: 50%;
	top: calc(100% - 1px);
	translate: -50% 0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
/* ama */
#routine .rtn_box.ama {
	background-color: #E5F8F6;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* rtn_box */
#routine .rtn_box {
	padding: 0 3.4% 4%;
	margin-bottom: 8%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#routine .com_title1 {
	font-size: 140%;
}
/* rtn_box */
#routine .rtn_box {
	padding: 0 6% 8%;
	margin-bottom: 12%;
}
#routine .bubble {
    font-size: 120%;
}
}
/*routine:rtn_list
---------------------------------------------------------*/
.rtn_list {
	position: relative;
	display: flex;
}
.rtn_list::before {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 90%;
	height: 2px;
	left: 5%;
	top: min(10.5vw,145px);
}
.rtn_list > li {
	position: relative;
	width: 10%;
	padding-top: 5.8%;
	margin-left: 2.5%;
}
.rtn_list > li:nth-last-of-type(-n+3) {
	margin-left: 11.25%;
}
.rtn_list > li:first-of-type {
	margin-left: 0;
}
.rtn_list .com_ccl_txt {
	color: #FFF;
	font-size: min(1.1vw,89%);
	background-color: #59B5FF;
	border: .4em solid #E2F0FF;
	margin: 0 auto 1em;
}
.rtn_list .com_ccl_txt span {
	font-size: 216%;
	font-family: "postea-variable", sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: .05em;
	line-height: 1.1;
}
.rtn_list .abs_img {
	position: absolute;
	width: 127%;
	max-width: max-content;
	left: 50%;
	top: 0;
	translate: -50% 0;
}
.rtn_list .abs_txt {
	position: absolute;
	width: 92%;
	max-width: max-content;
	left: 55%;
	top: 0;
	translate: -50% 80%;
}
.rtn_list .do {
	text-align: center;
	font-size: min(2vw,162%);
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.4;
	white-space: nowrap;
}
.rtn_list .do + p {
	position: relative;
	width: 210%;
	line-height: 1.5;
	font-feature-settings: "palt";
	margin-top: 1em;
}
.rtn_list > li:nth-of-type(1) .com_ccl_txt {
	padding-top: .5em;
}
.rtn_list > li:nth-of-type(4) .do + p {
	left: 50%;
	translate: -50% 0;
}
.rtn_list > li:nth-of-type(5) .do + p {
	left: 50%;
}
/* nagoya */
.rtn_box.nagoya .rtn_list > li:nth-of-type(3) .abs_img {
	left: 40%;
}
.rtn_box.nagoya .rtn_list > li:nth-of-type(4) .abs_img {
	translate: -50% 10%;
}
.rtn_box.nagoya .rtn_list > li:nth-of-type(5) .abs_img {
	left: 40%;
}
/* ama */
.rtn_box.ama .rtn_list .com_ccl_txt {
	background-color: #53DFD1;
	border-color: #E5F8F6;
}
.rtn_box.ama .rtn_list > li:nth-of-type(3) .abs_img {
	left: 90%;
}
.rtn_box.ama .rtn_list > li:nth-of-type(4) .abs_img {
	left: 80%;
	translate: -50% 10%;
}
.rtn_box.ama .rtn_list > li:nth-of-type(5) .abs_img {
	left: 110%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rtn_list {
	width: 220%;
}
.rtn_list::before {
	top: 20vw;
}
.rtn_list .com_ccl_txt {
	font-size: 50%
}
.rtn_list .do {
	font-size: 90%;
}
.rtn_list .do + p {
	width: 220%;
	font-size: 80%;
}
}


/*---------------------------------------------------------
interview
---------------------------------------------------------*/
#interview .bg {
	position: relative;
	padding: 60px 0 0;
}
#interview .bg::before {
	position: absolute;
	content: "";
	background-color: #f6f1c9;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -1;
}
#interview .bg::after {
	position: sticky;
	display: block;
	content: "";
	background: linear-gradient(to top, #f6f1c9 20%, transparent);
	width: 100vw;
	height: 120px;
	left: 0;
	bottom: 0;
}
#interview .int_title {
	position: relative;
	width: 40%;
	max-width: max-content;
	margin-bottom: 4%;
}
#interview .int_title img {
	position: relative;
	margin-left: 3%;
}
#interview .int_title .com_deco_txt {
	position: absolute;
	font-size: min(6vw,4.37rem);
	left: 90%;
	bottom: -0.1em;
}
#interview .int_title .com_deco_txt span {
	position: relative;
	background: linear-gradient(45deg, #ffff99 16%, #FFF 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#interview .int_title .com_deco_txt::before {
	position: absolute;
	content: "";
	background-color: rgba(255,148,166,0.3);
	width: 4.6em;
	height: 4.6em;
	border-radius: 50%;
	filter: blur(.6em);
	left: 50%;
	top: 35%;
	translate: -50% -50%;
}
/* slide */
.slide_wrap {
	position: absolute;
	height: 100%;
	overflow: clip;
	right: 0;
	top: 0;
	z-index: -1;
}
.int_slider {
	position: sticky;
	height: 100vh;
	max-height: 100%;
	right: 0;
	top: 0;
}
.int_slider .swiper-wrapper {
	transition-timing-function: linear;
}
.int_slider li {
	width: 31vw;
	height: 24.5vw;
    max-width: max-content;
    max-height: max-content;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#interview .bg {
	padding-top: 6%;
}
#interview .bg::after {
	height: 80px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#interview .bg {
	padding-top: 8%;
}
#interview .bg::after {
	height: 15vw;
}
#interview .int_title {
	width: 68%;
	margin-bottom: 6%;
}
#interview .int_title .com_deco_txt::before {
	background-color: rgba(255,244,178,0.6);
	width: 4.6em;
	height: 4.6em;
	filter: blur(.4em);
	left: 40%;
	top: -15%;
	translate: none;
}
/* int_slider */
.int_slider li {
	width: 42vw;
	height: 33.5vw;
}
}
/*interview:int_box
---------------------------------------------------------*/
.int_wrap {
	width: 90%;
	max-width: 1085px;
}
.int_box {
	position: relative;
	background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0.7));
	box-sizing: border-box;
	padding: 45px 4.6% 60px;
	margin-bottom: 6.5%;
}
.int_box:last-of-type {
	margin-bottom: 0;
}
/* prof */
.int_box .prof {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.5;
	margin-bottom: 1.5em;
}
.int_box .icon {
    width: 5.7em;
	max-width: max-content;
}
.int_box .post {
    text-align: center;
	color: #FFF;
    font-size: 125%;
    letter-spacing: .16em;
	background-color: #ff988f;
    padding: .2em 1em;
    border-radius: 2em;
	margin: 0 1em;
}
.int_box .post span::after {
    display: inline-block;
	content: "";
	width: 1px;
	height: .8em;
	background-color: #fff;
	margin: auto .9em;
}
.int_box .tag {
    color: rgba(75,47,44,0.6);
	margin: 1em 0;
}
/* qa */
.int_box .qa_list {
	list-style: none;
	counter-reset: number;
}
.int_box .qa_list > li {
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 1px dashed #e4d8c3;
}
.int_box .qa_list > li:last-of-type {
	margin-bottom: 0;
}
.int_box .qa_list dt {
	position: relative;
    font-size: 106%;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.5;
	padding-left: 3.8em;
	margin-bottom: 1.5em;
}
.int_box .qa_list dt::before {
	position: absolute;
	display: block;
	counter-increment: number;
	content: 'Q' counter(number);
	color: inherit;
	font-size: 204%;
	font-family: "postea-variable", sans-serif;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1;
	left: 0;
	top: -0.2em;
}
.int_box .qa_list dd {
	font-feature-settings: "halt";
	margin-left: 4.5%;
}
.int_box .qa_list dd.fw_bold  {
	position: relative;
    font-size: min(2vw,131%);
    letter-spacing: .08em;
    line-height: 1.5;
	padding-left: 1.2em;
	margin-bottom: .5em;
}
.int_box .qa_list dd.fw_bold::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e802';
	left: 0;
	top: 0;
}
.int_box.dh .post {background-color: #ff988f;}
.int_box.dh .qa_list dt,
.int_box.dh .qa_list dd.fw_bold::before {	color: #ff988f;}

.int_box.dr .post {background-color: #2dc6c9;}
.int_box.dr .qa_list dt,
.int_box.dr .qa_list dd.fw_bold::before {	color: #2dc6c9;}

.int_box.dt .post {background-color: #71d696;}
.int_box.dt .qa_list dt,
.int_box.dt .qa_list dd.fw_bold::before {	color: #71d696;}

.int_box.da .post {background-color: #c9a0d0;}
.int_box.da .qa_list dt,
.int_box.da .qa_list dd.fw_bold::before {	color: #c9a0d0;}

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

/* qa */
.int_box .qa_list > li {
	padding-bottom: 4%;
	margin-bottom: 4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.int_wrap {
	width: 100%;
}
.int_box {
	background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0.8));
	padding: 6% 6% 10%;
	margin-bottom: 6%;
}
/* prof */
.int_box .prof {
	font-size: 75%;
    letter-spacing: .06em;
}
.int_box .icon {
    width: 4.4em;
}
.int_box .post {
    font-size: 120%;
    letter-spacing: .12em;
}
.int_box .tag {
   margin-bottom: 0;
}
/* qa */
.int_box .qa_list > li {
	padding-bottom: 6%;
	margin-bottom: 6%;
}
.int_box .qa_list dt {
    font-size: 95%;
    letter-spacing: .08em;
	padding-left: 3em;
	margin-bottom: 1.2em;
}
.int_box .qa_list dt::before {
	font-size: 160%;
	top: -0.1em;
}
.int_box .qa_list dd {
	font-size: 88%;
	line-height: 1.6;
	margin-left: 1%;
}
.int_box .qa_list dd.fw_bold  {
    font-size: 105%;
    letter-spacing: .04em;
}
}



/*---------------------------------------------------------
information
---------------------------------------------------------*/
#information .col_tel,
#information .btn_site {
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
	font-style: italic;
}
#information .col_line,
#information .col_web {
	display: none;
}
#information .map_link a,
.com_information .map_link a {
	padding-right: 1.2em;
}
#information .map_link a::before,
.com_information .map_link a::before {
	font-family: 'fontello';
	content: '\e800';
	font-size: 90%;
	background: none;
	line-height: 1.1;
}
#information .swip_ticker {
	position: relative;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
	margin-top: 60px;
}
#information .swip_ticker li {
	width: 36.7vw;
	max-width: max-content;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#information .box .com_contact .col_tel,
.com_information .box .com_contact .col_tel {
	width: 70%;
	margin-bottom: 0;
}
#information .swip_ticker {
	margin-top: 10%;
}
#information .swip_ticker li {
	width: 60vw;
}
}
/*information:tour_box
---------------------------------------------------------*/
/* tour_box */
#information .tour_box {
	position: relative;
	max-width: 1240px;
	text-align: center;
	color: #FFF;
	background-color: #55d0e6;
	box-sizing: border-box;
	padding: 75px 5% 85px;
	margin-left: auto;
	margin-right: auto;
}
#information .tour_box::before {
	position: absolute;
	content: "";
	background: linear-gradient(45deg, rgba(255, 255, 255, 0) 42%, rgba(255, 254, 248, 0.13) 50%, rgba(255, 252, 229, 0.32) 60%, rgba(255, 249, 197, 0.55) 74.08%, rgba(255, 245, 154, 0.8) 88%, rgba(255, 241, 115, 1) 100%);
	background-position: right top;
	background-repeat: no-repeat;
	width: 50%;
	height: 60%;
	right: 0;
	top: 0;
	opacity: 0.5;
}
#information .tour_title {
	position: relative;
	font-size: min(281%,4vw);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	margin-bottom: .8em;
	text-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#information .tour_title::before {
	display: block;
	content: "";
	background: url(../images/top/tour_icon.svg) no-repeat;
	width: .9em;
	height: 1.36em;
	margin: 0 auto .4em;
}
#information .bubble {
	position: relative;
	color: #4b2f2c;
    font-size: min(3vw, 213%);
    font-weight: bold;
    letter-spacing: .12em;
    line-height: 1.5;
	background-color: #fff;
	padding: .8em 2em;
	border-radius: 1.2em;
	margin: 0 auto 1.2em;
}
#information .bubble::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/bbl.svg) no-repeat;
	width: 1.4em;
	height: .9em;
	right: 16%;
	top: 100%;
}
#information .bubble > span {
	position: relative;
	color: #359ec2;
}
#information .bubble > span span {
	position: relative;
}
#information .bubble > span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/underline_o.svg) no-repeat;
	width: 4.6em;
	height: .6em;
	left: 48%;
	top: 85%;
	translate: -50% 0;
}
#information .tour_box ul {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5em;
}
#information .tour_box ul > li {
	margin: 0 1%;
}
#information .tour_box .radi {
	font-size: min(130%,2vw);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	background-color: #3296af;
	padding: .4em 1em;
	margin-top: 1.5em;
	border-radius: 2em;
}
#information .tour_box .radi span {
	color: #ffe780;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

#information .tour_box ul > li:nth-of-type(odd) {
	margin-top: 2.5%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* tour_box */
#information .tour_box {
	padding: 7% 5% 8%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* tour_box */
#information .tour_box {
	padding: 8% 6% 10%;
}
#information .tour_box::before {
	width: 100%;
	background-size: 50vw 50vw;
}
#information .tour_title {
	font-size: 140%;
	letter-spacing: .08em;
}
#information .bubble {
    font-size: 110%;
    letter-spacing: .08em;
}
#information .tour_box ul {
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}
#information .tour_box ul > li {
	width: 48.5%;
	margin: 0;
}
#information .tour_box ul > li:nth-of-type(1) {
	margin: 0 26% 3%;
}
#information .tour_box ul > li:nth-of-type(2) {
	margin-right: 3%;
}
#information .tour_box .radi {
	font-size: 110%;
	letter-spacing: .05em;
	margin-top: 1em;
}
}


/*---------------------------------------------------------
guideline
---------------------------------------------------------*/
#guideline .bg {
	background: linear-gradient(180deg, rgba(246,241,201,1) 0%, rgba(255,255,255,1) 100%);
	background-size: 100% 440px;
	background-repeat: no-repeat;
	padding: 85px 0;
}
#guideline .com_deco_txt {
	color: rgba(255,255,255,0.6);
}
#guideline .com_statusbox {
	box-shadow: 0 0 15px rgba(0,0,0,0.05);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#guideline .bg {
	padding: 8% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#guideline .bg {
	padding: 10% 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) {


}


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

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

/* 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) {


}